Odniesienie do serwera

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

Uzyskiwanie informacji o instancjach aplikacji

Aby uzyskać informacje o instancji aplikacji, wywołaj usługę identyfikatora instancji pod adresem ten punkt końcowy 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 na stronie Podaj dane logowania ręcznie.
  • access_token_auth: true Ustaw ten parametr w nagłówku.
  • [opcjonalnie] wartość logiczna details: ustaw ten parametr zapytania na true, aby uzyskać FCM informacje o subskrypcji tematów (jeśli takie istnieją) powiązane z tym tokenem. Kiedy nie została określona, przyjmuje domyślnie wartość 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ć urządzenie platformy, do której należy token.

Jeśli flaga details jest ustawiona:

  • rel – relacje powiązane z tokenem. Może to być na przykład lista tematów subskrypcji.

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, subskrybowanie instancji aplikacji w temacie. Interfejs API udostępnia metody tworzenia zarówno pojedynczo, jak i zbiorczo.

Tworzenie mapowania relacji dla instancji aplikacji

Mając token rejestracji i obsługiwaną relację, możesz utworzyć mapowania. Możesz na przykład zasubskrybować wystąpienie aplikacji w temacie FCM. wywołując usługę identyfikatora instancji na stronie ten punkt końcowy i podaj 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 na stronie Podaj dane logowania ręcznie.
  • 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 wykonywać wsad i zarządzanie instancjami aplikacji. Możesz na przykład wykonywać działania zbiorcze dodanie lub usunięcie instancji aplikacji w temacie FCM. Aby zaktualizować maksymalnie 1000 instancji aplikacji na wywołanie interfejsu API, wywołaj identyfikator instancji Service w tym punkcie końcowym, udostępniają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 token OAuth2 o krótkim czasie życia jako wartość nagłówka Authorization. Więcej informacji o uzyskiwaniu tego tokena znajdziesz na stronie Podaj dane logowania ręcznie.
  • 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ą operację dla danego tokena. W przypadku nieudanych subskrypcji wynik zawiera 1 z nich z tych kodów błędów:

  • 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 przyczyn. 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 importować zbiorczo istniejące tokeny APNs na iOS na Firebase Cloud Messaging, mapując je; na prawidłowe tokeny rejestracji. Wywołaj usługę identyfikatora instancji pod adresem ten punkt końcowy wraz z listą tokenów APNs w treści JSON:

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

Treść odpowiedzi zawiera tablicę gotowych tokenów rejestracji identyfikatora instancji będzie używany 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 na stronie Podaj dane logowania ręcznie.
  • 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żdej wartości Token APNs udostępniony w żądaniu. Lista wyników zawiera:

  • 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

Zwrot wywołań interfejsu API serwera identyfikatora instancji następujące 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 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 ze wzrastającym czasem do ponowienia.