Verhalten bei abgelehnten Berechtigungen

Wenn Nutzer Accounts anlegen oder sich über Facebook Login bei deiner App anmelden, können sie dir die angeforderten Berechtigungen erteilen. Sie können alle angeforderten Berechtigungen allerdings auch ablehnen, mit Ausnahme des öffentlichen Profils. Das kann daran liegen, dass sie sich dabei unwohl fühlen, diese Informationen mit deiner App zu teilen, oder dass sie nicht verstehen, wie diese Informationen dazu verwendet werden, ihre Nutzererfahrung zu verbessern.

Wenn sich Nutzer dazu entschließen, Berechtigungen abzulehnen, ist es wichtig, dass deine App dies respektiert und ihnen trotzdem eine großartige Nutzererfahrung bietet.

Deine App hat im Allgemeinen drei Möglichkeiten:

  1. ohne die Informationen fortfahren
  2. erklären, warum die Informationen benötigt werden, und sie neu anfordern
  3. die Informationen selbst sammeln

Ohne die Informationen fortfahren

In manchen Fällen ist eine bestimmte angeforderte Berechtigung zur Ausführung deiner App nicht erforderlich. Hier wäre es am einfachsten, die Entscheidung des Nutzers, die angeforderte Berechtigung nicht zu erteilen, zu respektieren und ihn zur App weiterzuleiten.

Im Beispiel unten könnte Flick Finder dem Nutzer bessere Filmvorschläge anbieten, wenn die App Zugriff auf die user_likes hätte. Da der Nutzer diesen Zugriff aber nicht gewährt hat, kann Flick Finder ihm nur allgemeine Vorschläge machen.

Das ist die einfachste Möglichkeit und bietet Nutzern, die bestimmte Berechtigungen nicht erteilen wollen, trotzdem eine großartige Erfahrung.

Erklären, warum die Informationen benötigt werden, und sie neu anfordern

Manche Nutzer erteilen eine Berechtigung nicht, weil sie nicht verstehen, warum die App diese Informationen benötigt. In diesem Fall sollte in deiner App ein Dialogfenster angezeigt werden, in dem erklärt wird, warum du diese Informationen benötigst und wie sie dazu verwendet werden, die Nutzererfahrung zu verbessern.

Im Beispiel unten wird in Flick Finder ein Dialogfenster angezeigt, in dem erklärt wird, dass die App die E-Mail-Adresse dazu verwendet, dem Nutzer aktuelle Vorschläge zu schicken, wenn neue Filme verfügbar sind. Über den Button „E-Mail hinzufügen“ wird der Nutzer wieder zum Facebook Login-Vorgang zurückgeschickt. Dort kann er der App die email-Berechtigung erteilen.

Beachte dabei, dass der Nutzer in diesem Fall weiterhin die Möglichkeit hat, deiner App die email-Berechtigung nicht zu erteilen.

Diese Strategie kannst du bei Berechtigungen anwenden, die für die Funktionalität deiner App kritisch oder zumindest sehr wünschenswert sind.

Die Informationen selbst sammeln

Manche Informationen kannst du auch ganz einfach selber sammeln.

In diesem Beispiel möchte Flick Finder den Geburtstag eines Nutzers herausfinden, damit es ihm altersgerechte Filme empfehlen kann. Wenn ein Nutzer seinen Geburtstag bei der Anmeldung über Facebook nicht preisgeben möchte, kann Flick Finder diese Information trotzdem innerhalb der App, aber abseits des Facebook Login-Vorgangs, erheben. Wir empfehlen dir, dies erst dann zu tun, wenn ein Nutzer Gelegenheit hatte, sich mit deiner App vertraut zu machen, damit er besser versteht, wie diese Berechtigung seine Nutzererfahrung verbessert.

Beispiele von Informationen, die du auf diese Weise sammeln kannst: user_hometown, user_location, user_birthday oder sogar email.

Erkennen abgelehnter Berechtigungen

Wenn Nutzer Berechtigungen beim Facebook Login-Vorgang nicht gewähren, kann deine App das ganz leicht feststellen und mit einer der oben aufgeführten Strategien reagieren.

Android-SDK

Auf Android kannst du die getDeclinedPermissions-Methode des AccessToken-Objekts im Facebook-SDK für Android aufrufen.

iOS-SDK

Auf iOS kannst du die [FBSDKAccessToken declinedPermissions]-Methode für das Facebook-SDK für iOS aufrufen.

JavaScript-SDK

Um abgelehnte Berechtigungen zu erkennen, kannst du den permissions-Bereich des User-Objekts der Graph API aufrufen. Du kannst alle abgelehnten Berechtigungen sammeln, indem du die Antwort wiederholst:

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())
});

API

Um abgelehnte Berechtigungen zu erkennen, kannst du den permissions-Bereich des User-Objekts der Graph API aufrufen:

GET https://graph.facebook.com/me/permissions?access_token=USER_ACCESS_TOKEN

Die Antwort sieht folgendermaßen aus:

{ "data": [
    {
      "permission": "user_birthday",
      "status": "granted"
    },
    {
      "permission": "public_profile",
      "status": "granted"
    },
    {
      "permission": "email",
      "status": "declined"
    }
]}

Deine App weiß dadurch, dass der Nutzer die Berechtigungen user_birthday und public_profile erteilt hat, die email-Berechtigung aber abgelehnt hat.

Zusammenfassung

Eine professionelle Handhabung abgelehnter Berechtigungen ist ein wichtiger Bestandteil einer großartigen Nutzererfahrung bei Facebook Login.

Mit der Implementierung einer der oben genannten Strategien stellst du sicher, dass sich die Nutzer, die deine App heruntergeladen und installiert haben, anmelden können, ohne auf frustrierende Probleme zu stoßen, die den Ruf deiner App nachhaltig schädigen und sich somit negativ auf die Bewertung im App-Store auswirken können.