Schneller Tipp Authentifizierung mit Twitter und Fabric

Benutzer, die gerade Ihre Android-App heruntergeladen haben, werden viel glücklicher sein, wenn Sie ihnen erlauben, sich über einen beliebten Social-Networking-Dienst anzumelden, anstatt sie um ein Registrierungsformular zu bitten. In diesem kurzen Tipp erfahren Sie, wie Sie Benutzern ermöglichen, sich mit ihren Twitter-Konten bei Ihrer App anzumelden.

Voraussetzungen

Um mitzumachen, sollten Sie Folgendes eingerichtet haben:

  • die neueste Version von Android Studio
  • einen Twitter-Account
  • ein Stoffkonto

Fabric ist Twitters Framework für die Entwicklung mobiler Anwendungen. Es bietet eine Reihe von Tools, um die mobile Entwicklung einfacher und effizienter zu gestalten. Dazu gehören Absturzberichte, Beta-Verteilung, mobile Analysen usw. Wenn Sie noch kein Fabric-Konto haben, müssen Sie eine Einladung anfordern und ein oder zwei Tage warten.

1. Registrieren Sie Ihre App

Jede App, die mit den APIs von Twitter interagieren muss, sollte über die Twitter Application Management Console registriert werden. Verwenden Sie Ihr Twitter-Konto, um sich anzumelden.

Klicke auf das Neue App erstellen und füllen Sie das Formular aus. Geben Sie sinnvolle Werte in die ein Name und Beschreibung Felder, da diese den Benutzern Ihrer App angezeigt werden. Wir werden das nicht brauchen Webseite und Rückruf-URL für dieses Tutorial, aber Sie können sie nicht leer lassen. Wenn Sie eine eigene Website haben, können Sie deren Adresse hier verwenden. Wenn Sie dies nicht tun, können Sie einfach http://example.com eingeben.

Akzeptieren Sie die Vereinbarung und senden Sie das Formular ab. Ihre App ist jetzt registriert.

Klicke auf das Schlüssel und Zugriffstoken Tab und notieren Sie sich Ihre Consumer Key und Consumer Secret. Wir werden sie später brauchen.

2. Installieren Sie Fabric für Android Studio

Melden Sie sich bei Ihrem Fabric-Konto an und laden Sie das Plugin für Android Studio herunter.

Wenn der Download abgeschlossen ist, starten Sie Android Studio und wählen Sie Konfigurieren Sie> Plugins.

Klicke auf das Installieren Sie das Plugin von der Festplatte und wählen Sie die gerade heruntergeladene Datei aus. Nach der Installation sollten Sie sehen können Stoff für Android Studio in der Liste der Plugins.

3. Verwenden Sie das Fabric Plugin

Erstellen Sie ein neues Projekt (oder öffnen Sie ein vorhandenes) und klicken Sie auf das Stoffsymbol. Melden Sie sich bei Ihrem Fabric-Konto an und wählen Sie aus Twitter um das Twitter Kit für Ihr Projekt zu installieren.

Da wir Twitter Kit nur verwenden, um sich bei Twitter anzumelden, wählen Sie Mit Twitter anmelden im nächsten Bildschirm.

Zum Schluss werden Ihnen die Codeänderungen angezeigt, die Sie in Ihrem Projekt vornehmen müssen. Zuerst sehen Sie die Änderungen, die Sie vornehmen müssen build.grade Datei. Sie können diese Änderungen einfach kopieren und einfügen.

Als nächstes wählen Sie die Registerkarte für AndroidManifest.xml, Sie werden sehen, dass zwei Ergänzungen vorgenommen werden müssen:

  • Um mit den Servern von Twitter zu interagieren, klicken Sie auf android.permission.INTERNET Erlaubnis muss beantragt werden.
  • Der automatisch generierte API-Schlüssel sollte in der Form von angegeben werden Metadaten. Sie können den vom Plugin angezeigten Code einfach kopieren und einfügen.

Sie sehen eine neue Datei mit dem Namen fabric.properties wurde in Ihrem erstellt App Verzeichnis. Öffnen Sie die Datei und fügen Sie denselben API-Schlüssel hinzu (siehe unten).

apiKey = 21212qu6q5izhayqwywqwz1ghyuiopqwq211wqqwq12341

4. Erstellen Sie eine Aktivität

In diesem Tutorial erstellen wir eine sehr einfache Aktivität das zeigt eine Login-Schaltfläche und ein Textvorschau zeigt das Ergebnis des Anmeldeversuchs an.

Schritt 1: Definieren Sie das Layout

Erstellen Sie eine neue Layout-XML-Datei login_activity.xml in dem res / layout Verzeichnis. Füge hinzu ein TwitterLoginButton mit dem folgenden Code-Snippet:

Als nächstes fügen Sie ein Textvorschau um die Ergebnisse des Anmeldeversuchs anzuzeigen.

Schritt 2: Erstellen Sie die Klasse

Erstellen Sie eine neue Java-Klasse, die die Erweiterung erweitert Aktivität Klasse und überschreiben seine onCreate Methode. Benutzen setContentView um das Layout-XML zu verwenden, das wir im vorherigen Schritt erstellt haben.

Rufen Sie die in der XML definierten Widgets mit dem Symbol ab findViewById Methode. Sie können das verlassen Textvorschau leer, aber ich werde die verwenden Text setzen Methode und Anzeige a String das sagt "Status: Bereit".

Zu diesem Zeitpunkt sollte Ihre Klasse den folgenden Code enthalten:

public class LoginActivity erweitert Aktivität private TwitterLoginButton loginButton; privater TextView-Status; @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 ("Status: Ready"); 

Wenn Sie erneut auf das Plugin-Symbol klicken und auf die Registerkarte für klicken Aktivität starten, Sie finden den Code, der zum Initialisieren von Fabric hinzugefügt werden muss. Kopieren Sie diesen Code in das onCreate Methode vor dem Aufruf an setContentView.

TwitterAuthConfig authConfig = neue TwitterAuthConfig (TWITTER_KEY, TWITTER_SECRET); Fabric.with (dieses neue Twitter (authConfig));

Das Plugin generiert eigene Werte für Consumer Key und Consumer Secret. Während Sie diese Werte verwenden können, verwenden wir die Werte, die wir bei der Registrierung unserer Anwendung bei Twitter erhalten haben Bewerbungsmanagement Konsole früher. Der Code für diese Werte sollte folgendermaßen aussehen:

private static final Zeichenfolge TWITTER_KEY = "qweYTYiqer5tTeqiq1"; private static final Zeichenfolge TWITTER_SECRET = "wuquUUwy1626661719qw8wwWQHEJQ";

Durch Klicken auf die Login-Schaltfläche wird ein externes gestartet Aktivität das gibt ein Ergebnis zurück. Um dieses Ergebnis zu erfassen, überschreiben Sie das onActivityResult Methode der Aktivität und übergeben Sie die erhaltenen Argumente an onActivityResult Methode der Schaltfläche:

@Override protected void onActivityResult (int requestCode, int resultCode, Absichtsdaten) super.onActivityResult (requestCode, resultCode, data); loginButton.onActivityResult (requestCode, resultCode, data); 

Um das Ergebnis des Anmeldeversuchs zu verarbeiten, müssen Sie einen benutzerdefinierten Wert erstellen Ruf zurück. Erstellen Sie eine interne Klasse mit dem Namen LoginHandler das erstreckt sich Ruf zurück, und überschreiben alle abstrakten Methoden.

Die Namen der Methoden dieser Klasse sind sehr intuitiv. Bei einem erfolgreichen Login wird die Erfolg Methode wird aufgerufen. Ansonsten der Fehler Methode wird aufgerufen.

Die private Klasse LoginHandler erweitert Callback @Offride public void success (Ergebnis twitterSessionResult)  @Override-Fehler bei öffentlicher Stornierung (TwitterException e) 

Für die TwitterLoginButton Um diesen benutzerdefinierten Rückruf zu verwenden, klicken Sie im onCreate Methode der Aktivität, eine Instanz von übergeben LoginHandler zu den Knöpfen setCallback Methode.

loginButton.setCallback (neuer LoginHandler ());

Im Falle eines erfolgreichen Anmeldeversuchs zeigen Sie den Namen des angemeldeten Benutzers und das Authentifizierungs-Token an. Beide Werte stehen im zur Verfügung Daten Bereich Ergebnis. Um den Benutzernamen des angemeldeten Benutzers zu erhalten, verwenden Sie getUsername. Ebenso, um das Auth-Token zu verwenden getAuthToken. Fügen Sie dem folgenden Code hinzu Erfolg Methode:

String output = "Status:" + "Ihr Login war erfolgreich" + twitterSessionResult.data.getUserName () + "\ nAuth-Token erhalten:" + twitterSessionResult.data.getAuthToken (). Token; status.setText (Ausgabe);

Zeigen Sie bei einem fehlgeschlagenen Anmeldeversuch eine Meldung mit der Meldung an "Anmeldung fehlgeschlagen". Fügen Sie Folgendes dem hinzu Fehler Methode:

status.setText ("Status: Anmeldung fehlgeschlagen");

Schritt 3: Aktualisieren Sie das Manifest

Definiere das Aktivität Sie haben gerade im Manifest Ihres Projekts erstellt. Wenn es Ihre App zuerst ist Aktivität, Erstellen Sie einen Intent-Filter, auf den er anspricht android.intent.action.MAIN. Fügen Sie Ihrer Datei den folgenden Code hinzu:

     

5. Erstellen und ausführen

Ihre App kann jetzt ausgeführt werden. Wenn Sie es auf Ihrem Android-Gerät erstellen und ausführen, werden Sie mit dem folgenden Bildschirm begrüßt:

Wenn Sie auf die Login-Schaltfläche tippen, werden Sie zu Twitter weitergeleitet. Beachten Sie, dass der Name und die Beschreibung der Anwendung, die Sie im ersten Schritt dieses Lernprogramms angegeben haben, auf dieser Seite angezeigt werden.

Wenn Sie auf das Symbol tippen Ermächtigen App Durch Klicken auf die Schaltfläche wird der Anmeldeversuch als erfolgreich betrachtet und Sie werden zu Ihrer App zurückgeleitet. Sie werden das sehen Textvorschau wird aktualisiert, um den Benutzernamen und das Auth-Token anzuzeigen.

Fazit

In diesem kurzen Tipp haben Sie erfahren, wie Sie es Benutzern Ihrer App ermöglichen, sich über Twitter anzumelden. Sie haben auch gelernt, wie Sie das Fabric-Plugin für Android Studio installieren und wie Sie Twitter Kit zu Ihrem Projekt hinzufügen. Weitere Informationen zu Fabric und Twitter Kit finden Sie in der Dokumentation zum Twitter Kit für Android.