Implementacja serwera jest opcjonalna. Jeśli chcesz wykonać te operacje, skorzystaj z usługi identyfikatora instancji:
- Uzyskiwanie informacji o instancjach aplikacji Zweryfikuj tokeny aplikacji lub uzyskaj więcej informacji o instancji aplikacji, która utworzyła token.
- Tworzenie map relacji dla instancji aplikacji Tworzenie relacji między instancjami aplikacji i encjami.
- Utwórz tokeny rejestracji dla tokenów APNs. Ten interfejs API umożliwia zbiorcze importowanie istniejących tokenów 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 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 wpisywanie 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 w FCM (jeśli występują) powiązane z tym tokenem. Jeśli nie podasz tu żadnej wartości, zostanie użyta wartość domyślnafalse
.
Wyniki
Po udanym wywołaniu zwraca 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.appSigner
–sha1
odcisk cyfrowy do podpisu stosowanego na paczce. Wskazuje, która strona podpisała aplikację, np.Play Store
.platform
– zwracaANDROID
,IOS
lubCHROME
, aby wskazać platformę urządzenia, 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 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 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, subskrybując instancję aplikacji temat. Interfejs API udostępnia metody tworzenia takich relacji – zarówno pojedynczo, jak 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ć temat FCM w instancji aplikacji, wywołując usługę identyfikatora instancji w tym punkcie końcowym i podając 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 krótkotrwały token OAuth2 jako wartość nagłówkaAuthorization
. Więcej informacji o uzyskiwaniu tego tokena znajdziesz w sekcji Ręczne wpisywanie danych logowania.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ądzanie mapami relacji w wielu instancjach aplikacji
Za pomocą metod zbiorczych usługi identyfikatora instancji możesz zarządzać wsadowym instancjami aplikacji. Możesz na przykład zbiorczo dodawać lub usuwać instancje aplikacji w temacie FCM. Aby zaktualizować do 1000 instancji aplikacji na jedno wywołanie interfejsu API, wywołaj usługę identyfikatora instancji w tym punkcie końcowym, 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 wpisywanie danych logowania.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ą subskrypcję tokena. W przypadku nieudanej subskrypcji wynik zawiera jeden z tych kodów błędów:
- NOT_FOUND – token rejestracji został usunięty lub aplikacja została odinstalowana.
- unieważniony atrybut – podany token rejestracji jest nieprawidłowy dla identyfikatora nadawcy.
- INFORMACJE WEWNĘTRZNE – wystąpił błąd serwera backendu z nieznanych przyczyn. Ponów prośbę.
- TOO_MANY_TOPICS – nadmierna liczba tematów na wystąpienie aplikacji.
- RESOURCE_EXHAUSTED – zbyt wiele żądań subskrypcji lub anulowania subskrypcji w krótkim czasie. Spróbuj ponownie ze wzrostem wykładniczym.
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 zaimportować istniejące tokeny APNs na 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 udostępnij listę tokenów APN w treści JSON:
https://iid.googleapis.com/iid/v1:batchImport
Treść odpowiedzi zawiera tablicę tokenów rejestracji identyfikatorów instancji gotowych do użycia w celu wysyłania komunikatów 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 wpisywanie 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 produkcyjne (FALSE).apns_tokens
: tablica tokenów APN dla instancji aplikacji, które chcesz dodać lub usunąć. Maksymalnie 100 tokenów na żądanie.
Wyniki
Po udanym wywołaniu zwraca stan HTTP 200 i treść wyniku JSON. W przypadku każdego tokena APN podanego w żądaniu lista wyników zawiera:
- Token APNs.
- Stan. OK lub komunikat o błędzie z opisem błędu.
- Aby uzyskać pomyślne wyniki, token rejestracji zmapowany 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 z błędami
Wywołania interfejsu API serwera identyfikatora 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 ponawianiem.