Petit conseil authentification avec Twitter et Fabric

Les utilisateurs qui viennent de télécharger votre application Android vont être beaucoup plus heureux si vous leur permettez de vous connecter en utilisant un service de réseau social populaire au lieu de leur demander de remplir un formulaire d'inscription. Dans cette astuce, vous allez apprendre à permettre à vos utilisateurs de se connecter à votre application avec leur compte Twitter..

Conditions préalables

Pour suivre, vous devriez avoir la configuration suivante:

  • la dernière version d'Android Studio
  • un compte Twitter
  • un compte Fabric

Fabric est le cadre de Twitter pour le développement d'applications mobiles. Il fournit un ensemble d'outils facilitant et simplifiant le développement mobile. Il inclut les rapports d’incident, la distribution bêta, les analyses mobiles, etc. Si vous n’avez pas encore de compte Fabric, vous devrez demander une invitation et attendre un jour ou deux..

1. Enregistrez votre application

Toute application devant interagir avec les API de Twitter doit être enregistrée à l'aide de la console Twitter Application Management. Utilisez votre compte Twitter pour vous connecter.

Clique sur le Créer une nouvelle application bouton, et remplissez le formulaire. Entrez des valeurs significatives dans le prénom et La description champs, car ils seront montrés aux utilisateurs de votre application. Nous n'aurons pas besoin de Site Internet et URL de rappel pour ce tutoriel, mais vous ne pouvez pas les laisser vides. Si vous avez votre propre site web, vous pouvez utiliser son adresse ici. Si vous ne le faites pas, vous pouvez simplement taper http://example.com.

Acceptez l'accord et soumettez le formulaire. Votre application est maintenant enregistrée.

Clique sur le Clés et jetons d'accès onglet et notez votre La clé du consommateur et Secret du consommateur. Nous en aurons besoin plus tard.

2. Installer Fabric pour Android Studio

Connectez-vous à votre compte Fabric et téléchargez le plug-in pour Android Studio..

Une fois le téléchargement terminé, démarrez Android Studio et sélectionnez Configurer> Plugins.

Clique sur le Installer le plugin à partir du disque et sélectionnez le fichier que vous venez de télécharger. Une fois installé, vous devriez pouvoir voir Tissu pour Android Studio dans la liste des plugins.

3. Utilisez le plugin Fabric

Créez un nouveau projet (ou ouvrez un projet existant) et cliquez sur l'icône Fabric. Connectez-vous à votre compte Fabric et sélectionnez Gazouillement installer Twitter Kit pour votre projet.

Comme nous utiliserons le kit Twitter uniquement pour vous connecter à Twitter, choisissez Connectez-vous avec Twitter dans l'écran suivant.

Enfin, les modifications de code à effectuer dans votre projet s'afficheront. Tout d’abord, vous verrez les modifications à apporter dans le build.grade fichier. Vous pouvez simplement copier et coller ces modifications.

Ensuite, lorsque vous choisissez l'onglet pour AndroidManifest.xml, vous verrez que deux ajouts doivent être faits:

  • Pour interagir avec les serveurs de Twitter, le android.permission.INTERNET l'autorisation doit être demandée.
  • La clé API générée automatiquement doit être mentionnée sous la forme suivante: méta-données. Encore une fois, vous pouvez simplement copier et coller le code affiché par le plugin.

Vous verrez qu'un nouveau fichier nommé fabric.properties a été créé dans votre app annuaire. Ouvrez le fichier et ajoutez-y la même clé API, comme indiqué ci-dessous..

apiKey = 21212qu6q5izhayqwywqwz1ghyuiopqwq211wqqwq12341

4. Créer une activité

Dans ce tutoriel, nous allons créer un très simple Activité qui affiche un bouton de connexion et un Affichage qui affiche le résultat de la tentative de connexion.

Étape 1: Définir la mise en page

Créer une nouvelle mise en page XML appelée login_activity.xml dans le res / mise en page annuaire. Ajouter un TwitterLoginButton en utilisant l'extrait de code suivant:

Ensuite, ajoutez un Affichage pour afficher les résultats de la tentative de connexion.

Étape 2: Créer la classe

Créez une nouvelle classe Java qui étend la Activité classe et remplacer sa onCreate méthode. Utilisation setContentView utiliser la mise en page XML créée à l'étape précédente.

Récupérer les widgets définis dans le XML en utilisant le findViewById méthode. Vous pouvez laisser le Affichage vierge, mais je vais utiliser le Définir le texte méthode et afficher un Chaîne ça dit "Statut: Prêt".

À ce stade, votre classe devrait avoir le code suivant:

Classe publique LoginActivity étend Activity private TwitterLoginButton loginButton; statut privé de TextView; @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 ("Statut: Prêt"); 

Lorsque vous cliquez à nouveau sur l’icône du plug-in et que vous cliquez sur l’onglet Commencer l'activité, vous trouverez le code qui doit être ajouté pour initialiser Fabric. Copiez et collez ce code dans le onCreate méthode, avant l'appel à setContentView.

TwitterAuthConfig authConfig = new TwitterAuthConfig (TWITTER_KEY, TWITTER_SECRET); Fabric.with (this, nouveau Twitter (authConfig));

Le plugin génère ses propres valeurs pour la clé de consommateur et le secret de consommateur. Bien que vous puissiez utiliser ces valeurs, nous utiliserons les valeurs obtenues lors de l’enregistrement de notre application sur Twitter. Gestion des applications console plus tôt. Le code pour utiliser ces valeurs devrait ressembler à ceci:

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

En cliquant sur le bouton de connexion commence un externe Activité cela retourne un résultat. Pour capturer ce résultat, remplacez le onActivityResult méthode du Activité et passer les arguments reçus à la onActivityResult méthode du bouton:

@Override protected void onActivityResult (int requestCode, int resultCode, données d'intention) super.onActivityResult (requestCode, resultCode, data); loginButton.onActivityResult (requestCode, resultCode, data); 

Pour traiter le résultat de la tentative de connexion, vous devez créer un fichier personnalisé. Rappeler. Créer une classe interne nommée LoginHandler qui s'étend Rappeler, et surcharger toutes ses méthodes abstraites.

Les noms des méthodes de cette classe sont très intuitifs. En cas de connexion réussie, le Succès méthode est appelée. Sinon, le échec la méthode s'appelle.

classe privée LoginHandler étend Callback @Override public void success (Résultat twitterSessionResult)  @Override, échec de l'annonce publique (TwitterException e) 

Pour le TwitterLoginButton d'utiliser ce rappel personnalisé, dans le onCreate méthode du Activité, passer une instance de LoginHandler au bouton setCallback méthode.

loginButton.setCallback (new LoginHandler ());

En cas de tentative de connexion réussie, affichez le nom de l'utilisateur connecté et le jeton d'authentification. Les deux valeurs sont disponibles à partir du Les données domaine de Résultat. Pour obtenir le nom d'utilisateur de l'utilisateur connecté, utilisez getUsername. De même, pour utiliser le jeton d'authentification getAuthToken. Ajoutez le code suivant au Succès méthode:

String output = "Status:" + "Votre connexion a abouti" + twitterSessionResult.data.getUserName () + "\ nTable Token Received:" + twitterSessionResult.data.getAuthToken (). Token; status.setText (sortie);

En cas d'échec de la connexion, affichez un message indiquant "Échec de la connexion". Ajouter ce qui suit au échec méthode:

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

Étape 3: mettre à jour le manifeste

Définir les Activité vous venez de créer dans le manifeste de votre projet. Si c'est la première de votre application Activité, créer un filtre d'intention pour qu'il réponde android.intent.action.MAIN. Ajoutez le code suivant à votre fichier:

     

5. Construire et exécuter

Votre application est maintenant prête à être exécutée. Lorsque vous le construisez et que vous l'exécutez sur votre appareil Android, l'écran suivant s'affiche:

Si vous appuyez sur le bouton de connexion, vous serez redirigé vers Twitter. Notez que le nom et la description de l'application que vous avez spécifiés à la première étape de ce didacticiel sont affichés sur cette page..

Lorsque vous appuyez sur le Autoriser l'App bouton de connexion, la tentative de connexion est considérée comme réussie et vous êtes redirigé vers votre application. Vous verrez que le Affichage est mis à jour pour afficher le nom d'utilisateur et le jeton d'authentification.

Conclusion

Dans cette astuce, vous avez appris comment permettre aux utilisateurs de votre application de se connecter à l'aide de Twitter. Vous avez également appris à installer le plug-in Fabric pour Android Studio et à l'utiliser pour ajouter Twitter Kit à votre projet. Pour en savoir plus sur Fabric et Twitter Kit, reportez-vous à la documentation de Twitter Kit for Android..