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.
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 MarketPuteți găsi, de asemenea, dezvoltatori Android de la Envato Studio pentru a vă ajuta cu proiectele dvs..
Dezvoltatorii Android de pe Envato StudioÎnainte de a începe, asigurați-vă că aveți acces la următoarele:
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.
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'
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 FacebookTextView
pentru a afișa rezultatul celei mai recente încercări de conectareLe 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:
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:
onSuccess
se numește.onCancel
se numește.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);
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
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.
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.
Î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.