Menerima pesan dengan andal adalah fitur paling penting dari setiap pengalaman pesan Android. Penting juga untuk menerapkan pesan dengan memperhatikan kesehatan sistem dan masa pakai baterai. Dokumen ini memandu Anda mempelajari 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
Pesan real-time latar depan
Saat aplikasi Anda berada di latar depan, pengguna biasanya mengharapkan volume informasi 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 tersebut?
Cara umum untuk mendukung jenis pertukaran data real-time ini adalah dengan menggunakan protokol klien-server, seperti WebSocket. WebSocket memungkinkan komunikasi persisten dan full-duplex antara aplikasi Anda dan server. Library OKHTTP menyertakan implementasi protokol WebSocket yang dapat Anda gunakan di klien Android.
Firebase Realtime Database menyediakan backend dan frontend klien bawaan yang dapat menangani komunikasi semacam ini atas nama Anda. Socket.io menggunakan WebSocket secara internal untuk komunikasi real-time antara klien dan servernya.
Pesan real-time latar belakang
Jika aplikasi Anda tidak lagi berada di latar depan, sangat penting untuk menghindari hal-hal yang berdampak buruk pada kesehatan sistem dan masa pakai baterai. Karena pengiriman notifikasi pesan yang andal masih penting, sebaiknya gunakan Firebase Cloud Messaging (FCM).
FCM adalah solusi pesan lintas platform yang secara efisien mengirimkan notifikasi dan pesan data ke perangkat Android (dan lainnya). API ini memanfaatkan Lapisan Transportasi Android (ATL) 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 batasan karena mode istirahat atau aplikasi standby.
- Pelajari cara mengintegrasikan FCM ke dalam project Android Anda
- Mempelajari FCM (server) API dan kemampuannya
Meningkatkan keandalan pengiriman pesan
Untuk membuat pengiriman pesan Anda lebih andal, pertimbangkan strategi berikut:
- Gunakan
WorkManageruntuk membangunkan aplikasi Anda secara berkala guna 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.