Mesajları güvenilir bir şekilde almak, tüm Android mesajlaşma deneyimlerinin en önemli özelliğidir. Ayrıca, sistem sağlığı ve pil ömrünü göz önünde bulundurarak mesajlaşmayı uygulamak da önemlidir. Bu belgede, Android uygulamanızın mesajları tutarlı, verimli ve güvenilir bir şekilde almasını sağlamak için kullanabileceğiniz temel stratejiler ve araçlar açıklanmaktadır.
İleti teslim mekanizmaları
Güvenilir mesajlaşma için en iyi yaklaşım, uygulamanızın özel gereksinimlerine bağlıdır. Aşağıdaki gibi faktörleri göz önünde bulundurun:
- Mevcut anlık ihtiyaçlar
- Mesaj sıklığı
- Pil kısıtlamaları
Ön planda gerçek zamanlı mesajlaşma
Uygulamanız ön planda olduğunda kullanıcı genellikle makul düzeyde bilgi bekler ve şunları bilmek ister:
- Mesaj gönderilen kişi cihazında mevcut mu?
- Kullanıcılar yazıyor mu?
- İletiyi okudular mı?
Bu tür bir anlık veri alışverişini desteklemenin tipik yolu, WebSockets gibi bir istemci-sunucu protokolü kullanmaktır. WebSocket'ler, uygulamanız ile sunucu arasında kalıcı ve tam çift yönlü iletişim sağlar. OKHTTP kitaplığı, Android istemcinizde kullanabileceğiniz bir WebSocket protokolü uygulaması içerir.
Firebase Realtime Database, bu tür iletişimi sizin adınıza işleyebilen önceden oluşturulmuş bir arka uç ve istemci ön ucu sağlar. İstemcisi ile sunucusu arasında gerçek zamanlı iletişim için dahili olarak WebSockets'i kullanır.
Arka planda gerçek zamanlı mesajlaşma
Uygulamanız artık ön planda değilken sistem sağlığını ve pil ömrünü olumsuz etkileyen işlemlerden kaçınmanız çok önemlidir. İleti bildirimlerinin güvenilir bir şekilde iletilmesi hâlâ önemli olduğundan Firebase Cloud Messaging (FCM)'yi kullanmanızı öneririz.
FCM, Android (ve diğer) cihazlara verimli bir şekilde bildirim ve veri mesajları gönderen, platformlar arası bir mesajlaşma çözümüdür. Google hizmetlerinin bulunduğu cihazlarda Android Transport Layer (ATL) katmanından yararlanır. Böylece uygulamanız çalışmadığı zamanlarda değişikliklerden haberdar olabilir. Mesaj tesliminin zamanında yapılması; cihazın durumuna, mesajın önceliğine ve uygulamanızın uyku modu veya uygulama bekleme modu nedeniyle kısıtlamalara tabi olup olmadığına bağlıdır.
- FCM'yi Android projenize nasıl entegre edeceğinizi öğrenin.
- FCM (sunucu) API'sini ve özelliklerini keşfedin
İleti teslim güvenilirliğini artırma
Mesaj teslimatınızı daha da sağlam hale getirmek için aşağıdaki stratejileri göz önünde bulundurun:
- Cihazda ağ bağlantısı olduğunda ve (ideal olarak) cihaz bir şarj aletine bağlıyken yeni mesajları kontrol etmek için
WorkManager'ı kullanarak uygulamanızı düzenli olarak uyandırın. - FCM Data API'den Firebase konsolu ve Android SDK teslimat metrikleri gibi araçlarla FCM teslimatı hakkında bilgi edinin.
- İleti teslimiyle ilgili sorunları izlemek ve gidermek için Firebase Crashlytics gibi günlük kaydı mekanizmalarını ve araçlarını kullanın.