Implementacja po stronie serwera jest opcjonalna. Jeśli chcesz wykonywać te operacje, użyj usługi identyfikatora instancji:
- Informacje o instancjach aplikacji Weryfikuj tokeny aplikacji lub uzyskuj więcej informacji o instancji aplikacji, która utworzyła token.
- Tworzenie map relacji dla instancji aplikacji Tworzenie relacji między instancjami aplikacji a jednostkami.
- Utwórz tokeny rejestracji dla tokenów APNs. Ten interfejs API umożliwia zbiorcze importowanie istniejących tokenów APNs i mapowanie ich na prawidłowe tokeny rejestracji w FCM.
Uzyskiwanie informacji o instancjach aplikacji
Aby uzyskać informacje o instancji aplikacji, wywołaj usługę identyfikatora instancji pod tym punktem końcowym, podając token instancji aplikacji w sposób pokazany poniżej:
 https://iid.googleapis.com/iid/info/IID_TOKEN
Parametry
- Authorization: Bearer <access_token>. Ustaw ten parametr w nagłówku. Dodaj krótkotrwały token OAuth2 jako wartość nagłówka- Authorization. Więcej informacji o uzyskiwaniu tego tokena znajdziesz w sekcji Ręczne podawanie danych logowania.
- access_token_auth: true. Ustaw ten parametr w nagłówku.
- [opcjonalnie] wartość logiczna details: ustaw ten parametr zapytania natrue, aby uzyskać informacje o subskrypcji tematu FCM (jeśli takie istnieją) powiązanej z tym tokenem. Jeśli nie podasz tu żadnej wartości, zostanie użyta wartość domyślnafalse.
Wyniki
W przypadku powodzenia wywołanie zwraca stan HTTP 200 i obiekt JSON zawierający:
- application– nazwa pakietu powiązanego z tokenem.
- authorizedEntity– identyfikator projektu uprawnionego do wysyłania danych do tokena.
- applicationVersion– wersja aplikacji.
- platform– zwraca- ANDROID,- IOSlub- CHROME, aby wskazać platformę urządzenia, do której należy token.
Jeśli flaga details jest ustawiona:
- rel– relacje powiązane z tokenem. Na przykład lista subskrypcji tematów.
Przykładowe żądanie 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
Przykładowy wynik
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"}
    }
  }
}
Tworzenie map relacji dla instancji aplikacji
Interfejs Instance ID API umożliwia tworzenie map relacji dla instancji aplikacji. Możesz na przykład przypisać token rejestracji do tematu FCM, subskrybując instancję aplikacji w tym temacie. Interfejs API udostępnia metody tworzenia takich relacji pojedynczo i zbiorczo.
Tworzenie mapowania relacji dla instancji aplikacji
Mając token rejestracji i obsługiwaną relację, możesz utworzyć mapowanie. Możesz na przykład zasubskrybować instancję aplikacji w temacie FCM, wywołując usługę identyfikatora instancji pod tym adresem, i podać token instancji aplikacji w sposób pokazany poniżej:
 https://iid.googleapis.com/iid/v1/IID_TOKEN/rel/topics/TOPIC_NAME
Parametry
- Authorization: Bearer <access_token>. Ustaw ten parametr w nagłówku. Dodaj krótkotrwały token OAuth2 jako wartość nagłówka- Authorization. Więcej informacji o uzyskiwaniu tego tokena znajdziesz w sekcji Ręczne podawanie danych logowania.
- access_token_auth: true. Ustaw ten parametr w nagłówku.
Wyniki
Jeśli wywołanie zakończy się powodzeniem, zwracany jest stan HTTP 200.
Przykładowe żądanie 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
Przykładowy wynik
HTTP 200 OK
{}
Zarządzanie mapami relacji w przypadku wielu instancji aplikacji
Korzystając z metod wsadowych usługi Instance ID, możesz wsadowo zarządzać instancjami aplikacji. Możesz na przykład zbiorczo dodawać lub usuwać instancje aplikacji w temacie FCM. Aby zaktualizować do 1000 instancji aplikacji w ramach jednego wywołania interfejsu API, wywołaj usługę identyfikatora instancji pod tym adresem, podając tokeny instancji aplikacji w treści JSON:
 https://iid.googleapis.com/iid/v1:batchAdd
 https://iid.googleapis.com/iid/v1:batchRemove
Parametry
- Authorization: Bearer <access_token>. Ustaw ten parametr w nagłówku. Dodaj krótkotrwały token OAuth2 jako wartość nagłówka- Authorization. Więcej informacji o uzyskiwaniu tego tokena znajdziesz w sekcji Ręczne podawanie danych logowania.
- access_token_auth: true. Ustaw ten parametr w nagłówku.
- to: nazwa tematu.
- registration_tokens: tablica tokenów IID instancji aplikacji, które chcesz dodać lub usunąć.
Wyniki
Jeśli wywołanie zakończy się powodzeniem, zwracany jest stan HTTP 200. Puste wyniki oznaczają, że subskrypcja tokena została utworzona. W przypadku nieudanych subskrypcji wynik zawiera jeden z tych kodów błędów:
- NOT_FOUND – token rejestracji został usunięty lub aplikacja została odinstalowana.
- INVALID_ARGUMENT – podany token rejestracji jest nieprawidłowy dla identyfikatora nadawcy.
- INTERNAL – serwer backendu nie działa z nieznanych przyczyn. Ponów prośbę.
- TOO_MANY_TOPICS – zbyt duża liczba tematów na instancję aplikacji.
- RESOURCE_EXHAUSTED – zbyt wiele żądań subskrypcji lub anulowania subskrypcji w krótkim czasie. Ponów próbę ze wzrastającym czasem do ponowienia.
Przykładowe żądanie 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..."],
}
Przykładowy wynik
HTTP 200 OK
{
  "results":[
    {},
    {"error":"NOT_FOUND"},
    {},
  ]
}
Tworzenie tokenów rejestracji dla tokenów APNs
Korzystając z metody batchImport usługi identyfikatora instancji, możesz zbiorczo importować do Komunikacji w chmurze Firebase (FCM) istniejące tokeny APNs na iOS, mapując je na prawidłowe tokeny rejestracji. Wywołaj usługę identyfikatora instancji w tym punkcie końcowym, podając listę tokenów APNs w treści JSON:
 https://iid.googleapis.com/iid/v1:batchImport
Treść odpowiedzi zawiera tablicę tokenów rejestracji identyfikatora instancji, które są gotowe do użycia do wysyłania wiadomości FCM do odpowiedniego tokena urządzenia APNs.
Parametry
- Authorization: Bearer <access_token>. Ustaw ten parametr w nagłówku. Dodaj krótkotrwały token OAuth2 jako wartość nagłówka- Authorization. Więcej informacji o uzyskiwaniu tego tokena znajdziesz w sekcji Ręczne podawanie danych logowania.
- access_token_auth: true. Ustaw ten parametr w nagłówku.
- application: identyfikator pakietu aplikacji.
- sandbox: wartość logiczna wskazująca środowisko piaskownicy (TRUE) lub środowisko produkcyjne (FALSE).
- apns_tokens: tablica tokenów APN dla instancji aplikacji, które chcesz dodać lub usunąć. Maksymalnie 100 tokenów na żądanie.
Wyniki
Jeśli wywołanie się powiedzie, zwraca kod stanu HTTP 200 i treść wyniku w formacie JSON. W przypadku każdego tokena APNs podanego w żądaniu lista wyników zawiera:
- Token APNs.
- Stan. OK lub komunikat o błędzie opisujący problem.
- W przypadku udanych wyników token rejestracji, który FCM mapuje na token APNs.
Przykładowe żądanie 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"
   ]
}
Przykładowy wynik
HTTP 200 OK
{
 "results":[
       {
        "apns_token": "368dde283db539abc4a6419b1795b6131194703b816e4f624ffa12",
         "status": "OK",
         "registration_token":"nKctODamlM4:CKrh_PC8kIb7O...clJONHoA"
       },
       {
         "apns_token": "76b39c2b2ceaadee8400b8868c2f45325ab9831c1998ed70859d86",
         "status":"Internal Server Error"
        },
     ]
  }
Odpowiedzi na błędy
Wywołania interfejsu Instance ID Server API zwracają te kody błędów HTTP:
- HTTP status 400 (Bad request)– brakujące lub nieprawidłowe parametry żądania. Szczegółowe informacje znajdziesz w komunikatach o błędach.
- HTTP status 401 (Unauthorized)– nagłówek autoryzacji jest nieprawidłowy.
- HTTP status 403 (Forbidden)– nagłówek autoryzacji nie pasuje do- authorizedEntity.
- HTTP status 404 (Not found)– nieprawidłowa ścieżka HTTP lub nie znaleziono tokena IID. Szczegółowe informacje znajdziesz w komunikatach o błędach.
- HTTP status 503 (Service unavailable)– usługa jest niedostępna. Ponów próbę wysłania żądania ze wzrastającym czasem do ponowienia.