Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

إرسال رسائل المنبع من تطبيق عميل Unity

تنظيم صفحاتك في مجموعات يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.

إذا كان خادم التطبيق الخاص بك ينفذ بروتوكول خادم اتصال XMPP ، فيمكنه تلقي رسائل أولية من جهاز المستخدم إلى السحابة. لبدء رسالة أولية ، يرسل تطبيق العميل طلبًا يحتوي على ما يلي:

  • عنوان خادم التطبيق المستلم بالتنسيق SENDER_ID@fcm.googleapis.com .
  • معرف الرسالة الذي يجب أن يكون فريدًا لكل معرف مرسل .
  • تتكون بيانات الرسالة من أزواج القيمة الرئيسية لحمولة الرسالة.

عندما تتلقى هذه البيانات ، تُنشئ FCM مقطع XMPP لإرساله إلى خادم التطبيق ، مضيفًا بعض المعلومات الإضافية حول جهاز الإرسال والتطبيق.

إرسال رسالة المنبع من تطبيق عميل Unity

لإرسال رسائل إلى الخادم ، يقوم تطبيق عميل Unity بتكوين رسالة ومكالمات Send كما هو موضح:

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

أين:

  • إلى عنوان خادم التطبيق SENDER_ID@fcm.googleapis.com message.To

  • message.MessageId هو معرف رسالة فريد. يتم تحديد جميع عمليات الاسترجاعات لمستلمي الرسائل على أساس معرف الرسالة هذا.

  • message.Data . البيانات هي خريطة المفاتيح والقيم كسلاسل.

  • message.TimeToLive يحدد المدة (بالثواني) التي يجب أن تبقى فيها الرسالة في تخزين FCM إذا كان الجهاز غير متصل بالإنترنت. إذا لم تتمكن FCM من تسليم الرسالة قبل الوصول إلى انتهاء الصلاحية ، فإنها ترسل إشعارًا مرة أخرى إلى العميل.

مكتبة عميل FCM تخزن الرسالة مؤقتًا على تطبيق العميل وترسلها عندما يكون لدى العميل اتصال خادم نشط. عند استلام الرسالة ، يرسلها FCM إلى خادم التطبيق.

تلقي رسائل XMPP على خادم التطبيق

عندما يتلقى FCM مكالمة رسائل أولية من تطبيق عميل ، فإنه ينشئ مقطع XMPP الضروري لإرسال رسالة المنبع. يضيف FCM category from الحقول ، ثم يرسل مقطعًا كما يلي إلى خادم التطبيق:

<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

استجابةً لرسالة أولية مثل ما ورد أعلاه ، يجب أن يستخدم خادم التطبيق نفس الاتصال لإرسال رسالة ACK تحتوي على معرف الرسالة الفريد. إذا لم يتلق FCM ACK ، فقد يعيد محاولة إرسال الرسالة إلى خادم التطبيق.

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

راجع مرجع خادم اتصال XMPP للحصول على مزيد من المعلومات حول بناء جملة الرسائل الأولية.