Implementasi server bersifat opsional. Gunakan layanan ID Instance jika Anda ingin melakukan operasi ini:
- Dapatkan informasi tentang instance aplikasi. Memverifikasi token aplikasi atau mendapatkan informasi selengkapnya tentang instance aplikasi yang membuat token.
- Membuat peta hubungan untuk instance aplikasi. Membuat hubungan antara instance dan entity aplikasi.
- Buat token pendaftaran untuk token APN. Dengan API ini, Anda dapat mengimpor massal token APN yang ada, dengan memetakannya ke token pendaftaran yang valid untuk FCM.
Mendapatkan informasi tentang instance aplikasi
Untuk mendapatkan informasi tentang instance aplikasi, panggil layanan ID Instance di endpoint ini, dengan memberikan token instance aplikasi seperti yang ditunjukkan berikut ini:
https://iid.googleapis.com/iid/info/IID_TOKEN
Parameter
Authorization: Bearer <access_token>
. Setel parameter ini di header. Tambahkan token OAuth2 yang berumur pendek sebagai nilai headerAuthorization
. Untuk mengetahui informasi selengkapnya tentang cara mendapatkan token ini, lihat Memberikan kredensial secara manual.access_token_auth: true
. Setel parameter ini di header.- [opsional] boolean
details
: tetapkan parameter kueri ini ketrue
untuk mendapatkan informasi langganan topik FCM (jika ada) yang terkait dengan token ini. Jika tidak ditentukan, setelan defaultnya adalahfalse
.
Hasil
Jika berhasil, panggilan akan menampilkan status HTTP 200 dan objek JSON yang berisi:
application
- nama paket yang terkait dengan token.authorizedEntity
- projectId diizinkan untuk dikirim ke token.applicationVersion
- versi aplikasi.platform
- menampilkanANDROID
,IOS
, atauCHROME
untuk menunjukkan platform perangkat yang memiliki token tersebut.
Jika tanda details
ditetapkan:
rel
- relasi yang terkait dengan token. Misalnya, daftar langganan topik.
Contoh permintaan 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
Contoh hasil
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"}
}
}
}
Membuat peta hubungan untuk instance aplikasi
Instance ID API memungkinkan Anda membuat peta hubungan untuk instance aplikasi. Misalnya, Anda dapat memetakan token pendaftaran ke topik FCM dengan membuat instance aplikasi berlangganan topik tersebut. API ini menyediakan metode untuk membuat hubungan semacam itu, baik secara individual maupun massal.
Membuat pemetaan relasi untuk instance aplikasi
Dengan token pendaftaran dan hubungan yang didukung, Anda dapat membuat pemetaan. Misalnya, Anda dapat membuat instance aplikasi berlangganan topik FCM dengan memanggil layanan ID Instance di endpoint ini, dengan token instance aplikasi seperti yang ditunjukkan berikut ini:
https://iid.googleapis.com/iid/v1/IID_TOKEN/rel/topics/TOPIC_NAME
Parameter
Authorization: Bearer <access_token>
. Setel parameter ini di header. Tambahkan token OAuth2 yang berumur pendek sebagai nilai headerAuthorization
. Untuk mengetahui informasi selengkapnya tentang cara mendapatkan token ini, lihat Memberikan kredensial secara manual.access_token_auth: true
. Setel parameter ini di header.
Hasil
Jika berhasil, panggilan akan menampilkan status HTTP 200.
Contoh permintaan 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
Contoh hasil
HTTP 200 OK
{}
Mengelola peta hubungan untuk beberapa instance aplikasi
Dengan menggunakan metode batch layanan ID Instance, Anda dapat melakukan pengelolaan batch atas instance aplikasi. Misalnya, Anda dapat melakukan penambahan atau penghapusan instance aplikasi secara massal ke topik FCM. Untuk mengupdate hingga 1.000 instance aplikasi per panggilan API, panggil layanan ID Instance di endpoint ini, dan berikan token instance aplikasi dalam isi JSON:
https://iid.googleapis.com/iid/v1:batchAdd
https://iid.googleapis.com/iid/v1:batchRemove
Parameter
Authorization: Bearer <access_token>
. Setel parameter ini di header. Tambahkan token OAuth2 yang berumur pendek sebagai nilai headerAuthorization
. Untuk mengetahui informasi selengkapnya tentang cara mendapatkan token ini, lihat Memberikan kredensial secara manual.access_token_auth: true
. Setel parameter ini di header.to
: Nama topik.registration_tokens
: Array token IID untuk instance aplikasi yang ingin Anda tambahkan atau hapus.
Hasil
Jika berhasil, panggilan akan menampilkan status HTTP 200. Hasil kosong menunjukkan keberhasilan langganan token. Untuk langganan yang gagal, hasilnya berisi salah satu kode error berikut:
- NOT_FOUND — Token pendaftaran telah dihapus atau aplikasi telah di-uninstal.
- INVALID_ARGUMENT — Token pendaftaran yang diberikan tidak valid untuk ID Pengirim.
- INTERNAL — Server backend gagal karena alasan yang tidak diketahui. Coba lagi permintaan tersebut.
- TOO_MANY_TOPICS — Jumlah topik berlebihan per instance aplikasi.
- RESOURCE_EXHAUSTED — Terlalu banyak permintaan berlangganan atau berhenti berlangganan dalam waktu singkat. Coba lagi dengan backoff eksponensial.
Contoh permintaan 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..."],
}
Contoh hasil
HTTP 200 OK
{
"results":[
{},
{"error":"NOT_FOUND"},
{},
]
}
Membuat token pendaftaran untuk token APN
Dengan menggunakan metode batchImport
layanan ID Instance, Anda dapat mengimpor token APN iOS yang ada secara massal ke Firebase Cloud Messaging, dan memetakannya ke token pendaftaran yang valid. Panggil layanan ID Instance di endpoint ini, dengan memberikan daftar token APN dalam isi JSON:
https://iid.googleapis.com/iid/v1:batchImport
Isi respons berisi array token pendaftaran ID Instance yang siap digunakan untuk mengirim pesan FCM ke token perangkat APN yang sesuai.
Parameter
Authorization: Bearer <access_token>
. Setel parameter ini di header. Tambahkan token OAuth2 yang berumur pendek sebagai nilai headerAuthorization
. Untuk mengetahui informasi selengkapnya tentang cara mendapatkan token ini, lihat Memberikan kredensial secara manual.access_token_auth: true
. Setel parameter ini di header.application
: ID paket aplikasi.sandbox
: Boolean untuk menunjukkan lingkungan sandbox (TRUE) atau produksi (FALSE)apns_tokens
: Array token APN untuk instance aplikasi yang ingin Anda tambahkan atau hapus. Maksimum 100 token per permintaan.
Hasil
Jika berhasil, panggilan akan menampilkan status HTTP 200 dan isi hasil JSON. Untuk setiap token APNs yang diberikan dalam permintaan, daftar hasilnya mencakup:
- Token APNs.
- Status. Baik OK, atau pesan error yang menjelaskan kegagalan.
- Agar berhasil, token pendaftaran yang dipetakan FCM ke token APN.
Contoh permintaan 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"
]
}
Contoh hasil
HTTP 200 OK
{
"results":[
{
"apns_token": "368dde283db539abc4a6419b1795b6131194703b816e4f624ffa12",
"status": "OK",
"registration_token":"nKctODamlM4:CKrh_PC8kIb7O...clJONHoA"
},
{
"apns_token": "76b39c2b2ceaadee8400b8868c2f45325ab9831c1998ed70859d86",
"status":"Internal Server Error"
},
]
}
Respons error
Panggilan ke API server ID Instance akan menampilkan kode error HTTP berikut:
HTTP status 400 (Bad request)
- parameter permintaan tidak ada atau tidak valid. Periksa pesan error untuk mengetahui informasi selengkapnya.HTTP status 401 (Unauthorized)
- header otorisasi tidak valid.HTTP status 403 (Forbidden)
- header otorisasi tidak cocok denganauthorizedEntity
.HTTP status 404 (Not found)
- Jalur HTTP tidak valid atau token IID tidak ditemukan. Periksa pesan error untuk mengetahui informasi selengkapnya.HTTP status 503 (Service unavailable)
- layanan tidak tersedia. Coba lagi permintaan tersebut dengan backoff eksponensial.