Användare som just har laddat ner din Android-app kommer att bli mycket lyckligare om du tillåter dem att logga in med hjälp av en populär socialt nätverkstjänst istället för att fråga dem att fylla i ett registreringsformulär. I det här snabba tipset kommer du att lära dig hur du gör det möjligt för dina användare att logga in i din app med sina Twitter-konton.
För att följa med, bör du ha följande inställning:
Tyg är Twitters ramar för att utveckla mobila applikationer. Det ger en uppsättning verktyg för att göra mobil utveckling enklare och mer strömlinjeformad. Den innehåller kraschrapportering, beta-distribution, mobilanalys etc. Om du inte har ett Fabric-konto än, måste du begära en inbjudan och vänta på en dag eller två.
Alla appar som behöver interagera med Twitters API: er bör registreras med hjälp av Twitter Application Management-konsolen. Använd ditt Twitter-konto för att logga in.
Klicka på Skapa ny app knappen och fyll i formuläret. Ange meningsfulla värden i namn och Beskrivning fält, eftersom dessa kommer att visas för din apps användare. Vi kommer inte behöva Hemsida och Återuppringningsadress för denna handledning, men du kan inte lämna dem tomma. Om du har din egen hemsida kan du använda adressen här. Om du inte gör det kan du helt enkelt skriva in http://example.com.
Godkänn avtalet och skicka formuläret. Din app är nu registrerad.
Klicka på Nycklar och åtkomsttoken fliken och notera din Konsumentnyckel och Konsumenthemlighet. Vi behöver dem senare.
Logga in på ditt tygkonto och ladda ner plugin för Android Studio.
När nedladdningen är klar startar du Android Studio och väljer Konfigurera> Plugins.
Klicka på Installera plugin från disken knappen och välj filen du just laddade ner. När du är installerad bör du kunna se Tyg för Android Studio i listan med plugins.
Skapa ett nytt projekt (eller öppna en befintlig) och klicka på Fabric-ikonen. Logga in på ditt tygkonto och välj Twitter att installera Twitter Kit för ditt projekt.
Eftersom vi bara använder Twitter Kit för att logga in på Twitter, välj Logga in med Twitter på nästa skärm.
Slutligen kommer du att visa de kodändringar du behöver göra i ditt projekt. Först kommer du se de förändringar du behöver göra i build.grade fil. Du kan enkelt kopiera och klistra in dessa ändringar.
Därefter när du väljer fliken för AndroidManifest.xml, du kommer att se att två tillägg måste göras:
android.permission.INTERNET
tillstånd måste begäras.meta-data
. Återigen kan du helt enkelt kopiera och klistra in koden som visas av plugin.Du kommer se att en ny fil heter fabric.properties har skapats i din app katalogen. Öppna filen och lägg till samma API-nyckel till den som visas nedan.
apikey = 21212qu6q5izhayqwywqwz1ghyuiopqwq211wqqwq12341
I denna handledning kommer vi att skapa en mycket enkel Aktivitet
som visar en inloggningsknapp och a Textview
som visar resultatet av inloggningsförsöket.
Skapa en ny layout XML kallad login_activity.xml i res / layout katalogen. Lägg till en TwitterLoginButton
med följande kodbit:
Lägg sedan till en Textview
för att visa resultaten av inloggningsförsöket.
Skapa en ny Java-klass som utökar Aktivitet
klass och åsidosätta dess onCreate
metod. Använda sig av setContentView
att använda layout XML som vi skapade i föregående steg.
Hämta widgets definierade i XML med hjälp av findViewById
metod. Du kan lämna Textview
tom, men jag ska använda setText
metod och visa a Sträng
det säger "Status: Klar".
Vid denna tidpunkt ska din klass ha följande kod i den:
public class LoginActivity utökar aktivitet privat TwitterLoginButton loginButton; privat textvisningsstatus @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: Klar");
När du klickar på plugin-ikonen igen och klickar på fliken för Starta aktivitet, Du hittar koden som måste läggas till för att initiera Fabric. Kopiera och klistra in den här koden i onCreate
metod innan samtalet till setContentView
.
TwitterAuthConfig authConfig = ny TwitterAuthConfig (TWITTER_KEY, TWITTER_SECRET); Fabric.with (det här, nya Twitter (authConfig));
Pluggen genererar egna värden för konsumentnyckel och konsumenthemlighet. Medan du kan använda dessa värden använder vi de värden vi fick när vi registrerade vår ansökan i Twitter Applikationshantering konsolen tidigare. Koden för att använda dessa värden ska se ut så här:
privat statisk slutsträng TWITTER_KEY = "qweYTYiqer5tTeqiq1"; privat statisk slutsträng TWITTER_SECRET = "wuquUUwy1626661719qw8wwWQHEJQ";
Genom att klicka på inloggningsknappen startas en extern Aktivitet
som returnerar ett resultat. För att fånga det resultatet, åsidosätta onActivityResult
metod för Aktivitet
och skicka de argument som mottas till onActivityResult
Metod för knappen:
@Override protected void onActivityResult (int requestCode, int resultCode, Intent data) super.onActivityResult (requestCode, resultCode, data); loginButton.onActivityResult (requestCode, resultCode, data);
För att bearbeta resultatet av inloggningsförsöket måste du skapa en anpassad Ring tillbaka
. Skapa en intern klass som heter LoginHandler som sträcker sig Ring tillbaka
, och åsidosätta alla dess abstrakta metoder.
Namnen på metoderna i denna klass är mycket intuitiva. Vid en lyckad inloggning, Framgång
Metoden heter. Annars är det fel
Metoden heter.
privatklass LoginHandler utökar återuppringning@Överhoppa offentlig tomgångssucces (Resultat twitterSessionResult) @Override public void failure (TwitterException e)
För TwitterLoginButton
att använda denna anpassade återuppringning, i onCreate
metod för Aktivitet
, passera en förekomst av LoginHandler
till knappens setCallback
metod.
loginButton.setCallback (ny LoginHandler ());
Vid ett framgångsrikt inloggningsförsök visas namnet på den inloggade användaren och autentoken. Båda värdena är tillgängliga från data
fält av Resultat
. För att få användarnamnet för den inloggade användaranvändningen getUsername
. På samma sätt, för att få autentoken användning getAuthToken
. Lägg till följande kod till Framgång
metod:
String output = "Status:" + "Din inloggning var framgångsrik" + twitterSessionResult.data.getUserName () + "\ nAuth-Token mottagen:" + twitterSessionResult.data.getAuthToken (). Token; status.setText (utgång);
Om ett misslyckat inloggningsförsök visas, visas ett meddelande som säger "Inloggningen misslyckades". Lägg till följande i fel
metod:
status.setText ("Status: Inloggning misslyckades");
Definiera Aktivitet
du har just skapat i ditt projekt manifest. Om det är din apps första Aktivitet
, skapa ett avsikt filter så att det svarar på android.intent.action.MAIN
. Lägg till följande kod i din fil:
Din app är nu klar att köras. När du bygger och kör det på din Android-enhet, kommer du att hälsas med följande skärm:
Om du knackar på inloggningsknappen kommer du vidarebefordras till Twitter. Observera att applikationsnamnet och beskrivningen du angav i det första steget i denna handledning visas på den här sidan.
När du trycker på Godkänn app knappen, inloggningsförsöket anses vara framgångsrikt och du omdirigeras tillbaka till din app. Du kommer att se att Textview
uppdateras för att visa användarnamnet och auth token.
I det här snabba tipset har du lärt dig hur du aktiverar appens användare att logga in med Twitter. Du lärde dig också att installera Fabric plugin för Android Studio och hur du använder det för att lägga till Twitter Kit till ditt projekt. För mer information om Fabric och Twitter Kit, se Twitter Kit for Android-dokumentationen.