Serverreferenz

Die Serverimplementierung ist optional. Verwenden Sie bei Bedarf den Instanz-ID-Dienst um folgende Vorgänge auszuführen:

Informationen zu Anwendungsinstanzen abrufen

Rufen Sie den Instanz-ID-Dienst unter auf, um Informationen zu einer App-Instanz zu erhalten Diesen Endpunkt unter Angabe des Tokens der Anwendungsinstanz, wie hier gezeigt:

 https://iid.googleapis.com/iid/info/IID_TOKEN

Parameter

  • Authorization: Bearer <access_token> Legen Sie diesen Parameter im Header fest. Fügen Sie dem Authorization-Header ein kurzlebiges OAuth2-Token hinzu. Weitere Informationen zum Abrufen dieses Tokens finden Sie unter Geben Sie die Anmeldedaten manuell ein.
  • access_token_auth: true Legen Sie diesen Parameter im Header fest.
  • [optional] boolescher Wert details: Legen Sie diesen Abfrageparameter auf true fest, um FCM zu erhalten. Aboinformationen für das Thema (falls vorhanden), die mit diesem Token verknüpft sind. Wenn nicht angegeben, wird standardmäßig false verwendet.

Ergebnisse

Bei Erfolg gibt der Aufruf den HTTP-Status 200 und ein JSON-Objekt zurück, das Folgendes enthält:

  • application: Paketname, der mit dem Token verknüpft ist.
  • authorizedEntity – Projekt-ID, die zum Senden an das Token autorisiert ist.
  • applicationVersion ist die Version der Anwendung.
  • platform: gibt ANDROID, IOS oder CHROME zurück, um das Gerät anzugeben. Plattform, zu der das Token gehört.

Wenn das Flag details festgelegt ist:

  • rel: Beziehungen, die mit dem Token verknüpft sind. Zum Beispiel eine Liste mit Themen, Abos.

Beispiel für eine GET-Anfrage

https://iid.googleapis.com/iid/info/nKctODamlM4:CKrh_PC8kIb7O...clJONHoA
Content-Type:application/json
Authorization: Bearer ya29.ElqKBGN2Ri_Uz...HnS_uNreA
access_token_auth: true

Beispielergebnis

HTTP 200 OK
{
  "application":"com.iid.example",
  "authorizedEntity":"123456782354",
  "platform":"Android",
  "rel":{
    "topics":{
      "topicname1":{"addDate":"2015-07-30"},
      "topicname2":{"addDate":"2015-07-30"},
      "topicname3":{"addDate":"2015-07-30"},
      "topicname4":{"addDate":"2015-07-30"}
    }
  }
}

Beziehungszuordnungen für Anwendungsinstanzen erstellen

Mit der Instance ID API können Sie Beziehungszuordnungen für Anwendungsinstanzen erstellen. Sie können z. B. ein Registrierungstoken einem FCM-Thema zuordnen, die Anwendungsinstanz für das Thema abonnieren. Die API bietet Methoden zum Erstellen sowohl einzeln als auch in größerer Menge.

Beziehungszuordnung für eine Anwendungsinstanz erstellen

Mit einem Registrierungstoken und einer unterstützten Beziehung können Sie eine Zuordnung. Sie können beispielsweise für eine App-Instanz ein FCM-Thema abonnieren. indem Sie den Instanz-ID-Dienst unter Diesen Endpunkt unter Angabe des Tokens der Anwendungsinstanz, wie hier gezeigt:

 https://iid.googleapis.com/iid/v1/IID_TOKEN/rel/topics/TOPIC_NAME

Parameter

  • Authorization: Bearer <access_token> Legen Sie diesen Parameter im Header fest. Fügen Sie dem Authorization-Header ein kurzlebiges OAuth2-Token hinzu. Weitere Informationen zum Abrufen dieses Tokens finden Sie unter Geben Sie die Anmeldedaten manuell ein.
  • access_token_auth: true Legen Sie diesen Parameter im Header fest.

Ergebnisse

Bei Erfolg gibt der Aufruf den HTTP-Status 200 zurück.

Beispiel für eine POST-Anfrage

https://iid.googleapis.com/iid/v1/nKctODamlM4:CKrh_PC8kIb7O...clJONHoA/rel/topics/movies
Content-Type:application/json
Content-Length: 0
Authorization: Bearer ya29.ElqKBGN2Ri_Uz...HnS_uNreA
access_token_auth: true

Beispielergebnis

HTTP 200 OK
{}

Beziehungskarten für mehrere App-Instanzen verwalten

Mit den Batchmethoden des Instanz-ID-Dienstes können Sie Verwaltung von App-Instanzen. Sie können beispielsweise Bulk-Aktionen Hinzufügen oder Entfernen von App-Instanzen zu einem FCM-Thema Instanz-ID aufrufen, um bis zu 1.000 App-Instanzen pro API-Aufruf zu aktualisieren an diesem Endpunkt an und stellen Sie die App-Instanztokens im JSON-Text bereit:

 https://iid.googleapis.com/iid/v1:batchAdd

 https://iid.googleapis.com/iid/v1:batchRemove

Parameter

  • Authorization: Bearer <access_token> Legen Sie diesen Parameter im Header fest. Fügen Sie dem Authorization-Header ein kurzlebiges OAuth2-Token hinzu. Weitere Informationen zum Abrufen dieses Tokens finden Sie unter Geben Sie die Anmeldedaten manuell ein.
  • access_token_auth: true Legen Sie diesen Parameter im Header fest.
  • to : Der Name des Themas.
  • registration_tokens : Das Array der IID-Tokens für die Anwendungsinstanzen, die Sie hinzufügen oder entfernen möchten.

Ergebnisse

Bei Erfolg gibt der Aufruf den HTTP-Status 200 zurück. Leere Ergebnisse weisen auf Erfolg hin für das Token. Bei fehlgeschlagenen Abos enthält das Ergebnis eins folgenden Fehlercodes stehen:

  • NOT_FOUND: Das Registrierungstoken wurde gelöscht oder die App wurde deinstalliert.
  • INVALID_ARGUMENT : Das angegebene Registrierungstoken ist für die Absender-ID nicht gültig.
  • INTERN: Der Backend-Server ist aus unbekannten Gründen fehlgeschlagen. Wiederholen Sie die Anfrage.
  • TOO_MANY_TOPICS: Übermäßig viele Themen pro Anwendungsinstanz.
  • RESOURCE_EXHAUSTED: Zu viele Abonnement- oder Kündigungsanfragen innerhalb eines kurzen Zeitraums. Wiederholen Sie den Vorgang mit exponentiellem Backoff.

Beispiel für eine POST-Anfrage

https://iid.googleapis.com/iid/v1:batchAdd
Content-Type:application/json
Authorization: Bearer ya29.ElqKBGN2Ri_Uz...HnS_uNreA
access_token_auth: true
{
   "to": "/topics/movies",
   "registration_tokens": ["nKctODamlM4:CKrh_PC8kIb7O...", "1uoasi24:9jsjwuw...", "798aywu:cba420..."],
}

Beispielergebnis

HTTP 200 OK
{
  "results":[
    {},
    {"error":"NOT_FOUND"},
    {},
  ]
}

Registrierungstokens für APNs-Tokens erstellen

Mit der Methode batchImport des Instanz-ID-Dienstes können Sie einen Bulk-Import ausführen Vorhandene iOS APNs-Tokens zu Firebase Cloud Messaging und zuordnen zu gültigen Registrierungstokens. Instanz-ID-Dienst aufrufen unter diesen Endpunkt und stellen Sie im JSON-Text eine Liste von APNs-Tokens bereit:

 https://iid.googleapis.com/iid/v1:batchImport

Der Antworttext enthält ein Array mit Registrierungstokens für die Instanz-ID. wird zum Senden von FCM-Nachrichten an das entsprechende APNs-Gerätetoken verwendet.

Parameter

  • Authorization: Bearer <access_token> Legen Sie diesen Parameter im Header fest. Fügen Sie dem Authorization-Header ein kurzlebiges OAuth2-Token hinzu. Weitere Informationen zum Abrufen dieses Tokens finden Sie unter Geben Sie die Anmeldedaten manuell ein.
  • access_token_auth: true Legen Sie diesen Parameter im Header fest.
  • application : Bundle-ID der App.
  • sandbox : Boolescher Wert, um die Sandbox-Umgebung (TRUE) oder Produktion (FALSE) anzugeben
  • apns_tokens : Das Array der APNs-Tokens für die App-Instanzen, die Sie hinzufügen oder entfernen möchten. Maximal 100 Tokens pro Anfrage.

Ergebnisse

Bei Erfolg gibt der Aufruf den HTTP-Status 200 und einen JSON-Ergebnistext zurück. Für jede APNs-Token, das in der Anfrage angegeben wurde. Die Ergebnisliste enthält Folgendes:

  • Das APNs-Token.
  • Status aus. Entweder „OK“ oder eine Fehlermeldung, die den Fehler beschreibt.
  • Für erfolgreiche Ergebnisse das Registrierungstoken, das FCM dem APNs-Token zuordnet.

Beispiel für eine POST-Anfrage

https://iid.googleapis.com/iid/v1:batchImport
Authorization: Bearer ya29.ElqKBGN2Ri_Uz...HnS_uNreA
access_token_auth:true
{
  "application": "com.google.FCMTestApp",
  "sandbox":false,
  "apns_tokens":[
      "368dde283db539abc4a6419b1795b6131194703b816e4f624ffa12",
      "76b39c2b2ceaadee8400b8868c2f45325ab9831c1998ed70859d86"
   ]
}

Beispielergebnis

HTTP 200 OK
{
 "results":[
       {
        "apns_token": "368dde283db539abc4a6419b1795b6131194703b816e4f624ffa12",
         "status": "OK",
         "registration_token":"nKctODamlM4:CKrh_PC8kIb7O...clJONHoA"
       },
       {
         "apns_token": "76b39c2b2ceaadee8400b8868c2f45325ab9831c1998ed70859d86",
         "status":"Internal Server Error"
        },
     ]
  }

Fehlerantworten

Aufrufe der Instanz-ID-Server-API geben zurück folgenden HTTP-Fehlercodes angezeigt:

  • HTTP status 400 (Bad request): Anfrageparameter fehlen oder sind ungültig. Detaillierte Informationen finden Sie in den Fehlermeldungen.
  • HTTP status 401 (Unauthorized): Der Autorisierungsheader ist ungültig.
  • HTTP status 403 (Forbidden): Der Autorisierungsheader stimmt nicht mit dem authorizedEntity.
  • HTTP status 404 (Not found): Ungültiger HTTP-Pfad oder IID-Token nicht gefunden. Detaillierte Informationen finden Sie in den Fehlermeldungen.
  • HTTP status 503 (Service unavailable): Der Dienst ist nicht verfügbar. Wiederholen Sie den mit exponentiellem Backoff.