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