FCM kompatibel dengan GCM. Langkah-langkah untuk menyiapkan FCM di AWS identik dengan prosedur penyiapan GCM dan (setidaknya untuk saat ini) FCM bekerja secara transparan dengan GCM dan SNS sehubungan dengan konfigurasi sisi server.
Namun , jika Anda mengirim data
payload ke perangkat Android, payload tidak akan diproses kecuali Anda menerapkan layanan sisi klien yang diperluas FirebaseMessagingService
. Generator pesan JSON default di konsol AWS mengirim data
pesan, yang akan diabaikan oleh aplikasi Anda kecuali layanan yang disebutkan di atas diterapkan. Untuk menyiasati hal ini untuk pengujian awal, Anda dapat memberikan notification
payload khusus yang akan diterima oleh perangkat Anda (selama aplikasi Anda tidak berada di latar depan)
Ada petunjuk migrasi GCM-FCM yang disediakan oleh Google, namun perubahan yang perlu Anda lakukan sebagian besar ada di sisi Aplikasi.
Langkah-langkah yang perlu Anda ikuti untuk menguji GCM / FCM di aplikasi Anda dengan SNS adalah:
- Buat Aplikasi Platform di SNS , pilih Google Cloud Messaging (GCM) sebagai Push Notification Platform , dan berikan kunci API Server Anda di kolom kunci API .
- Pilih Aplikasi Platform dan klik tombol Buat titik akhir platform .
- Berikan InstanceID ( Token Perangkat ) yang dibuat oleh aplikasi Anda. Anda harus memperluas
FirebaseInstanceIDService
dan mengganti onTokenRefresh
metode untuk melihatnya dalam Aplikasi Android Anda. Setelah Anda selesai melakukannya , uninstal dan instal ulang aplikasi Anda dan token Anda akan dicetak ke konsol Debug di Android Studio pada boot pertama.
- Klik tombol Tambahkan titik akhir .
- Klik tautan ARN untuk aplikasi platform Anda.
- Pilih Endpoint yang baru dibuat untuk perangkat Anda dan klik tombol Publikasikan ke endpoint .
- Pilih Format Pesan JSON , dan klik tombol pembuat pesan JSON .
- Masukkan pesan tes dan klik Generate JSON tombol
- Sekarang sampai pada "bagian gotcha".
Pesan yang dihasilkan oleh SNS akan berupa:
{
"GCM": "{ \"data\": { \"message\": \"test message\" } }"
}
Seperti yang kami sebutkan sebelumnya, data
payload akan diabaikan jika tidak ada layanan untuk menerimanya yang telah diterapkan. Kami ingin menguji tanpa menulis terlalu banyak kode, jadi kami harus mengirimkan notification
payload. Untuk melakukan ini, cukup ubah pesan JSON menjadi:
{
"GCM": "{ \"notification\": { \"text\": \"test message\" } }"
}
Setelah Anda melakukan ini, pastikan aplikasi Anda tidak berjalan di perangkat, dan tekan tombol Publikasikan Pesan . Anda sekarang harus melihat pemberitahuan muncul di perangkat Anda.
Anda tentu saja dapat melakukan semua ini secara terprogram melalui Amazon SNS API, namun semua contoh tampaknya menggunakan data
muatan sehingga Anda perlu mengingatnya dan menghasilkan muatan yang sesuai dengan kasus penggunaan Anda.