Riferimento server

L'implementazione sul server è facoltativa. Usa il servizio ID istanza se vuoi per eseguire queste operazioni:

Ottieni informazioni sulle istanze di app

Per ottenere informazioni su un'istanza di app, chiama il servizio ID istanza all'indirizzo questo endpoint, fornendo il token dell'istanza dell'app come mostrato:

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

Parametri

  • Authorization: Bearer <access_token>. Imposta questo parametro nell'intestazione. Aggiungi un token OAuth2 di breve durata come valore dell'intestazione Authorization. Per ulteriori informazioni su come ottenere questo token, consulta Fornisci le credenziali manualmente.
  • access_token_auth: true. Imposta questo parametro nell'intestazione.
  • [Facoltativo] booleano details: imposta questo parametro di query su true per ottenere FCM informazioni sulla sottoscrizione all'argomento (se presenti) associate a questo token. Quando non è specificato, il valore predefinito è false.

Risultati

Se l'operazione riesce la chiamata restituisce lo stato HTTP 200 e un oggetto JSON contenente:

  • application: nome del pacchetto associato al token.
  • authorizedEntity: projectId autorizzato all'invio al token.
  • applicationVersion: la versione dell'applicazione.
  • platform - restituisce ANDROID, IOS o CHROME per indicare il dispositivo alla piattaforma a cui appartiene il token.

Se il flag details è impostato:

  • rel: relazioni associate al token. Ad esempio, un elenco di argomenti abbonamenti.

Esempio di richiesta GET

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

Esempio di risultato

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"}
    }
  }
}

Creazione di mappe delle relazioni per le istanze di app

L'API Instance ID consente di creare mappe delle relazioni per le istanze di app. Ad esempio, puoi mappare un token di registrazione a un argomento FCM, sottoscrivendo l'istanza dell'app all'argomento. L'API fornisce metodi per creare tali relazioni sia individualmente che in blocco.

Crea una mappatura delle relazioni per un'istanza di app

Dati un token di registrazione e una relazione supportata, puoi creare un mapping. Ad esempio, puoi sottoscrivere un'istanza di app per un argomento FCM chiamando il servizio ID istanza all'indirizzo questo endpoint, fornendo il token dell'istanza dell'app come mostrato:

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

Parametri

  • Authorization: Bearer <access_token>. Imposta questo parametro nell'intestazione. Aggiungi un token OAuth2 di breve durata come valore dell'intestazione Authorization. Per ulteriori informazioni su come ottenere questo token, consulta Fornisci le credenziali manualmente.
  • access_token_auth: true. Imposta questo parametro nell'intestazione.

Risultati

Se l'operazione riesce, la chiamata restituisce lo stato HTTP 200.

Esempio di richiesta POST

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

Esempio di risultato

HTTP 200 OK
{}

Gestisci le mappe delle relazioni per più istanze di app

Utilizzando i metodi batch del servizio ID istanza, puoi eseguire operazioni la gestione delle istanze di app. Ad esempio, puoi eseguire attività aggiunta o rimozione di istanze di app a un argomento FCM. Per aggiornare fino a 1000 istanze di app per chiamata API, chiama l'ID istanza in questo endpoint, fornendo i token di istanza dell'app nel corpo JSON:

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

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

Parametri

  • Authorization: Bearer <access_token>. Imposta questo parametro nell'intestazione. Aggiungi un token OAuth2 di breve durata come valore dell'intestazione Authorization. Per ulteriori informazioni su come ottenere questo token, consulta Fornisci le credenziali manualmente.
  • access_token_auth: true. Imposta questo parametro nell'intestazione.
  • to : il nome dell'argomento.
  • registration_tokens : l'array di token IID per le istanze di app da aggiungere o rimuovere.

Risultati

Se l'operazione riesce, la chiamata restituisce lo stato HTTP 200. I risultati vuoti indicano un'operazione riuscita abbonamento per il token. Per gli abbonamenti non riusciti, il risultato contiene uno di questi codici di errore:

  • NOT_FOUND. Il token di registrazione è stato eliminato o l'app è stata disinstallata.
  • INVALID_ARGUMENT — Il token di registrazione fornito non è valido per l'ID mittente.
  • INTERNAL - Errore del server di backend per motivi sconosciuti. Riprova a inviare la richiesta.
  • TOO_MANY_TOPICS: numero eccessivo di argomenti per istanza di app.
  • RESOURCE_EXHAUSTED: troppe richieste di sottoscrizione o annullamento dell'iscrizione in un breve periodo di tempo. Riprova con il backoff esponenziale.

Esempio di richiesta POST

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..."],
}

Esempio di risultato

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

Crea token di registrazione per i token del servizio APN

Se utilizzi il metodo batchImport del servizio ID istanza, puoi eseguire l'importazione collettiva i token del servizio APN iOS esistenti a Firebase Cloud Messaging, mappandoli a token di registrazione validi. Chiama il servizio ID istanza all'indirizzo questo endpoint, fornendo un elenco di token del servizio APN nel corpo JSON:

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

Il corpo della risposta contiene un array di token di registrazione ID istanza pronti da utilizzare per inviare messaggi FCM al token dispositivo del relativo APN.

Parametri

  • Authorization: Bearer <access_token>. Imposta questo parametro nell'intestazione. Aggiungi un token OAuth2 di breve durata come valore dell'intestazione Authorization. Per ulteriori informazioni su come ottenere questo token, consulta Fornisci le credenziali manualmente.
  • access_token_auth: true. Imposta questo parametro nell'intestazione.
  • application : ID bundle dell'app.
  • sandbox : valore booleano per indicare l'ambiente sandbox (TRUE) o la produzione (FALSE)
  • apns_tokens : l'array di token del servizio APN per le istanze di app da aggiungere o rimuovere. Massimo 100 token per richiesta.

Risultati

Se l'operazione riesce, la chiamata restituisce lo stato HTTP 200 e un corpo del risultato JSON. Per ogni Token del servizio APN fornito nella richiesta, l'elenco dei risultati include:

  • Il token del servizio APN.
  • Stato. OK o un messaggio di errore che descrive l'errore.
  • Per ottenere risultati ottimali, il token di registrazione che FCM mappa al token del servizio APN.

Esempio di richiesta POST

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"
   ]
}

Esempio di risultato

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

Risposte di errore

Chiamate all'API server dell'ID istanza i seguenti codici di errore HTTP:

  • HTTP status 400 (Bad request): parametri della richiesta mancanti o non validi. Per informazioni dettagliate, consulta i messaggi di errore.
  • HTTP status 401 (Unauthorized): l'intestazione dell'autorizzazione non è valida.
  • HTTP status 403 (Forbidden) - l'intestazione di autorizzazione non corrisponde alla authorizedEntity.
  • HTTP status 404 (Not found) - Percorso HTTP o token IID non valido non trovato. Per informazioni dettagliate, consulta i messaggi di errore.
  • HTTP status 503 (Service unavailable): il servizio non è disponibile. Riprova con backoff esponenziale.