Nutzer über Apps und Seiten hinweg zuordnen

Wenn du bei der Test-, Entwicklungs-, Staging- und QA-Version deiner App jeweils dieselbe spezifische Nutzer-ID verwenden möchtest, sind Test-Apps die richtige Wahl.

Facebook gibt App-spezifische Nutzer-IDs für Personen aus, die sich zuerst bei einer Instanz einer App anmelden, und für Personen, die sich mit Limited Login anmelden. Für Personen, die zuerst einen Messenger-Bot verwenden, gibt Facebook seitenspezifische Nutzer-IDs aus. Per Definition bedeutet das, dass eine Person bei diesen Apps und Bots unterschiedliche IDs hat.

Ein Unternehmen kann mehrere Facebook-Apps oder -Bots betreiben. Das ist eine gängige Methode in Game-Studios, beispielsweise zur Unterstützung von Anwendungsfällen wie Cross-Promotion oder Betrugserkennung, und in Bots, die zur Kommunikation mit Nutzern eingesetzt werden. In diesen Fällen musst du die IDs einer einzelnen Person zwischen Apps und Bots zuordnen.

Für die Zuordnung eines Nutzers in mehreren Apps gibt es drei Methoden:

Bevor du diese Funktionen nutzen kannst, musst du Facebook mitteilen, dass deine Apps zu demselben Unternehmen gehören und von demselben Unternehmen betrieben werden. Dazu musst du im Facebook Business Manager:

Das Feld token_for_business auf dem Nutzer-Node

Sobald eine App mit einem Business Manager verknüpft wurde, kannst du das Feld token_for_business auf dem Node User anfordern. Verwende dazu die App-spezifische ID, die du von Limited Login oder der ersten Anmeldung bei einer Instanz einer App erhalten hast. Durch diesen Aufruf wird ein String zurückgegeben, der für diese Person in allen von diesem Business Manager verwalteten Apps identisch ist.

GET /me?fields=token_for_business

ergibt Folgendes:

{
  "id": "1234567890"
  "token_for_business": "weg23ro87gfewblwjef"
}

Anwendungshinweise:

  • Die abgefragte Person muss bei dieser App angemeldet sein.
  • Dieses Feld kann mit einem App-Zugriffsschlüssel oder einem Benutzer-Zugriffsschlüssel aufgerufen werden. Bei Verwendung eines Benutzerschlüssels muss die abgefragte Person die Person sein, für die der Schlüssel erzeugt wurde.
  • Wenn du eine App-spezifische ID von Limited Login verwendest, musst du für den Aufruf die App-ID deiner App verwenden, weil du keinen gültigen Nutzer-Zugriffsschlüssel für Graph API-Aufrufe hast. Beachte, dass in diesem Kontext die Schutzmechanismen von Limited Login nicht unterstützt werden.
  • Wenn sich das Unternehmen ändert, ändert sich auch der Wert von token_for_business.
  • Wenn du das Feld token_for_business anforderst und die App nicht mit einem Business Manager verknüpft ist, führt der Aufruf zu einem Fehler.
  • Der von token_for_business zurückgegebene Wert ist ein Schlüssel, keine ID. Der Wert kann nicht direkt mit der Graph API für den Zugriff auf die Informationen einer Person verwendet werden. Du solltest die ID dennoch in der Datenbank speichern und diese bei dem Aufruf verwenden, mit dem du die Informationen zu dieser Person von der Graph API abrufst.

Praktischerweise ist das Feld token_for_business in allen API-Versionen verfügbar.

Die Eigenschaft token_for_business im Canvas-Objekt signed_request

Damit Apps mit einem Canvas auf einfache Weise einen Nutzer über mehrere Apps hinweg zuordnen können (insofern die App mit einem Business Manager verknüpft ist und der Nutzer sich bei dieser App angemeldet hat), wird das Feld token_for_business hinzugefügt und über signed_request beim Laden an Canvas-Apps übergeben. Beispiel:

{
  "algorithm": "HMAC-SHA256",
  "expires": 1414263600,
  "issued_at": 1414257389,
  "oauth_token": "CAAGEkq9GMZAkBAFnvvQ3M6msZBKITLa1gVZBVdnLTdJue2QeV6fMKRXn4G6fcEZB5ZAJyg3z6HdaKOJCCMJ1l9YFWmN4hq6nNnx77f9O7SYhsnPcJ6iH79xjFwqhrALgieDp7GiziMy5Y3Mol6RzHvCM5ceqQe9ZAijvrWZB5hEIwphbMQKEwZA4ZBozXP3NJgEZA3nZCMTTtvleWpxfmqIqO5XwxneCZBsZC4",
  "token_for_business": "AbwoGqummPbF3zp_",
  "user_id": "10154418713995634"
}

Der Wert des Feldes token_for_business ist identisch mit dem Wert, der bei direkter Abfrage des Nodes User (d. h. über /me?fields=token_for_business) ermittelt wird. Dabei gelten auch dieselben Regeln. Wenn sich das Unternehmen also ändert, ändert sich auch der Wert von token_for_business.

Wenn die App nicht mit einem Business Manager verknüpft oder der Nutzer nicht bei der App angemeldet ist, ist die Eigenschaft token_for_business nicht im Objekt signed_request vorhanden.

Die Edge ids_for_business auf dem Nutzer-Node

Zugeordnete Unternehmens-IDs kannst du über die Edge ids_for_business auf dem Node User abrufen. Als Antwort wird ein Array von Objekten angezeigt, die jeweils für eine App stehen, die mit demselben Unternehmen verknüpft ist wie die aufrufende App, bei der sich der Nutzer ebenfalls angemeldet hat.

GET /me/ids_for_business

Beispielantwort:

{
  "data": [
    {
      "id": "10153949089790582", 
      "app": {
        "name": "Business's App 1", 
        "namespace": "business_app_1", 
        "id": "647733625268125"
      }
    }, 
    {
      "id": "605665581", 
      "app": {
        "name": "Business's App 2", 
        "namespace": "business_app_2", 
        "id": "370612223054807"
      }
    }, 
    {
      "id": "10154053730190582", 
      "app": {
        "name": "Business's App 3", 
        "namespace": "business_app_3", 
        "id": "194890427204075"
      }
    }
  ]
}

Damit die Daten von der API zurückgegeben werden, muss sich der Nutzer bei einer oder mehreren Apps angemeldet haben, die mit demselben Unternehmen verknüpft sind wie die App, von der aus du den API-Aufruf durchführst. Beispiel: Wenn eine Person an 3 von 5 mit einem Unternehmen verknüpften Apps angemeldet ist, gibt die API 3 Objekte zurück.

FAQs

Muss ich die Business Mapping API verwenden?

Nein. Die Business Mapping API ist nur für Unternehmen hilfreich, die mehrere Facebook-Apps betreiben und die IDs eines einzelnen Nutzers über diese Apps hinweg zuordnen müssen. Wenn du eine primäre App hast, wirst du die Business Mapping API wahrscheinlich nicht benötigen und auch kein Unternehmen einrichten oder deine Apps mit dem Unternehmen verknüpfen.

Was ist Business Manager?

Mit dem Business Manager können Unternehmen und Agenturen ihre Facebook-Seiten, Werbekonten, Apps und Zahlungsmethoden von einem zentralen Punkt aus verwalten. Hier erfährst du mehr über den Business Manager.

Ich denke, dass ich die Business Mapping API nicht benötige, aber muss ich meine Apps dennoch mit einem Unternehmen verknüpfen?

Wenn du die Business Mapping API nicht verwenden möchtest, solltest du zum jetzigen Zeitpunkt kein Unternehmen einrichten. Da ein Unternehmen mit der primären Facebook-Seite für dein Unternehmen verknüpft werden muss, kann die Person das Unternehmen am besten in Facebook einrichten, die in der Regel die Facebook-Werbekonten und Seitenberechtigungen für dein Unternehmen verwaltet. Wenn dein Unternehmen bereits in Business Manager eingerichtet wurde, kannst du Apps mit diesem Unternehmen verknüpfen.

Kann ich meine App mit mehreren Unternehmen verknüpfen?

Nein. Eine App kann nicht mit mehreren Unternehmen gleichzeitig verknüpft werden.

Kann ich eine App an ein anderes Unternehmen übertragen?

Ja. Zuerst musst du die App aus dem Unternehmen entfernen, mit dem es zurzeit verknüpft ist. Das kannst du in Business Manager erledigen. Wähle dafür einfach auf der Registerkarte „Anwendungen“ in deinen Unternehmenseinstellungen die App aus und klicke auf „Entfernen“. Anschließend kannst du die App mit einem neuen Unternehmen verknüpfen.