Réseaux sociaux
Introduction
L’intégration des réseaux sociaux est une fonctionnalité indispensable pour toute application Android : cela permet aux utilisateurs de partager leur expérience avec leurs amis, et, pour le développeur, cela apporte une visibilité supplémentaire non négligeable pour l’application.
Nous allons voir dans ce chapitre deux démarches permettant d’intégrer le fameux bouton Partager (share, en anglais) à une application Android.
La première méthode peut être qualifiée d’intégration standard : très rapide à mettre en place, elle fournit l’essentiel, tout en étant très fortement dépendante de l’environnement dans lequel elle est exécutée.
La seconde méthode, qui propose une intégration complète avec les principaux réseaux sociaux, utilise une bibliothèque externe, open source, qui simplifie le travail en prenant en charge les spécificités de chaque réseau social.
Intégration standard
Cette première méthode proposée pour intégrer le partage sur les réseaux sociaux repose sur une philosophie simple : l’utilisateur possède sur son mobile les applications de réseaux sociaux qu’il affectionne. Dès lors, le partage d’informations doit se faire via ces applications, et non en développant une brique logicielle spécifique, qui ne sera qu’une version dégradée de ce que propose chaque application de réseau social.
La problématique est donc la suivante : exposer l’information à partager, et laisser le système et l’utilisateur choisir la meilleure solution pour finaliser ce partage.
1. Sous Android 2.x et 3.x
Les objets permettant de partager une information sur un appareil Android sont déjà connus et ont été étudiés dans le chapitre Intentions, récepteurs d’événements et services, section Intention : ce sont les intents.
Pour rappel, le fonctionnement des intentions est le suivant : il faut créer une intention en spécifiant l’action qui doit être effectuée, et éventuellement, rajouter des données sous forme d’extra.
Ici, l’action qui nous intéresse est l’action ACTION_SEND : elle stipule que l’application souhaite envoyer des informations. La cible de l’envoi n’est pas spécifiée, c’est le principe de fonctionnement des intentions, mais choisie par l’utilisateur à l’exécution, parmi les applications capables de prendre en charge la demande.
Le contenu à partager, dans le cadre de l’action choisie, doit être soit du texte, soit un fichier, envoyé sous format binaire.
Dans le premier cas (texte), le contenu sera placé dans l’extra Intent.EXTRA_TEXT, et le type MIME sera text/plain.
Dans le second cas (fichier binaire), c’est l’extra Intent.EXTRA_STREAM...
Intégration complète
La plupart des médias sociaux, si ce n’est tous, proposent une API pour Android qui permet de partager du contenu. Cependant, il serait fastidieux d’intégrer séparément chacune de ces API et d’assurer la maintenance pour chaque évolution de l’API. Une solution alternative, étudiée dans cette section, est de recourir à une API externe, qui prend en charge la plupart des traitements.
Plusieurs API de ce type existent sur le marché ; certaines sont payantes mais, la plupart sont gratuites. Le choix de l’API doit se faire sur plusieurs critères, qui ne doivent pas être négligés :
-
L’API doit être performante, et offrir toutes les fonctionnalités de partage propres à chaque média social.
-
L’API doit être régulièrement mise à jour par son ou ses auteurs, pour suivre les évolutions de chaque média.
-
Et enfin, le travail d’intégration doit être le plus léger possible.
Notre choix s’est porté, au regard de ces critères, sur l’API socialauth-android, version Android d’une célèbre API Java. Cette section présente toutes les étapes nécessaires à l’intégration de l’API, ainsi que les démarches à effectuer auprès des médias sociaux concernés.
1. Récupérer les clés d’API
Même si chaque média social fonctionne d’une façon qui lui est propre, certains schémas d’utilisation sont partagés par tous ; c’est le cas de la connexion avec les applications tierces. Tous les médias demandent, pour autoriser la publication de données dans leurs flux, à ce que l’application qui envoie la demande soit référencée auprès du média.
La première étape consiste donc à référencer son application auprès de chaque média social. Ceux-ci, en retour, fournissent un couple (clé API/clé secrète) qui permet d’identifier l’application qui envoie le contenu.
Nous allons voir comment procéder pour Facebook, sachant que la démarche est en général identique pour tous...