Manajemen titik akhir Firebase Cloud Messaging (FCM) - Amazon Simple Notification Service

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Manajemen titik akhir Firebase Cloud Messaging (FCM)

Mengelola dan memelihara token perangkat

Anda dapat memastikan pengiriman pemberitahuan push aplikasi seluler Anda dengan mengikuti langkah-langkah berikut:

  1. Simpan semua token perangkat, SNS titik akhir Amazon yang sesuaiARNs, dan stempel waktu di server aplikasi Anda.

  2. Hapus semua token basi dan hapus titik SNS akhir ARNs Amazon yang sesuai.

Setelah start-up awal aplikasi Anda, Anda akan menerima token perangkat (juga disebut sebagai token pendaftaran) untuk perangkat. Token perangkat ini dicetak oleh sistem operasi perangkat, dan terkait dengan FCM aplikasi Anda. Setelah Anda menerima token perangkat ini, Anda dapat mendaftarkannya ke Amazon SNS sebagai titik akhir platform. Kami menyarankan Anda menyimpan token perangkat, titik akhir SNS platform AmazonARN, dan stempel waktu dengan menyimpannya ke server aplikasi Anda, atau toko persisten lainnya. Untuk menyiapkan FCM aplikasi Anda untuk mengambil dan menyimpan token perangkat, lihat Mengambil dan menyimpan token pendaftaran di dokumentasi Firebase Google.

Penting bagi Anda untuk mempertahankan up-to-date token. Token perangkat pengguna Anda dapat berubah dalam kondisi berikut:

  1. Aplikasi seluler dipulihkan pada perangkat baru.

  2. Pengguna menghapus atau memperbarui aplikasi.

  3. Pengguna menghapus data aplikasi.

Saat token perangkat Anda berubah, kami sarankan Anda memperbarui SNS titik akhir Amazon yang sesuai dengan token baru. Ini memungkinkan Amazon SNS untuk melanjutkan komunikasi ke perangkat terdaftar. Anda dapat melakukan ini dengan menerapkan kode semu berikut dalam aplikasi seluler Anda. Ini menjelaskan praktik yang direkomendasikan untuk membuat dan memelihara titik akhir platform yang diaktifkan. Pendekatan ini dapat dijalankan setiap kali aplikasi seluler dimulai, atau sebagai pekerjaan terjadwal di latar belakang.

Kode semu

Gunakan kode FCM semu berikut untuk mengelola dan memelihara token perangkat.

retrieve the latest token from the mobile OS if (endpoint arn not stored) # first time registration call CreatePlatformEndpoint store returned endpoint arn endif call GetEndpointAttributes on the endpoint arn if (getting attributes encountered NotFound exception) #endpoint was deleted call CreatePlatformEndpoint store returned endpoint arn else if (token in endpoint does not match latest) or (GetEndpointAttributes shows endpoint as disabled) call SetEndpointAttributes to set the latest token and enable the endpoint endif endif

Untuk mempelajari lebih lanjut tentang persyaratan pembaruan token, lihat Memperbarui Token secara Reguler di dokumentasi Firebase Google.

Mendeteksi token yang tidak valid

Saat pesan dikirim ke titik akhir FCM v1 dengan token perangkat yang tidak valid, SNS Amazon akan menerima salah satu pengecualian berikut:

  • UNREGISTERED(HTTP404) — Saat Amazon SNS menerima pengecualian ini, Anda akan menerima peristiwa kegagalan pengiriman dengan FailureType ofInvalidPlatformToken, dan token Platform yang FailureMessage terkait dengan titik akhir tidak valid. Amazon SNS akan menonaktifkan titik akhir platform Anda saat pengiriman gagal dengan pengecualian ini.

  • INVALID_ARGUMENT(HTTP400) — Saat Amazon SNS menerima pengecualian ini, itu berarti token perangkat atau muatan pesan tidak valid. Untuk informasi selengkapnya, lihat ErrorCodedi dokumentasi Firebase Google.

Karena INVALID_ARGUMENT dapat dikembalikan dalam salah satu kasus ini, Amazon SNS akan mengembalikan FailureType dariInvalidNotification, dan badan FailureMessage Pemberitahuan tidak valid. Ketika Anda menerima kesalahan ini, verifikasi bahwa payload Anda sudah benar. Jika benar, verifikasi bahwa token perangkat tersebut up-to-date. Amazon tidak SNS akan menonaktifkan titik akhir platform Anda saat pengiriman gagal dengan pengecualian ini.

Kasus lain di mana Anda akan mengalami peristiwa kegagalan InvalidPlatformToken pengiriman adalah ketika token perangkat terdaftar bukan milik aplikasi yang mencoba mengirim pesan itu. Dalam hal ini, Google akan mengembalikan kesalahan SENDER_ID_ MISMATCH. Amazon SNS akan menonaktifkan titik akhir platform Anda saat pengiriman gagal dengan pengecualian ini.

Semua kode kesalahan yang diamati yang diterima dari FCM v1 API tersedia untuk Anda CloudWatch saat Anda mengatur pencatatan status pengiriman untuk aplikasi Anda.

Untuk menerima acara pengiriman untuk aplikasi Anda, lihatPeristiwa aplikasi yang tersedia.

Menghapus token basi

Token dianggap basi setelah pengiriman pesan ke perangkat titik akhir mulai gagal. Amazon SNS menetapkan token basi ini sebagai titik akhir yang dinonaktifkan untuk aplikasi platform Anda. Saat Anda memublikasikan ke titik akhir yang dinonaktifkan, Amazon SNS akan menampilkan EventDeliveryFailure peristiwa dengan FailureType dariEndpointDisabled, dan Endpoint dinonaktifkan. FailureMessage Untuk menerima acara pengiriman untuk aplikasi Anda, lihatPeristiwa aplikasi yang tersedia.

Saat Anda menerima kesalahan ini dari AmazonSNS, Anda perlu menghapus atau memperbarui token basi di aplikasi platform Anda.