Quick Tips: Legg Facebook Logg inn til din Android App

Quick Tips: Legg Facebook Logg inn til din Android App
68
Del
5
Del

Dette Cyber ​​mandag Envato Tuts + kurs vil bli redusert til bare $ 3. Ikke gå glipp av.

Facebook Logg tilbyr en enkel og sikker måte for folk å logge inn på en app uten å måtte gå gjennom en registreringsprosess først. Bruker den nyeste versjonen av Facebooks SDK for Android, det tar bare noen minutter å legge denne funksjonen til programmet ditt.

I denne rask spiss, vil du lære hvordan du legger til en Facebook-innloggingsknapp til en Android app og håndtere hendelser for å logge brukeren inn med Facebook Logg inn

Forutsetninger

Før du begynner, sørg for at du har tilgang til følgende:.


den nyeste versjonen av Android Studio

en Facebook-konto

1. Registrer din App

Alle programmer som bruker Facebook SDK må være registrert med Facebook. Logg deg inn på Facebook Developers nettsiden og klikker på Opprett en ny app i høyre.

Du blir presentert med et skjema som ber om navn appens Display, kl, og kategori. Skriv inn de nødvendige feltene, og klikk Opprett App ID.

I neste skjermbilde, er du i stand til å se ditt Application ID. Noterer det, fordi du vil være behov det senere i denne opplæringen.

Åpne Innstillinger fra venstre og klikk på Legg Platform knappen. Fra pop-up, velge Android.

I neste form, skriv inn navnet på pakken av programmet ditt og navnet på din aktivitet. Hvis du ikke har opprettet din app eller aktivitet ennå, må du huske verdiene du har angitt.

For å fylle i Key hashes feltet, åpner du et terminalvindu og kjøre keytool kommandoen for å generere en Nøkkelen hash bruker debug keystore ligger på ~ /.android /debug.keystore. Dette er hva kommandoen skal se ut
keytool -exportcert -alias androiddebugkey -keystore ~ ​​/.android /debug.keystore. | openssl sha1 -binary | openssl base64

Standard passord for debug keystore er android. Tast inn dette passordet når du blir bedt. Utgangen av kommandoen bør være en streng på 28 tegn. Kopiere det, gå tilbake til nettleseren din, og lim den strengen inn i Nøkkel hashes feltet som vist nedenfor.

Sørg for Single Sign On er satt til Ja, og klikk på Lagre endringer. Din app er nå registrert.

2. Legg Facebook SDK til ditt prosjekt

Facebook SDK er tilgjengelig på Maven Central. For å bruke denne depotet, redigere build.gradle filen i prosjektets app katalog og legge til følgende kode i det før listen over avhengigheter:
repositories {mavenCentral ()}

Du kan nå legge til Facebook SDK til prosjektet som en compile avhengighet. Legg til følgende kode i listen over avhengigheter:
kompilere 'com.facebook.android:facebook-android-sdk:4.0.0'
3. Opprett en aktivitet

Trinn 1: Definer Layout

Opprett en ny layout som heter main_activity.xml i res /layout. Dette kommer til å være en veldig enkel layout med bare to widgets:

a LoginButton å tillate brukeren å logge seg på Facebook

til en TextView vise resultatet av den nyeste påloggingsforsøk

Du kan plassere dem inne i en RelativeLayout. Etter inkludert attributter for padding og plassere widgets, vil oppsettet XML se omtrent slik ut:?
≪ xml version = "1.0" encoding = "UTF-8" > < RelativeLayout xmlns:? Android = "http : //schemas.android.com/apk/res/android "android: layout_width =" match_parent "android: layout_height =" match_parent "android: padding =" 16dp "> < TextView android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: id = "+ id /info" android: layout_alignParentLeft = "true" android: layout_alignParentTop = "true" android: Tekststørrelse = "18sp" /> < com.facebook.login.widget.LoginButton android: id = "+ id /login_button" android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: layout_centerInParent = "true" /> < /RelativeLayout >
Trinn 2: Lag klasse

Opprett en ny Java-klasse som strekker aktivitet og gi den navnet MainActivity.java. Husk at navnet på denne klassen og pakken at det tilhører bør matche de verdiene du skrev inn mens du registrerte din app med Facebook.

Erklærer widgets du har definert i aktiviteten layout som felt av denne klassen .
privat TextView info; privat LoginButton loginButton;

Erklærer en CallbackManager som et annet felt. Den CallbackManager, som navnet antyder, brukes til å administrere callbacks brukes i app
private CallbackManager callbackManager;.

SDK må klargjøres før du bruker noen av sine metoder. Du kan gjøre det ved å ringe sdkInitialize og bestått programmets kontekst til det. Legg til følgende kode i onCreate metode for din aktivitet:
FacebookSdk.sdkInitialize (getApplicationContext ());

Deretter initial forekomsten av CallbackManager bruke CallbackManager.Factory.create metoden
callbackManager = CallbackManager.. Factory.create ();

Ring setContentView å sette layout definert i forrige trinn som utformingen av denne aktiviteten, og deretter bruke findViewById å initialisere widgets
setContentView (R.layout.main_activity);. info = ( TextView) findViewById (R.id.info); loginButton = (LoginButton) findViewById (R.id.login_button);

Det er på tide å lage en tilbakeringing til å håndtere resultatene av påloggingsforsøk og registrere den med CallbackManager. Tilpassede callbacks bør iverksette FacebookCallback. Grensesnittet har metoder for å håndtere hvert mulige utfall av et påloggingsforsøk.

  • Hvis påloggingsforsøket er vellykket, er onSuccess kalles

    Hvis brukeren avbryter påloggingsforsøk , onCancel kalles.

    Hvis det oppstår en feil, onError kalles.

    For å registrere skikken tilbakeringing, bruker registerCallback metoden. Koden for å opprette og registrere den tilbakeringing skal se slik ut:
    loginButton.registerCallback (callbackManager, ny FacebookCallback < LoginResult > () {Override public void onSuccess (LoginResult loginResult) {}Override public void onCancel () {} Override public void onError (FacebookException e) {}});

    Du kan nå legge koden til disse metodene for å vise aktuelle meldinger via setText metoden i TextView

    Når onSuccess metoden. kalles, er en LoginResult sendes som en parameter. Hente tilgangstokenet den inneholder hjelp getAccessToken og bruke sin getUserId metode for å få brukerens ID. For å få token i form av en streng, bruker getToken. Vise disse verdiene i TextView ved å legge til følgende kode i onSuccess metode:
    info.setText ("Bruker-ID:". + LoginResult.getAccessToken () getUserId () + "\\ n" + "Auth Token : "+ loginResult.getAccessToken () getToken ());

    Hvis brukeren avbryter er påloggingsforsøk, vi viser en melding som sier." Login forsøk avbrutt ". Legg til følgende kode i onCancel metode:
    info.setText ("Login forsøk avbrutt.");

    På samme måte legge til følgende kode i onError metode:
    info.setText ("Login forsøket mislyktes. ");

    Tapping innloggingsknappen starter en ny aktivitet, som returnerer et resultat. Å motta og håndtere resultatet, overstyre onActivityResult metode for din aktivitet og passere sine parametere til onActivityResult metoden CallbackManager.
    Overrideprotected Void onActivityResult (int requestCode, int resultCode, Intent data) {callbackManager.onActivityResult (requestCode, resultCode , data);}
    4. Legg til Facebook Application ID

    Programmet ID du fikk da du registrerte din app bør legges som en streng i prosjektets res /verdier /strings.xml. For denne opplæringen, ring strengen facebook_app_id
    . ≪ string name = "facebook_app_id" > 123456908761030 < /string >
    5. Redigere Manifest

    Definer din aktivitet i AndroidManifest.xml. Hvis det er første aktivitet på programmet ditt, bør du også legge en intensjon-filter som reagerer på handlingen android.intent.action.MAIN
    < aktivitet android. Name = "com.hathy.fblogin.MainActivity" > < intent-filter > < handling android: name = "android.intent.action.MAIN" /> < kategori android: name = "android.intent.category.LAUNCHER" /> < /intent-filter > < /aktivitets >

    Legg søknaden ID som meta-data
    < meta-data android. name = "com.facebook.sdk.ApplicationId" android: value = " @ string /facebook_app_id "/>

    Define FacebookActivity som en annen aktivitet som hører til programmet ditt. Den håndterer de fleste av konfigurasjonsendringer selv. Du må nevne at ved hjelp av configChanges tilskriver
    < aktivitet android. Name = "com.facebook.FacebookActivity" Android: configChanges = "tastatur | keyboardHidden | skjermoppsettet | Skjermstørrelse | orientering" android: tema = "@ android: style /Theme.Translucent.NoTitleBar "android: label =" @ streng /APP_NAME "/>

    Til slutt, må du be om android.permission.INTERNET å kunne koble deg til Facebooks servere
    < bruker. -permission android: name = "android.permission.INTERNET" />
    6. Bygg og Kjør

    Din app er nå fullført. Når du bygger det og distribuere det på din Android-enhet, vil du se Facebook login-knappen.

    Tapping innloggingsknappen tar deg til en Facebook-side som ber deg om å logge inn og godkjenne appen.

    Etter å logge inn, TextView viser bruker-ID og autoriseringstoken.

    Konklusjon

    I denne rask spiss, lærte du hvordan du bruker Facebook SDK for å legge til Facebook Logg inn til din Android-app. Du har også lært hvordan man skal håndtere mulige utfall av et påloggingsforsøk. Hvis du vil vite mer om Facebook Logg inn, kan du gå gjennom referanse for Facebook SDK for Android.