Odniesienie do serwera

Implementacja po stronie 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 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 na true, 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ślna false.

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, 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. 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

W przypadku powodzenia wywołanie zwraca 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

W przypadku powodzenia wywołanie zwraca 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.