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łówkaAuthorization. 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– zwracaANDROID,IOSlubCHROME, 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łówkaAuthorization. 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łówkaAuthorization. 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łówkaAuthorization. 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 doauthorizedEntity.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.