C++ क्लाइंट ऐप से अपस्ट्रीम संदेश भेजें

यदि आपका ऐप सर्वर औजार XMPP कनेक्शन सर्वर प्रोटोकॉल, यह बादल करने के लिए एक उपयोगकर्ता के उपकरण से नदी के ऊपर संदेश प्राप्त कर सकते हैं। एक अपस्ट्रीम संदेश आरंभ करने के लिए, क्लाइंट ऐप निम्नलिखित के साथ एक अनुरोध भेजता है:

  • प्रारूप में प्राप्त एप्लिकेशन सर्वर के पते SENDER_ID@fcm.googleapis.com
  • एक संदेश आईडी प्रत्येक के लिए अद्वितीय होना चाहिए कि प्रेषक आईडी
  • संदेश डेटा जिसमें संदेश के पेलोड के कुंजी-मूल्य जोड़े शामिल होते हैं।

जब यह डेटा प्राप्त करता है, तो FCM ऐप सर्वर को भेजने के लिए XMPP श्लोक बनाता है, भेजने वाले डिवाइस और ऐप के बारे में कुछ अतिरिक्त जानकारी जोड़ता है।

C++ क्लाइंट ऐप से अपस्ट्रीम संदेश भेजें

संदेश सर्वर पर नदी के ऊपर भेजने के लिए, एक सी ++ क्लाइंट ऐप संदेश तैयार करता और कॉल Send दिखाया गया है:

::firebase::messaging::Message message;
message.to = SENDER_ID + "@fcm.googleapis.com";
message.message_id = get_unique_message_id();
message.data["my_message", "Hello World");
message.data["my_action", "SAY HELLO");
message.time_to_live = TIME_TO_LIVE;
::firebase::messaging::Send(message);

कहां:

  • message.to प्रारूप में प्राप्त अनुप्रयोग सर्वर का पता है SENDER_ID@fcm.googleapis.com

  • message.message_id एक अनूठा संदेश पहचानकर्ता है। इस संदेश आईडी के आधार पर सभी संदेश रिसीवर कॉलबैक की पहचान की जाती है।

  • message.data कुंजी और तारों के रूप में मूल्यों का एक नक्शा है।

  • message.time_to_live निर्दिष्ट कब तक (सेकंड में) संदेश FCM भंडारण में रखा जाना चाहिए, तो डिवाइस ऑफ़लाइन है। यदि इस समय सीमा समाप्त होने से पहले FCM संदेश डिलीवर नहीं कर पाता है, तो यह क्लाइंट को एक सूचना वापस भेजता है।

FCM क्लाइंट लाइब्रेरी क्लाइंट ऐप पर संदेश को कैश करती है और क्लाइंट के सक्रिय सर्वर कनेक्शन होने पर उसे भेजती है। संदेश प्राप्त होने पर, FCM इसे ऐप सर्वर पर भेजता है।

ऐप सर्वर पर एक्सएमपीपी संदेश प्राप्त करें

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

एक एसीके संदेश भेजना

ऊपर की तरह एक अपस्ट्रीम संदेश के जवाब में, ऐप सर्वर को एक ही कनेक्शन का उपयोग करके एक अद्वितीय संदेश आईडी युक्त एसीके संदेश भेजना चाहिए। यदि FCM को ACK प्राप्त नहीं होता है, तो वह ऐप सर्वर पर संदेश भेजने का पुनः प्रयास कर सकता है।

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

देखें XMPP कनेक्शन सर्वर संदर्भ नदी के ऊपर संदेश सिंटैक्स के बारे में अधिक जानकारी के लिए।