Suggerimento rapido autenticazione con Twitter e Fabric

Gli utenti che hanno appena scaricato la tua app per Android saranno molto più felici se permetteranno loro di accedere utilizzando un famoso servizio di social network invece di chiedere loro di compilare un modulo di registrazione. In questo suggerimento rapido, imparerai come abilitare i tuoi utenti ad accedere alla tua app con i loro account Twitter.

Prerequisiti

Per seguire, dovresti avere la seguente configurazione:

  • l'ultima versione di Android Studio
  • un account Twitter
  • un account in tessuto

Fabric è la struttura di Twitter per lo sviluppo di applicazioni mobili. Fornisce una serie di strumenti per rendere lo sviluppo mobile più semplice e più snello. Include rapporti sugli arresti anomali, distribuzione beta, analisi dei dispositivi mobili, ecc. Se non si dispone ancora di un account Fabric, è necessario richiedere un invito e attendere un giorno o due.

1. Registra la tua app

Tutte le app che devono interagire con le API di Twitter devono essere registrate utilizzando la console di gestione delle applicazioni di Twitter. Usa il tuo account Twitter per accedere.

Clicca sul Crea una nuova app pulsante e compilare il modulo. Immettere valori significativi nel Nome e Descrizione campi, perché questi verranno mostrati agli utenti della tua app. Non avremo bisogno del Sito web e URL di richiamata per questo tutorial, ma non puoi lasciarli vuoti. Se hai il tuo sito web, puoi usare il suo indirizzo qui. Se non lo fai, puoi semplicemente digitare http://example.com.

Accetta l'accordo e invia il modulo. La tua app è ora registrata.

Clicca sul Chiavi e token di accesso scheda e prendi nota del tuo Chiave del consumatore e Segreto dei consumatori. Ne avremo bisogno in seguito.

2. Installa Fabric per Android Studio

Accedi al tuo account Fabric e scarica il plug-in per Android Studio.

Una volta completato il download, avvia Android Studio e seleziona Configura> Plugin.

Clicca sul Installa il plug-in dal disco pulsante e selezionare il file appena scaricato. Una volta installato, dovresti essere in grado di vedere Tessuto per Android Studio nella lista dei plugin.

3. Usa il Fabric Plugin

Creare un nuovo progetto (o aprirne uno esistente) e fare clic sull'icona Fabric. Accedi al tuo account Fabric e seleziona cinguettio per installare Twitter Kit per il tuo progetto.

Poiché utilizzeremo Twitter Kit solo per accedere a Twitter, scegli Accedi con Twitter nella schermata successiva.

Infine, ti verranno mostrate le modifiche al codice che devi apportare al tuo progetto. Per prima cosa, vedrai le modifiche che devi apportare nel file build.grade file. Puoi semplicemente copiare e incollare queste modifiche.

Quindi, quando si sceglie la scheda per AndroidManifest.xml, vedrai che due aggiunte devono essere fatte:

  • Per interagire con i server di Twitter, il android.permission.INTERNET il permesso deve essere richiesto.
  • La chiave API generata automaticamente dovrebbe essere menzionata sotto forma di meta-dati. Di nuovo, puoi semplicemente copiare e incollare il codice mostrato dal plugin.

Vedrai che un nuovo file chiamato fabric.properties è stato creato nel tuo App directory. Apri il file e aggiungi la stessa chiave API come mostrato di seguito.

apikey = 21212qu6q5izhayqwywqwz1ghyuiopqwq211wqqwq12341

4. Creare un'attività

In questo tutorial, creeremo un modo molto semplice Attività che visualizza un pulsante di accesso e a TextView che mostra il risultato del tentativo di accesso.

Passaggio 1: definire il layout

Crea un nuovo XML di layout chiamato login_activity.xml nel res / layout di directory. Aggiungere un TwitterLoginButton utilizzando il seguente frammento di codice:

Quindi, aggiungere un TextView per visualizzare i risultati del tentativo di accesso.

Passaggio 2: creare la classe

Creare una nuova classe Java che estenda il Attività classe e scavalca il suo onCreate metodo. Uso setContentView per usare l'XML di layout che abbiamo creato nel passaggio precedente.

Recupera i widget definiti nell'XML utilizzando findViewById metodo. Puoi lasciare il TextView vuoto, ma ho intenzione di usare il setText metodo e mostra a Stringa che dice "Stato: pronto".

A questo punto, la classe dovrebbe contenere il seguente codice:

public class LoginActivity estende Activity private TwitterLoginButton loginButton; stato TextView privato; @Override protected void onCreate (Bundle savedInstanceState) super.onCreate (savedInstanceState); setContentView (R.layout.login_activity); loginButton = (TwitterLoginButton) findViewById (R.id.twitter_login_button); status = (TextView) findViewById (R.id.status); status.setText ("Stato: pronto"); 

Quando fai nuovamente clic sull'icona del plug-in e fai clic sulla scheda per Avvia attività, troverai il codice che deve essere aggiunto per inizializzare Fabric. Copia e incolla il codice nel file onCreate metodo, prima della chiamata a setContentView.

TwitterAuthConfig authConfig = new TwitterAuthConfig (TWITTER_KEY, TWITTER_SECRET); Fabric.with (questo, nuovo Twitter (authConfig));

Il plugin genera i propri valori per chiave utente e segreto del consumatore. Mentre puoi usare questi valori, utilizzeremo i valori che abbiamo ottenuto quando abbiamo registrato la nostra applicazione su Twitter Gestione delle candidature console precedente. Il codice per utilizzare questi valori dovrebbe assomigliare a questo:

stringa finale statica privata TWITTER_KEY = "qweYTYiqer5tTeqiq1"; stringa finale statica privata TWITTER_SECRET = "wuquUUwy1626661719qw8wwWQHEJQ";

Facendo clic sul pulsante di accesso inizia un esterno Attività che restituisce un risultato. Per catturare quel risultato, scavalcare il onActivityResult metodo del Attività e passare gli argomenti ricevuti al onActivityResult metodo del pulsante:

@Override protetto void onActivityResult (int requestCode, int resultCode, Intent data) super.onActivityResult (requestCode, resultCode, data); loginButton.onActivityResult (requestCode, resultCode, data); 

Per elaborare il risultato del tentativo di accesso, è necessario creare un'abitudine Richiama. Crea una classe interna chiamata LoginHandler quello si estende Richiama, e scavalca tutti i suoi metodi astratti.

I nomi dei metodi di questa classe sono molto intuitivi. In caso di accesso riuscito, il successo il metodo è chiamato. Altrimenti, il fallimento il metodo è chiamato.

classe privata LoginHandler estende Callback @Override successo pubblico vuoto (Risultato twitterSessionResult)  @Override fallimento pubblico vuoto (TwitterException e) 

Per il TwitterLoginButton utilizzare questo callback personalizzato, nel onCreate metodo del Attività, passare un'istanza di LoginHandler ai pulsanti setCallback metodo.

loginButton.setCallback (new LoginHandler ());

In caso di un tentativo di accesso riuscito, visualizzare il nome dell'utente connesso e il token auth. Entrambi i valori sono disponibili da dati campo di Risultato. Per ottenere il nome utente dell'utente che ha effettuato l'accesso getUsername. Allo stesso modo, per ottenere l'uso del token auth getAuthToken. Aggiungi il seguente codice al successo metodo:

String output = "Status:" + "Il tuo login è andato a buon fine" + twitterSessionResult.data.getUserName () + "\ nAuth Token Received:" + twitterSessionResult.data.getAuthToken (). Token; status.setText (uscita);

In caso di tentativo di accesso fallito, visualizza un messaggio che dice "Accesso fallito". Aggiungi il seguente al fallimento metodo:

status.setText ("Stato: accesso non riuscito");

Passaggio 3: aggiornare il manifest

Definire il Attività hai appena creato nel manifest del tuo progetto. Se è la prima della tua app Attività, crea un filtro intent in modo che risponda a android.intent.action.MAIN. Aggiungi il seguente codice al tuo file:

     

5. Costruisci ed esegui

La tua app è ora pronta per essere eseguita. Quando lo costruisci e lo esegui sul tuo dispositivo Android, sarai accolto con la seguente schermata:

Se tocchi il pulsante di accesso, verrai reindirizzato su Twitter. Nota che il nome dell'applicazione e la descrizione che hai specificato nella prima fase di questo tutorial sono mostrati in questa pagina.

Quando tocchi il Autorizza app pulsante, il tentativo di accesso è considerato riuscito e si viene reindirizzati alla propria app. Vedrai che il TextView viene aggiornato per mostrare il nome utente e il token di autenticazione.

Conclusione

In questo suggerimento rapido, hai imparato come abilitare gli utenti della tua app ad accedere utilizzando Twitter. Hai anche imparato come installare il plug-in Fabric per Android Studio e come utilizzarlo per aggiungere Twitter Kit al tuo progetto. Per ulteriori informazioni su Fabric e Twitter Kit, consultare la documentazione di Twitter Kit per Android.