Implementacja serwera jest opcjonalna. Usługa identyfikatora instancji służy do wykonywania tych operacji:
- Uzyskiwanie informacji o instancjach aplikacji Sprawdź tokeny aplikacji lub dowiedz się więcej o instancji aplikacji, która go utworzyła.
- Tworzenie relacji w przypadku instancji aplikacji Tworzenie relacji między instancjami aplikacji a elementami.
- Utwórz tokeny rejestracji tokenów APNs. Ten interfejs API pozwala zbiorczo importować istniejące tokeny APNs, mapując je na prawidłowe tokeny rejestracji FCM.
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 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.- [Opcjonalny] Wartość logiczna
details
: ustaw ten parametr zapytania natrue
, aby uzyskać informacje o subskrypcji FCM (jeśli są dostępne) powiązane z tym tokenem. Jeśli wartość nie zostanie określona, domyślnie przyjmuje się wartośćfalse
.
Wyniki
W przypadku wywołania zwraca stan HTTP 200 i obiekt JSON zawierający:
application
– nazwa pakietu powiązana z tokenem.authorizedEntity
– identyfikator projektu przypisany do wysłania do tokena.applicationVersion
– wersja aplikacji.- Odcisk cyfrowy
appSigner
–sha1
na podpis stosowany do pakietu. Wskazuje podmiot, który podpisał aplikację, na przykładPlay Store
. platform
– zwracaANDROID
,IOS
lubCHROME
, aby wskazać platformę urządzenia, do którego należy token.
Jeśli jest ustawiona flaga details
:
rel
– relacje powiązane z tokenem. Może to być 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",
"appSigner":"1a2bc3d4e5"
"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 w instancjach aplikacji
Interfejs API identyfikatora instancji umożliwia tworzenie map relacji dla instancji aplikacji. Możesz na przykład zmapować token rejestracji na temat FCM, przypisując instancję aplikacji do tego tematu. Interfejs API zapewnia metody tworzenia takich relacji zarówno pojedynczo, jak i zbiorczo.
Tworzenie mapowania relacji na potrzeby instancji aplikacji
Biorąc pod uwagę 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 w tym punkcie końcowym, podając następujący token instancji aplikacji:
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
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 wielu instancjach aplikacji
Korzystając z metod wsadowych usługi identyfikatora instancji, możesz zarządzać grupami instancji aplikacji. Możesz na przykład zbiorczo dodawać instancje aplikacji do tematu FCM lub je z niego usuwać. Aby zaktualizować maksymalnie 1000 instancji aplikacji na wywołanie interfejsu API, wywołaj usługę identyfikatora instancji w tym punkcie końcowym i podaj 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
W przypadku powodzenia wywołanie zwraca stan HTTP 200. Puste wyniki wskazują, że token został zrealizowany. 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_gsutil – podany token rejestracji jest nieprawidłowy dla identyfikatora nadawcy.
- WEWNĘTRZNY – z nieznanego powodu nie udało się uruchomić serwera backendu. Ponów żądanie.
- TOO_MANY_TOPICS – zbyt wiele tematów na instancję aplikacji.
- RESOURCE_EXHAUSTED – zbyt wiele żądań subskrypcji lub anulowania subskrypcji w krótkim czasie. Spróbuj ponownie z wykładniczym ponowieniem.
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 APN
Za pomocą metody batchImport
usługi identyfikatora instancji możesz zbiorczo zaimportować istniejące tokeny APNs iOS do Komunikacji w chmurze Firebase, mapując je na prawidłowe tokeny rejestracji. Wywołaj usługę identyfikatora instancji w tym punkcie końcowym i podaj listę tokenów APNs w treści JSON:
https://iid.googleapis.com/iid/v1:batchImport
Treść odpowiedzi zawiera tablicę tokenów rejestracji identyfikatora instancji gotowych 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 APNs dla instancji aplikacji, które chcesz dodać lub usunąć. Maksymalnie 100 tokenów na żądanie.
Wyniki
W przypadku wywołania zwraca stan HTTP 200 i opis wyniku JSON. W przypadku każdego tokena APN, który znajduje się w żądaniu, lista wyników zawiera:
- Token APNs.
- Stan. OK lub komunikat o błędzie z opisem.
- Token rejestracji, który FCM mapuje na token APNs, zapewnia dobre wyniki.
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"
},
]
}
Reakcje na błędy
Wywołania interfejsu API identyfikatora instancji 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 doauthorizedEntity
.HTTP status 404 (Not found)
– nie znaleziono nieprawidłowej ścieżki HTTP lub tokena IID. Szczegółowe informacje znajdziesz w komunikatach o błędach.HTTP status 503 (Service unavailable)
– usługa jest niedostępna. Ponów żądanie z wykładniczym ponowieniem.