Sfat rapid Autentificare cu Twitter și Fabric

Utilizatorii care tocmai au descărcat aplicația pentru Android vor fi mult mai fericiți dacă le veți permite să vă conectați utilizând un serviciu popular de rețele sociale în loc să le cereți să completeze un formular de înregistrare. În acest sfat rapid, veți învăța cum să permiteți utilizatorilor să se conecteze la aplicația dvs. cu conturile lor Twitter.

Cerințe preliminare

Pentru a urmări de-a lungul timpului, trebuie să aveți următoarele setări:

  • cea mai recentă versiune de Android Studio
  • un cont de Twitter
  • un cont Fabric

Fabric este cadrul Twitter pentru dezvoltarea aplicațiilor mobile. Acesta oferă un set de instrumente care facilitează și simplifică dezvoltarea mobilă. Aceasta include raportarea la impact, distribuția beta, analiza mobilă etc. Dacă încă nu aveți un cont Fabric, va trebui să solicitați o invitație și să așteptați o zi sau două.

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

Orice aplicație care trebuie să interacționeze cu API-urile Twitter trebuie înregistrată folosind consola Twitter Application Management. Utilizați contul dvs. Twitter pentru a vă conecta.

Faceți clic pe Creați aplicația nouă butonul și completați formularul. Introduceți valori semnificative în Nume și Descriere , deoarece acestea vor fi afișate utilizatorilor aplicației dvs. Nu vom avea nevoie de website și Adresă URL cu invers pentru acest tutorial, dar nu le puteți lăsa goale. Dacă aveți propriul site web, puteți folosi adresa acestuia aici. Dacă nu, poți pur și simplu tasta http://example.com.

Acceptați acordul și trimiteți formularul. Aplicația dvs. este înregistrată acum.

Faceți clic pe Cheile și accesoriile fila și notați-vă Cheia de consum și Secretul consumatorilor. Vom avea nevoie de ei mai târziu.

2. Instalați Fabric pentru Android Studio

Conectați-vă la contul Fabric și descărcați pluginul pentru Android Studio.

După terminarea descărcării, porniți aplicația Android Studio și selectați Configurează> Plugin-uri.

Faceți clic pe Instalați pluginul de pe disc și selectați fișierul pe care tocmai l-ați descărcat. Odată instalat, ar trebui să puteți vedea Fabric pentru Android Studio în lista de pluginuri.

3. Utilizați Plug-ul Fabric

Creați un proiect nou (sau deschideți unul existent) și faceți clic pe pictograma Fabric. Conectați-vă la contul Fabric și selectați Stare de nervozitate pentru a instala Kit Twitter pentru proiectul dvs..

Întrucât vom folosi Twitter Kit doar pentru a vă conecta la Twitter, alegeți Conectați-vă cu Twitter în ecranul următor.

În cele din urmă, vi se vor afișa modificările de cod pe care trebuie să le faceți în proiectul dvs. În primul rând, veți vedea schimbările pe care trebuie să le faceți în build.grade fişier. Puteți să copiați și să inserați aceste modificări.

Apoi, când alegeți fila pentru AndroidManifest.xml, veți vedea că sunt necesare două adăugiri:

  • Pentru a interacționa cu serverele Twitter, android.permission.INTERNET permisiunea trebuie solicitată.
  • Cheia API generată automat va fi menționată sub forma meta-date. Din nou, puteți să copiați și să lipiți codul afișat de plugin.

Veți vedea că un nou fișier numit fabric.properties a fost creat în dvs. aplicaţia director. Deschideți fișierul și adăugați la el aceeași cheie API după cum se arată mai jos.

apiKey = 21212qu6q5izhayqwywqwz1ghyuiopqwq211wqqwq12341

4. Creați o activitate

În acest tutorial, vom crea un simplu Activitate care afișează un buton de conectare și a TextView care afișează rezultatul încercării de autentificare.

Pasul 1: Definiți aspectul

Creați un nou layout XML numit login_activity.xml în res / aspect director. Adauga o TwitterLoginButton utilizând următorul fragment de cod:

Apoi, adăugați o TextView pentru a afișa rezultatele încercării de conectare.

Pasul 2: Creați Clasa

Creați o nouă clasă Java care extinde Activitate clasa și suprascrie onCreate metodă. Utilizare setContentView pentru a utiliza aspectul XML creat în pasul anterior.

Preluați widgeturile definite în XML utilizând findViewById metodă. Puteți să părăsiți TextView dar eu o să folosesc setText metodă și afișare a Şir asta spune "Stare: Ready".

În acest moment, clasa dvs. ar trebui să aibă următorul cod în ea:

clasa publica LoginActivity extinde Activitatea private TwitterLoginButton loginButton; statutul privat TextView; @Override protejate void onCreate (Bundle savedInstanceState) super.onCreate (savedInstanceState); setContentView (R.layout.login_activity); loginButton = (TwitterLoginButton) findViewById (R.id.twitter_login_button); starea = (TextView) findViewById (R.id.status); status.setText ("Stare: Ready"); 

Când faceți clic din nou pe pictograma pluginului și faceți clic pe fila pentru Începeți Activitatea, veți găsi codul care trebuie adăugat pentru a inițializa Fabric. Copiați și lipiți acel cod în onCreate înainte de apelul către setContentView.

TwitterAuthConfig authConfig = noul TwitterAuthConfig (TWITTER_KEY, TWITTER_SECRET); Fabric.with (aceasta, noul Twitter (authConfig));

Plugin-ul generează propriile valori pentru secretul consumatorilor și secretul consumatorului. În timp ce puteți utiliza aceste valori, vom folosi valorile pe care le-am obținut atunci când am înregistrat aplicația noastră în Twitter Managementul aplicațiilor consola mai devreme. Codul de utilizare a acestor valori ar trebui să arate astfel:

privat static final static TWITTER_KEY = "qweYTYiqer5tTeqiq1"; statică finală privată statică TWITTER_SECRET = "wuquUUwy1626661719qw8wwWQHEJQ";

Dacă faceți clic pe butonul de conectare, începe o comandă externă Activitate care returnează un rezultat. Pentru a capta rezultatul, suprascrieți onActivityResult metodă a Activitate și să transmită argumentele primite către onActivityResult metoda butonului:

@Override protejat void onActivityResult (int requestCode, int resultCode, date intenție) super.onActivityResult (requestCode, resultCode, data); loginButton.onActivityResult (requestCode, resultCode, date); 

Pentru a procesa rezultatul încercării de autentificare, trebuie să creați un personalizat Suna inapoi. Creați o clasă internă numită LoginHandler care se extinde Suna inapoi, și suprascrie toate metodele sale abstracte.

Numele metodelor din această clasă sunt foarte intuitive. În cazul unei intrări de succes, succes se numește metoda. În caz contrar, eșec se numește metoda.

clasa privată LoginHandler extinde Callback @Override public void success (Rezultat twitterSessionResult)  @Override eșecul public void (TwitterException e) 

Pentru TwitterLoginButton pentru a utiliza acest apel personalizat, în onCreate metodă a Activitate, treci o instanță de LoginHandler la butonul lui setCallback metodă.

loginButton.setCallback (noul LoginHandler ());

În cazul unei încercări de conectare reușite, afișați numele utilizatorului înregistrat și jurnalul de autentificare. Ambele valori sunt disponibile de la date câmp de Rezultat. Pentru a obține numele de utilizator al utilizării conectate de utilizator getUsername. În mod similar, pentru a obține utilizarea jetoanelor auth getAuthToken. Adăugați următorul cod la succes metodă:

String output = "Status:" + "Autentificările dvs. au avut succes" + twitterSessionResult.data.getUserName () + "\ nAutonul Token primit:" + twitterSessionResult.data.getAuthToken () token; status.setText (output);

În cazul unei încercări de conectare eșuate, afișați un mesaj care spune "Autentificare esuata". Adăugați următoarele la eșec metodă:

status.setText ("Status: Login Failed");

Pasul 3: Actualizați Manifestul

Definiți Activitate tocmai ați creat în manifestarea proiectului dvs. Dacă este prima dvs. aplicație Activitate, creați un filtru de intenție pentru a răspunde android.intent.action.MAIN. Adăugați în fișierul dvs. următorul cod:

     

5. Construiți și executați

Aplicația dvs. este acum gata să fie rulată. Când construiți și rulați-o pe dispozitivul dvs. Android, veți fi întâmpinat cu următorul ecran:

Dacă atingeți butonul de conectare, veți fi redirecționat către Twitter. Rețineți că numele și descrierea aplicației specificate în prima etapă a acestui tutorial sunt afișate în această pagină.

Când atingeți Autorizați aplicația , încercarea de conectare este considerată de succes și vi se redirecționează înapoi la aplicația dvs. Veți vedea că TextView este actualizat pentru a afișa numele de utilizator și jetonul auth.

Concluzie

În acest sfat rapid, ați învățat cum să permiteți utilizatorilor aplicației dvs. să se conecteze utilizând Twitter. De asemenea, ați învățat cum să instalați pluginul Fabric pentru Android Studio și cum să îl utilizați pentru a adăuga Kit Twitter pentru proiectul dvs. Pentru a afla mai multe despre Fabric și Twitter Kit, consultați documentația Kit Kit pentru Android.

Cod