Die Serverimplementierung ist optional. Verwenden Sie bei Bedarf den Instanz-ID-Dienst um folgende Vorgänge auszuführen:
- Informationen zu Anwendungsinstanzen abrufen Überprüfen Sie App-Tokens oder rufen Sie weitere Informationen zur App-Instanz ab, die das Token erstellt hat.
- Beziehungszuordnungen für Anwendungsinstanzen erstellen Erstellen von Beziehungen zwischen Anwendungsinstanzen und -entitäten.
- Registrierungstokens für APNs-Tokens erstellen Mit dieser API können Sie Bulk-Importe bestehende APNs-Tokens an und ordnen sie gültigen Registrierungstokens für FCM zu.
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 demAuthorization
-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 auftrue
fest, um FCM zu erhalten. Aboinformationen für das Thema (falls vorhanden), die mit diesem Token verknüpft sind. Wenn nicht angegeben, wird standardmäßigfalse
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
: gibtANDROID
,IOS
oderCHROME
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 demAuthorization
-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 demAuthorization
-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 einen 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 demAuthorization
-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 Sandbox-Umgebung (TRUE) oder Produktion (FALSE) anzugebenapns_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 demauthorizedEntity
.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.