Mengirim Pesan Upstream dari Aplikasi Klien Unity

Jika server aplikasi Anda menerapkan protokol Server Koneksi XMPP, server tersebut dapat menerima pesan upstream dari perangkat pengguna ke cloud. Untuk memulai pesan upstream, aplikasi klien harus mengirimkan permintaan yang berisi berikut ini:

  • Alamat server aplikasi penerima dalam format SENDER_ID@gcm.googleapis.com.
  • ID pesan harus unik untuk setiap ID pengirim.
  • Data pesan yang terdiri dari key-value pair pada payload pesan.

Ketika menerima data ini, FCM membuat stanza XMPP untuk dikirimkan ke server aplikasi dengan menambahkan beberapa informasi tambahan mengenai perangkat dan aplikasi pengirim.

Mengirim pesan upstream dari aplikasi klien Unity

Untuk mengirim pesan upstream ke server, aplikasi klien Unity akan membuat pesan dan memanggil Send, seperti ditunjukkan di bawah ini:

Firebase.Messaging.Message message;
message.To = SENDER_ID + "@gcm.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);

dalam hal ini:

  • message.To adalah alamat dari server aplikasi penerima dalam format SENDER_ID@gcm.googleapis.com.

  • message.MessageId adalah pengenal pesan unik. Semua callback penerima pesan diidentifikasi berdasarkan ID pesan ini.

  • message.Data adalah peta kunci dan nilai sebagai string.

  • message.TimeToLive menentukan berapa lama (dalam satuan detik) pesan harus disimpan dalam penyimpanan FCM jika perangkat sedang offline. Jika tidak dapat mengirimkan pesan sebelum masa berlaku ini habis, maka FCM akan mengirim notification kembali ke klien.

Pustaka klien FCM menyimpan pesan dalam cache di aplikasi klien dan mengirimkannya ketika klien memiliki koneksi server yang aktif. Ketika menerima pesan, server koneksi FCM akan mengirimkannya ke server aplikasi.

Menerima pesan XMPP di server aplikasi

Ketika menerima panggilan pesan upstream dari aplikasi klien, FCM akan membuat stanza XMPP yang diperlukan untuk mengirim pesan upstream. FCM akan menambahkan kolom category dan from, lalu mengirimkan stanza seperti berikut ini ke server aplikasi:

<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>

Mengirim pesan ACK

Sebagai respons atas pesan upstream seperti yang ditunjukkan di atas, server aplikasi harus menggunakan koneksi yang sama untuk mengirim pesan ACK yang berisi ID pesan unik. Jika FCM tidak menerima ACK, pesan tersebut mungkin dikirim kembali ke server aplikasi.

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

Baca Referensi Server Koneksi XMPP untuk mengetahui informasi lebih lanjut mengenai sintaks pesan upstream.

Kirim masukan tentang...

Butuh bantuan? Kunjungi halaman dukungan kami.