Lorsqu’une personne crée des comptes ou se connecte à votre app à l’aide de Facebook Login, elle a la possibilité d’accorder les autorisations que vous demandez. Cependant, elle peut également refuser toutes les autorisations, à l’exception de celle concernant son profil public. Elle peut choisir cette option si elle hésite à partager ces informations avec votre app ou si elle ne comprend pas comment ces informations vont être utilisées pour améliorer son expérience.
Lorsqu’une personne choisit de refuser les autorisations, il est important que votre app respecte son choix et continue à lui offrir une expérience agréable.
En général, votre app peut réagir de l’une des trois façons suivantes :
Dans certaines circonstances, il se peut que votre app n’ait pas besoin d’une autorisation demandée pour fonctionner. Dans ce cas, la meilleure chose à faire est de respecter le refus et de continuer à diriger la personne vers l’app.
Dans l’exemple ci-dessous, l’application Flick Finder aurait pu recommander de meilleurs films si elle avait accès à l’autorisation user_likes
. Or, puisque la personne a refusé l’autorisation, Flick Finder formule simplement des recommandations à caractère plus général.
Cette option est la plus simple et elle respecte le choix des personnes qui choisissent de refuser certaines autorisations.
Les gens peuvent refuser une autorisation, car ils ne savent pas pourquoi votre app a besoin de ces informations. Dans ce cas, votre app peut afficher une boîte de dialogue qui explique pourquoi vous avez besoin des informations et comment vous allez les utiliser pour améliorer l’expérience.
Dans l’exemple ci-dessous, Flick Finder affiche une boîte de dialogue qui explique que si l’utilisateur fournit une adresse e-mail, l’app peut le tenir informé lorsque de nouveaux films sont disponibles. Le bouton « Add Email » (Ajouter une adresse e-mail) permet de renvoyer la personne vers le processus Facebook Login pour qu’elle puisse accorder l’autorisation email
.
Notez que dans cet exemple, la personne a toujours la possibilité de ne pas accorder l’autorisation email
.
Il est possible d’utiliser cette stratégie pour une autorisation qui est souhaitable, voire essentielle au fonctionnement de votre app.
Certaines informations peuvent être suffisamment simples pour être recueillies par vous-même.
Dans cet exemple, Flick Finder veut collecter la date de naissance d’une personne pour pouvoir recommander des films adaptés à son âge. Si une personne a refusé d’indiquer sa date de naissance lorsqu’elle s’est connectée avec Facebook, Flick Finder peut toujours créer un endroit où collecter cette information dans l’app, séparément du processus Facebook Login. Nous vous recommandons d’effectuer cette opération lorsque la personne a eu le temps de se familiariser avec votre app. De cette façon, elle comprend mieux comment l’autorisation améliorera son expérience.
Vous pouvez par exemple collecter les informations suivantes de cette façon : user_hometown
, user_location
, user_birthday
, voire email
.
Lorsque des personnes refusent des autorisations dans le cadre d’un processus Facebook Login, nous aidons votre app à détecter facilement ce comportement et à réagir à l’aide de l’une des stratégies susmentionnées.
Sur les appareils Android, vous pouvez appeler la méthode getDeclinedPermissions
sur l’objet AccessToken
dans le SDK Facebook pour Android.
Sur les appareils iOS, vous pouvez appeler la méthode [FBSDKAccessToken declinedPermissions]
dans le SDK Facebook pour iOS.
Pour détecter les autorisations refusées, vous pouvez appeler l’arête permissions
sur l’objet User
de l’API Graph. Vous pouvez collecter toute autorisation refusée par une itération de la réponse :
FB.api('/me/permissions', function(response) { var declined = []; for (i = 0; i < response.data.length; i++) { if (response.data[i].status == 'declined') { declined.push(response.data[i].permission) } } alert(declined.toString()) });
Pour détecter les autorisations refusées, vous pouvez appeler l’arête permissions
sur l’objet User
de l’API Graph :
GET https://graph.facebook.com/me/permissions?access_token=USER_ACCESS_TOKEN
Cela produit une réponse sous la forme suivante :
{ "data": [ { "permission": "user_birthday", "status": "granted" }, { "permission": "public_profile", "status": "granted" }, { "permission": "email", "status": "declined" } ]}
Cela indique à votre app que la personne a accordé les autorisations user_birthday
et public_profile
, mais a choisi de refuser l’autorisation email
.
Une gestion avec délicatesse des autorisations refusées fait partie de la stratégie visant à offrir aux gens une expérience agréable avec Facebook Login.
Si vous appliquez l’une des stratégies susmentionnées, vous pouvez vous assurer que les personnes qui téléchargent et installent votre app peuvent se connecter sans vivre une expérience perturbante ou frustrante, qui peut avoir un impact négatif sur la réputation de votre app et son classement dans la boutique d’applications.