Firebase Cloud Messaging'i kullanarak mesaj alma

Bu kılavuzda, mesajları güvenilir bir şekilde alabilmeniz için mobil ve web istemci uygulamalarınızda Firebase Cloud Messaging'yı nasıl ayarlayacağınız açıklanmaktadır.

Uygulamanızın mesaj alabilmesi için Firebase.Messaging.FirebaseMessaging.MessageReceived olay işleyicisine bir geri çağırma ataması gerekir.

MessageReceived Etkinlik

Firebase.Messaging.FirebaseMessaging.MessageReceived için geri çağırma atamasını geçersiz kılarak alınan mesaja göre işlemler gerçekleştirebilir ve mesaj verilerini alabilirsiniz:

public void OnMessageReceived(object sender, Firebase.Messaging.MessageReceivedEventArgs e) {
  UnityEngine.Debug.Log("From: " + e.Message.From);
  UnityEngine.Debug.Log("Message ID: " + e.Message.MessageId);
}

İletiler, farklı türlerdeki gelen verileri temsil edebilir. En yaygın olarak, iletiler geliştirici tarafından başlatıldıktan sonra uygulamaya gönderilir. Ayrıca, gönderilen ileti etkinliklerini, ileti gönderme hatası etkinliklerini ve silinen ileti etkinliklerini temsil etmek için uygulamanıza iletiler gönderilir. Bu özel etkinlikler, Message::message_type alanı kontrol edilerek ayırt edilebilir.

Mesajlar Silindi

FCM sunucusu bekleyen iletileri sildiğinde uygulamanıza gönderilir. Message::message_type, "deleted_messages" olacak. İletiler aşağıdaki nedenlerle silinebilir:

  1. FCM sunucusunda çok fazla ileti depolanmış.

    Bu durum, bir uygulamanın sunucuları cihaz çevrimdışıyken FCM sunucularına bir sürü daraltılamayan mesaj gönderdiğinde ortaya çıkabilir.

  2. Cihaz uzun süredir bağlanmıyor ve uygulama sunucusu kısa süre önce (son 4 hafta içinde) bu cihazdaki uygulamaya mesaj gönderdi.

    Uygulamanın bu aramayı aldıktan sonra uygulama sunucusuyla tam senkronizasyon yapması önerilir.

Etkinlik Gönder

Bir yukarı akış mesajı FCM adresine başarıyla gönderildiğinde çağrılır. MessageType, "send_event" olacak.

Gönderme Hatası

Yukarı akış iletisi gönderilirken hata oluştuğunda çağrılır. MessageType, "send_error" olacak.