Sfat rapid adăugați Facebook Conectați-vă la aplicația Android

Conectarea Facebook oferă o modalitate convenabilă și sigură pentru ca utilizatorii să se conecteze la o aplicație fără a trebui să treacă mai întâi printr-un proces de înscriere. Folosind ultima versiune a SDK-ului Facebook pentru Android, este nevoie de doar câteva minute pentru a adăuga această caracteristică în aplicație.

În acest sfat rapid, veți afla cum să adăugați un buton de conectare Facebook la o aplicație Android și să gestionați evenimentele pentru a vă conecta un utilizator în utilizarea aplicației Facebook Login.

Opțiunea Premium

Dacă doriți o soluție rapidă pentru configurarea autentificării utilizatorilor în aplicațiile Android, încercați sistemul de autentificare Android pe Envato Market. Este un proiect cu cod sursă care permite dezvoltatorilor să creeze înregistrări și conectări și să autorizeze utilizatorii pentru aplicația lor.

Sistem de autentificare Android pe Envato Market

Puteți găsi, de asemenea, dezvoltatori Android de la Envato Studio pentru a vă ajuta cu proiectele dvs.. 

Dezvoltatorii Android de pe Envato Studio

Cerințe preliminare

Înainte de a începe, asigurați-vă că aveți acces la următoarele:

  • cea mai recentă versiune de Android Studio
  • un cont pe Facebook

1. Înregistrați-vă aplicația

Toate aplicațiile care utilizează setul SDK Facebook trebuie să fie înregistrate pe Facebook. Conectați-vă la site-ul Web al dezvoltatorilor Facebook și faceți clic pe Creați o aplicație nouă în partea dreaptă sus.

Vă prezentăm un formular care cere aplicațiile Numele afisat, namespace, și Categorie. Introduceți câmpurile obligatorii și dați clic pe Creați ID de aplicație.

În ecranul următor, puteți să vă vedeți ID-ul aplicației. Luați notă de aceasta, deoarece veți avea nevoie mai târziu în acest tutorial.

Deschis Setări din stânga și faceți clic pe Adăugați platformă buton. Din fereastra pop-up, selectați Android.

În formularul următor, introduceți numele pachetului aplicației și numele dvs. Activitate. Dacă nu ați creat aplicația sau Activitate totuși, asigurați-vă că vă amintiți valorile pe care le-ați introdus.

Pentru a completa imaginea Key Hashes câmp, deschideți o fereastră terminal și rulați keytool comandă pentru a genera un hash cheie utilizând cheia de stocare de depanare situată la ~ / .Android / debug.keystore. Aceasta ar trebui să arate comanda.

keytool -exportcert -alias androiddebugkey -keystore ~ ​​/ .android / debug.keystore | openssl sha1 -binary | openssl base64

Parola implicită pentru depozitul de chei pentru depanare este Android. Introduceți parola când vi se solicită. Ieșirea comenzii ar trebui să fie un șir de 28 de caractere. Copiați-l, reveniți la browser-ul dvs. și lipiți șirul în Key Hashes câmp, după cum se arată mai jos.

Asigura-te O singură logare este setat sa da și faceți clic pe Salvează modificările buton. Aplicația dvs. este înregistrată acum.

2. Adăugați SDK-ul Facebook pentru proiectul dvs.

SDK-ul Facebook este disponibil pe Maven Central. Pentru a utiliza acest depozit, editați build.gradle fișier în proiectul dvs. aplicaţia director și adăugați codul de mai jos înainte de lista de dependențe:

arhive mavenCentral ()

Acum puteți adăuga SDK-ul Facebook la proiectul dvs. ca un compila dependenţă. Adăugați următorul cod în lista de dependențe:

compile 'com.facebook.android:facebook-android-sdk:4.0.0'

3. Creați o activitate

Pasul 1: Definiți aspectul

Creați un nou layout numit main_activity.xml în res / aspect. Acesta va fi un layout foarte simplu, cu doar două widget-uri:

  • LoginButton pentru a permite utilizatorului să se conecteze la Facebook
  • TextView pentru a afișa rezultatul celei mai recente încercări de conectare

Le puteți plasa în interiorul unui RelativeLayout. După includerea atributelor pentru umplerea și poziționarea widget-urilor, aspectul XML al aspectului va arăta astfel:

    

Pasul 2: Creați Clasa

Creați o nouă clasă Java care se extinde Activitate și numește-o MainActivity.java. Rețineți că numele acestei clase și pachetul căruia îi aparține ar trebui să corespundă valorilor pe care le-ați introdus atunci când înregistrați aplicația pe Facebook.

Declarați widget-urile pe care le-ați definit în aspectul activității ca câmpuri din această clasă.

private TextView info; privat LoginButton loginButton;

Declarăm a CallbackManager ca un alt domeniu. CallbackManager, așa cum sugerează și numele, este folosit pentru a gestiona apelurile de apel utilizate în aplicație.

privat CallbackManager callbackManager;

SDK trebuie inițializat înainte de a utiliza oricare dintre metodele sale. Puteți face acest lucru sunând sdkInitialize și transmiterea contextului aplicației la acesta. Adăugați următorul cod la onCreate metoda dvs. Activitate:

FacebookSdk.sdkInitialize (getApplicationContext ());

Apoi, inițializați instanța dvs. din CallbackManager folosind CallbackManager.Factory.create metodă.

callbackManager = CallbackManager.Factory.create ();

Apel setContentView pentru a seta aspectul definit în etapa anterioară ca aspect al acestuia Activitate și apoi utilizați findViewById pentru a inițializa widget-urile.

setContentView (R.layout.main_activity); info = (TextView) findViewById (R.id.info); loginButton = (LoginButton) findViewById (R.id.login_button);

Este timpul să creați un apel invers pentru a gestiona rezultatele încercărilor de conectare și să-l înregistrați la CallbackManager. Redirecționările personalizate ar trebui să fie implementate FacebookCallback. Interfața are metode pentru a gestiona fiecare rezultat posibil al unei încercări de conectare:

  • Dacă încercarea de conectare are succes, onSuccess se numește.
  • Dacă utilizatorul anulează încercarea de conectare, onCancel se numește.
  • Dacă apare o eroare, onerror se numește.

Pentru a înregistra apelul personalizat, utilizați registerCallback metodă. Codul pentru a crea și a înregistra apelul trebuie să arate astfel:

loginButton.registerCallback (callbackManager, noul FacebookCallback() @Override public void onSuccess (LoginResult loginResult)  @Overide public void onCancel ()  @Overide public void peError (FacebookException e) );

Acum puteți adăuga codul la aceste metode pentru a afișa mesajele corespunzătoare utilizând setText metodă a TextView.

Cand onSuccess se numește metoda, a LoginResult este trecut ca parametru. Extrageți tokenul de acces pe care îl conține getAccessToken și folosiți-o getUserId pentru a obține ID-ul utilizatorului. Pentru a obține simbolul sub formă de a Şir, utilizare getToken. Afișați aceste valori în TextView prin adăugarea următorului cod la onSuccess metodă:

info.setText ("ID utilizator:" + loginResult.getAccessToken (). getUserId () + "\ n" + "autentificare autentificare:" + loginResult.getAccessToken ().

În cazul în care utilizatorul anulează încercarea de conectare, afișăm un mesaj care spune "Încercarea de conectare anulată". Adăugați următorul cod la onCancel metodă:

info.setText ("Încercarea de conectare anulată.");

În mod similar, adăugați următorul cod la onerror metodă:

info.setText ("Încercarea de conectare a eșuat.");

Atingând butonul de conectare începe o nouă operație Activitate, care returnează un rezultat. Pentru a primi și de a trata rezultatul, suprascrieți onActivityResult metoda dvs. Activitate și să treacă parametrii săi la onActivityResult Metodă de CallbackManager.

@Override protejat void onActivityResult (int requestCode, int resultCode, date intenționate) callbackManager.onActivityResult (requestCode, resultCode, data); 

4. Adăugați ID-ul aplicației Facebook

ID-ul de aplicație pe care l-ați primit când v-ați înregistrat aplicația trebuie adăugat ca a şir în proiectul tău res / valori / strings.xml. Pentru acest tutorial, apelați șirul facebook_app_id.

123456908761030

5. Editați Manifestul

Definiți-vă Activitate în AndroidManifest.xml. Dacă este prima Activitate din aplicația dvs., trebuie să adăugați și o intenție-filtru care răspunde la acțiune android.intent.action.MAIN.

     

Adăugați ID-ul aplicației ca meta-date.

Defini FacebookActivity ca alta Activitate care aparține aplicației dvs. Se ocupă de majoritatea schimbărilor de configurație. Trebuie să menționați că folosirea configChanges atribut.

În cele din urmă, trebuie să cereți android.permission.INTERNET pentru a putea conecta serverele Facebook.

6. Construiți și executați

Aplicația dvs. este acum completă. Când îl construiți și îl implementați pe dispozitivul Android, veți vedea butonul de conectare Facebook.

Atingând butonul de conectare, veți ajunge la o pagină Facebook care vă solicită să vă conectați și să autorizați aplicația.

După conectarea cu succes, TextView va afișa ID-ul utilizatorului și jetonul de autentificare.

Concluzie

În acest sfat rapid, ați învățat cum să utilizați setul SDK Facebook pentru a adăuga Facebook Login în aplicația Android. De asemenea, ați învățat cum să gestionați posibilele rezultate ale unei încercări de conectare. Pentru a afla mai multe despre conectarea Facebook, puteți accesa referința pentru setul SDK Facebook pentru Android.


Cod