Implementacja z serwera jest opcjonalna. Jeśli chcesz, użyj usługi identyfikatora instancji. aby wykonać te operacje:
- Uzyskaj informacje o instancjach aplikacji. Zweryfikuj tokeny aplikacji lub uzyskaj więcej informacji o instancji aplikacji, która utworzyła token.
- Utwórz mapy relacji dla instancji aplikacji. Tworzenie relacji między instancjami aplikacji a encjami.
- Utwórz tokeny rejestracji dla tokenów APNs. Ten interfejs API umożliwia zbiorcze importowanie danych, istniejące tokeny APNs, mapując je 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 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łówkaAuthorization
. 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 natrue
, 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
– zwracaANDROID
,IOS
lubCHROME
, 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łówkaAuthorization
. 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łówkaAuthorization
. 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łówkaAuthorization
. 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 doauthorizedEntity
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.