Referensi Server

Implementasi server bersifat opsional. Gunakan layanan ID Instance jika Anda ingin melakukan operasi berikut:

Mendapatkan informasi tentang instance aplikasi

Untuk mendapatkan informasi tentang instance aplikasi, panggil layanan Instance ID di endpoint ini, dengan memberikan token instance aplikasi seperti yang ditunjukkan:

 https://iid.googleapis.com/iid/info/IID_TOKEN

Parameter

  • Authorization: Bearer <access_token>. Tetapkan parameter ini di header. Tambahkan token OAuth2 berumur pendek sebagai nilai header Authorization. Untuk mengetahui informasi selengkapnya tentang cara mendapatkan token ini, lihat Memberikan kredensial secara manual.
  • access_token_auth: true. Tetapkan parameter ini di header.
  • [opsional] boolean details: tetapkan parameter kueri ini ke true untuk mendapatkan informasi langganan topik FCM (jika ada) yang terkait dengan token ini. Jika tidak ditentukan, setelan defaultnya adalah false.

Hasil

Jika berhasil, panggilan akan menampilkan status HTTP 200 dan objek JSON yang berisi:

  • application - nama paket yang terkait dengan token.
  • authorizedEntity - projectId yang diotorisasi untuk dikirim ke token.
  • applicationVersion - versi aplikasi.
  • platform - menampilkan ANDROID, IOS, atau CHROME untuk menunjukkan platform perangkat tempat token berada.

Jika tanda details ditetapkan:

  • rel - hubungan 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, yang akan membuat instance aplikasi berlangganan topik tersebut. API menyediakan metode untuk membuat hubungan tersebut secara terpisah, dan secara massal.

Membuat pemetaan hubungan untuk instance aplikasi

Dengan token pendaftaran dan hubungan yang didukung, Anda dapat membuat pemetaan. Misalnya, Anda dapat membuat instance aplikasi berlangganan ke topik FCM dengan memanggil layanan Instance ID di endpoint ini, yang memberikan token instance aplikasi seperti yang ditunjukkan:

 https://iid.googleapis.com/iid/v1/IID_TOKEN/rel/topics/TOPIC_NAME

Parameter

  • Authorization: Bearer <access_token>. Tetapkan parameter ini di header. Tambahkan token OAuth2 berumur pendek sebagai nilai header Authorization. Untuk mengetahui informasi selengkapnya tentang cara mendapatkan token ini, lihat Memberikan kredensial secara manual.
  • access_token_auth: true. Tetapkan 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 Instance ID, Anda dapat melakukan pengelolaan batch instance aplikasi. Misalnya, Anda dapat melakukan penambahan atau penghapusan instance aplikasi secara massal ke topik FCM. Untuk memperbarui hingga 1.000 instance aplikasi per panggilan API, panggil layanan Instance ID di endpoint ini, dengan memberikan 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>. Tetapkan parameter ini di header. Tambahkan token OAuth2 berumur pendek sebagai nilai header Authorization. Untuk mengetahui informasi selengkapnya tentang cara mendapatkan token ini, lihat Memberikan kredensial secara manual.
  • access_token_auth: true. Tetapkan 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 langganan token yang berhasil. 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 yang berlebihan per instance aplikasi.
  • RESOURCE_EXHAUSTED — Terlalu banyak permintaan langganan atau pembatalan langganan 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, dengan memetakan token tersebut ke token pendaftaran yang valid. Panggil layanan Instance ID di endpoint ini, yang 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>. Tetapkan parameter ini di header. Tambahkan token OAuth2 berumur pendek sebagai nilai header Authorization. Untuk mengetahui informasi selengkapnya tentang cara mendapatkan token ini, lihat Memberikan kredensial secara manual.
  • access_token_auth: true. Tetapkan parameter ini di header.
  • application : ID paket aplikasi.
  • sandbox : Boolean untuk menunjukkan lingkungan sandbox (BENAR) atau produksi (SALAH)
  • 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 APN yang diberikan dalam permintaan, daftar hasil akan menyertakan:

  • Token APN.
  • Status. OK, atau pesan error yang menjelaskan kegagalan.
  • Untuk hasil yang 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 Instance ID menampilkan kode error HTTP berikut:

  • HTTP status 400 (Bad request) - parameter permintaan tidak ada atau tidak valid. Periksa pesan error untuk mengetahui informasi mendetail.
  • HTTP status 401 (Unauthorized) - header otorisasi tidak valid.
  • HTTP status 403 (Forbidden) - header otorisasi tidak cocok dengan authorizedEntity.
  • HTTP status 404 (Not found) - Jalur HTTP tidak valid atau token IID tidak ditemukan. Periksa pesan error untuk mengetahui informasi mendetail.
  • HTTP status 503 (Service unavailable) - layanan tidak tersedia. Coba lagi permintaan dengan backoff eksponensial.