Odniesienie do serwera

Implementacja z serwera jest opcjonalna. Jeśli chcesz wykonywać te operacje, użyj usługi identyfikatora instancji:

Uzyskiwanie informacji o instancjach aplikacji

Aby uzyskać informacje o instancji aplikacji, wywołaj usługę identyfikatora instancji w tym punkcie końcowym i podaj token instancji aplikacji w następujący sposób:

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

Parametry

  • Authorization: Bearer <access_token>. Ustaw ten parametr w nagłówku. Dodaj token OAuth2 o krótkim czasie życia jako wartość nagłówka Authorization. Więcej informacji o uzyskiwaniu tego tokena znajdziesz w sekcji Ręczne wprowadzanie danych logowania.
  • access_token_auth: true. Ustaw ten parametr w nagłówku.
  • [opcjonalnie] wartość logiczna details: ustaw ten parametr zapytania na true, aby pobrać informacje o subskrypcji tematów w FCM (jeśli takie istnieją) powiązane z tym tokenem. Jeśli nie określono tego ustawienia, domyślna wartość to false.

Wyniki

Jeśli operacja się uda, wywołanie zwróci stan HTTP 200 i obiekt JSON zawierający:

  • application – nazwa pakietu powiązana z tokenem.
  • authorizedEntity – identyfikator projektu autoryzowany do wysyłania do tokena.
  • applicationVersion – wersja aplikacji.
  • platform – zwraca ANDROID, IOS lub CHROME, aby wskazać platformę urządzenia, do której należy token.

Jeśli flaga details jest ustawiona:

  • rel – relacje powiązane z tokenem. Może to być np. 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 zmapować token rejestracji na temat FCM, subskrybując instancję aplikacji do tematu. Udostępnia metody tworzenia takich relacji zarówno pojedynczo, jak 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 do tematu FCM, wywołując usługę identyfikatora instancji w tym punkcie końcowym i podając token instancji aplikacji w następujący sposób:

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

Parametry

  • Authorization: Bearer <access_token>. Ustaw ten parametr w nagłówku. Dodaj token OAuth2 o krótkim czasie życia jako wartość nagłówka Authorization. Więcej informacji o uzyskiwaniu tego tokena znajdziesz w sekcji Ręczne wprowadzanie danych logowania.
  • access_token_auth: true. Ustaw ten parametr w nagłówku.

Wyniki

Jeśli operacja się uda, wywołanie zwróci 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ądzaj mapami relacji dla wielu instancji aplikacji

Korzystając z metod wsadowych usługi identyfikatora instancji, możesz zbiorczo zarządzać instancjami aplikacji. Możesz na przykład zbiorczo dodawać lub usuwać instancje aplikacji do tematu FCM. Aby zaktualizować maksymalnie 1000 instancji aplikacji na wywołanie interfejsu API, wywołaj usługę identyfikatora instancji w tym punkcie końcowym i udostępnij 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 token OAuth2 o krótkim czasie życia jako wartość nagłówka Authorization. Więcej informacji o uzyskiwaniu tego tokena znajdziesz w sekcji Ręczne wprowadzanie danych logowania.
  • access_token_auth: true. Ustaw ten parametr w nagłówku.
  • to : nazwa tematu.
  • registration_tokens : tablica tokenów IID dla instancji aplikacji, które chcesz dodać lub usunąć.

Wyniki

Jeśli operacja się uda, wywołanie zwróci stan HTTP 200. Puste wyniki oznaczają udaną subskrypcję tokena. W przypadku nieudanych subskrypcji wynik zawiera jeden z tych kodów błędu:

  • NOT_FOUND – token rejestracji został usunięty lub aplikacja została odinstalowana.
  • END_ARG - podany token rejestracji jest nieprawidłowy dla identyfikatora nadawcy.
  • WEWNĘTRZNE – wystąpił błąd serwera backendu z nieznanych powodów. Spróbuj ponownie.
  • TOO_MANY_TOPICS – zbyt duża liczba tematów na wystąpienie aplikacji.
  • RESOURCE_EXHAUSTED – zbyt wiele żądań subskrypcji lub anulowania subskrypcji w krótkim czasie. Podejmuje ponowne próby 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"},
    {},
  ]
}

Utwórz tokeny rejestracji dla tokenów APNs

Za pomocą metody batchImport usługi identyfikatora instancji możesz zbiorczo zaimportować istniejące tokeny APNs na iOS do Firebase Cloud Messaging, mapując je na prawidłowe tokeny rejestracji. Wywołaj w tym punkcie końcowym usługę identyfikatora instancji, podając listę tokenów APNs w treści JSON:

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

Treść odpowiedzi zawiera tablicę tokenów rejestracji identyfikatorów instancji, które są gotowe do użycia do wysyłania wiadomości FCM do odpowiednich tokenów urządzenia APNs.

Parametry

  • Authorization: Bearer <access_token>. Ustaw ten parametr w nagłówku. Dodaj token OAuth2 o krótkim czasie życia jako wartość nagłówka Authorization. Więcej informacji o uzyskiwaniu tego tokena znajdziesz w sekcji Ręczne wprowadzanie 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 produkcyjne (FAŁSZ).
  • apns_tokens : tablica tokenów APNs dla instancji aplikacji, które chcesz dodać lub usunąć. Maksymalnie 100 tokenów na żądanie.

Wyniki

Jeśli operacja się uda, wywołanie zwróci stan HTTP 200 i treść wyniku JSON. Dla każdego tokena APN podanego w żądaniu zobaczysz listę wyników:

  • Token APNs.
  • Stan. Może pojawić się komunikat o błędzie lub komunikat o błędzie opisujący błąd.
  • Aby uzyskać prawidłowe wyniki, token rejestracji mapowany przez FCM 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 API serwera identyfikatora instancji zwracają te kody błędów HTTP:

  • HTTP status 400 (Bad request) – brakuje parametrów żądania lub są one nieprawidłowe. 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 nagłówka authorizedEntity.
  • HTTP status 404 (Not found) – nie znaleziono nieprawidłowej ścieżki HTTP ani tokena IID. Szczegółowe informacje znajdziesz w komunikatach o błędach.
  • HTTP status 503 (Service unavailable) – usługa jest niedostępna. Ponów żądanie ze wzrastającym czasem do ponowienia.