Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengelola dan memelihara token perangkat
Anda dapat memastikan pengiriman pemberitahuan push aplikasi seluler Anda dengan mengikuti langkah-langkah berikut:
-
Simpan semua token perangkat, titik akhir Amazon SNS yang sesuai ARNs, dan stempel waktu di server aplikasi Anda.
-
Hapus semua token basi dan hapus titik akhir Amazon SNS ARNs 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 aplikasi FCM Anda. Setelah Anda menerima token perangkat ini, Anda dapat mendaftarkannya dengan Amazon SNS sebagai titik akhir platform. Kami menyarankan Anda menyimpan token perangkat, ARN endpoint platform Amazon SNS, dan stempel waktu dengan menyimpannya ke server aplikasi Anda, atau toko persisten lainnya. Untuk menyiapkan aplikasi FCM untuk mengambil dan menyimpan token perangkat, lihat Mengambil dan menyimpan token pendaftaran
Penting bagi Anda untuk mempertahankan up-to-date token. Token perangkat pengguna Anda dapat berubah dalam kondisi berikut:
-
Aplikasi seluler dipulihkan pada perangkat baru.
-
Pengguna menghapus instalan atau memperbarui aplikasi.
-
Pengguna menghapus data aplikasi.
Saat token perangkat Anda berubah, kami sarankan Anda memperbarui titik akhir Amazon SNS 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 semu FCM 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
Mendeteksi token yang tidak valid
Saat pesan dikirim ke titik akhir FCM v1 dengan token perangkat yang tidak valid, Amazon SNS akan menerima salah satu pengecualian berikut:
-
UNREGISTERED
(HTTP 404) — Saat Amazon SNS menerima pengecualian ini, Anda akan menerima peristiwa kegagalan pengiriman denganFailureType
InvalidPlatformToken
of, dan token PlatformFailureMessage
yang terkait dengan titik akhir tidak valid. Amazon SNS akan menonaktifkan titik akhir platform Anda saat pengiriman gagal dengan pengecualian ini. -
INVALID_ARGUMENT
(HTTP 400) — Ketika 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 a FailureType
InvalidNotification
, dan badan Pemberitahuan tidak valid. FailureMessage
Ketika Anda menerima kesalahan ini, verifikasi bahwa payload Anda sudah benar. Jika benar, verifikasi bahwa token perangkat tersebut up-to-date. Amazon SNS tidak 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 teramati yang diterima dari FCM v1 API tersedia untuk Anda CloudWatch saat Anda menyiapkan 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 peristiwa EventDeliveryFailure
dengan FailureType
EndpointDisabled
dari, dan FailureMessage
Endpoint dinonaktifkan. Untuk menerima acara pengiriman untuk aplikasi Anda, lihatPeristiwa aplikasi yang tersedia.
Saat Anda menerima kesalahan ini dari Amazon SNS, Anda perlu menghapus atau memperbarui token basi di aplikasi platform Anda.