Menerima pesan secara andal adalah fitur terpenting dari setiap pengalaman pesan Android. Penting juga untuk menerapkan pesan dengan memperhatikan kesehatan sistem dan masa pakai baterai. Dokumen ini memandu Anda melalui strategi dan alat utama untuk memastikan aplikasi Android Anda menerima pesan secara konsisten, efisien, dan andal.
Mekanisme pengiriman pesan
Pendekatan terbaik untuk pengiriman pesan yang andal bergantung pada persyaratan spesifik aplikasi Anda. Pertimbangkan faktor-faktor seperti:
- Kebutuhan real-time saat ini
- Frekuensi pesan
- Batasan baterai
Pengiriman pesan real-time di latar depan
Saat aplikasi Anda berada di latar depan, pengguna biasanya mengharapkan informasi dalam volume yang cukup tinggi, dan ingin mengetahui hal-hal seperti:
- Apakah orang yang dikirimi pesan ada di perangkatnya?
- Apakah mereka sedang mengetik?
- Apakah mereka sudah membaca pesan?
Cara umum untuk mendukung pertukaran data real-time semacam ini adalah dengan menggunakan protokol client-server, seperti WebSockets. WebSockets memungkinkan komunikasi full-duplex yang persisten antara aplikasi dan server Anda. Library OKHTTP menyertakan implementasi protokol WebSocket yang dapat Anda gunakan di klien Android Anda.
Firebase Realtime Database menyediakan backend bawaan dan frontend klien yang dapat menangani komunikasi semacam ini atas nama Anda. Aplikasi ini menggunakan WebSockets secara internal untuk komunikasi real-time antara klien dan servernya.
Pengiriman pesan real-time di latar belakang
Saat aplikasi Anda tidak lagi berada di latar depan, Anda harus menghindari tindakan yang berdampak buruk pada kondisi sistem dan masa pakai baterai. Karena masih penting untuk mengirimkan notifikasi pesan secara andal, sebaiknya gunakan Firebase Cloud Messaging (FCM).
FCM adalah solusi pengiriman pesan lintas platform yang secara efisien mengirimkan notifikasi dan pesan data ke perangkat Android (dan perangkat lainnya). Hal ini memanfaatkan Lapisan Transportasi (ATL) Android untuk perangkat yang memiliki layanan Google, sehingga aplikasi Anda dapat diberi tahu tentang perubahan saat tidak lagi berjalan. Ketepatan waktu pengiriman pesan bergantung pada status perangkat, prioritas pesan, dan apakah aplikasi Anda tunduk pada pembatasan karena mode istirahatkan atau siaga aplikasi.
- Pelajari cara mengintegrasikan FCM ke project Android Anda
- Mempelajari FCM API (server) dan kemampuannya
Meningkatkan keandalan pengiriman pesan
Untuk membuat pengiriman pesan Anda lebih andal, pertimbangkan strategi berikut:
- Gunakan
WorkManageruntuk membangunkan aplikasi Anda secara berkala untuk memeriksa pesan baru saat perangkat memiliki konektivitas jaringan, dan (idealnya) saat perangkat terhubung ke pengisi daya. - Dapatkan insight tentang pengiriman FCM dengan alat seperti Firebase console dan metrik pengiriman Android SDK dari FCM Data API.
- Gunakan mekanisme dan alat logging seperti Firebase Crashlytics untuk memantau dan memecahkan masalah pengiriman pesan.