Unity istemci uygulamasından yukarı akış mesajları gönderme

Uygulama sunucunuz XMPP Bağlantı Sunucusu protokolü, kullanıcının cihazından buluta yayın öncesi mesajları alabilir. İstemci uygulaması, bir yukarı akış mesajı başlatmak için aşağıdakileri içeren bir istek gönderir:

  • Alıcı uygulama sunucusunun SENDER_ID@fcm.googleapis.com biçimindeki adresi.
  • Her gönderen kimliği için benzersiz olması gereken ileti kimliği.
  • Mesaj yükünün anahtar/değer çiftlerini içeren mesaj verileri.

FCM, bu verileri aldığında uygulama sunucusuna göndermek için bir XMPP ifadesi oluşturur. gönderen cihaz ve uygulama hakkında bazı ek bilgiler ekleyin.

Unity istemci uygulamasından yukarı akış mesajı gönderme

Sunucuya akış yukarı mesaj göndermek için bir Unity istemci uygulaması bir mesaj oluşturur ve Send şu şekilde çağrılıyor:

Firebase.Messaging.Message message;
message.To = SENDER_ID + "@fcm.googleapis.com";
message.MessageId = get_unique_message_id();
message.Data("my_message", "Hello World");
message.Data("my_action", "SAY HELLO");
message.TimeToLive = kTimetoLive;
Firebase.Messaging.FirebaseMessaging.Send(message);

Bu örnekte:

  • message.To, alıcı uygulama sunucusunun şu biçimdeki adresidir: SENDER_ID@fcm.googleapis.com.

  • message.MessageId, benzersiz bir ileti tanımlayıcısıdır. Tüm mesaj alıcıları geri çağırmalar bu ileti kimliğine göre tanımlanır.

  • message.Data, anahtarların ve değerlerin dize olarak haritasıdır.

  • message.TimeToLive, mesajın ne kadar süre (saniye cinsinden) olması gerektiğini belirtir Cihaz çevrimdışıysa FCM depolama alanında saklanır. FCM bu süre dolmadan önce mesajı teslim edemezse müşteriye bildirim gönderilir.

FCM istemci kitaplığı, mesajı istemci uygulamasında önbelleğe alır ve istemcinin etkin bir sunucu bağlantısı olduğunda bunu yapması gerekir. İleti alındığında, FCM, bunu uygulama sunucusuna gönderir.

Uygulama sunucusunda XMPP mesajlarını al

FCM, bir istemci uygulamasından yukarı akış mesajlaşma çağrısı aldığında, yukarı akış mesajını göndermek için gereken XMPP cümlesi. FCM, category ve from alanlarını ekler ve ardından metin, uygulama sunucusuna aşağıdakine benzer:

<message id="">
  <gcm xmlns="google:mobile:data">
  {
      "category":"com.example.yourapp", // to know which app sent it
      "data":
      {
          "hello":"world",
      },
      "message_id":"m-123",
      "from":"REGID"
  }
  </gcm>
</message>
.

ACK mesajı gönderme

Yukarıdaki gibi bir yukarı akış mesajına yanıt olarak uygulama sunucusu, İleti Kimliği. FCM bir ACK almazsa göndermeyi yeniden deneyebilir uygulama sunucusuna gönderilir.

<message id="">
  <gcm xmlns="google:mobile:data">
  {
      "to":"REGID",
      "message_id":"m-123"
      "message_type":"ack"
  }
  </gcm>
</message>

XMPP Bağlantı Sunucusu Referansı'na bakın. sayfasına bakın.