Firebase क्लाउड से मैसेज भेजने की सेवा का इस्तेमाल करके मैसेज पाना

इस गाइड में, मोबाइल और वेब क्लाइंट ऐप्लिकेशन में Firebase Cloud Messaging सेट अप करने का तरीका बताया गया है, ताकि आपको भरोसेमंद तरीके से मैसेज मिल सकें.

मैसेज पाने के लिए, आपके ऐप्लिकेशन को Firebase.Messaging.FirebaseMessaging.MessageReceived इवेंट हैंडलर को कॉलबैक असाइन करना होगा.

MessageReceived इवेंट

Firebase.Messaging.FirebaseMessaging.MessageReceived को कॉल बैक असाइन करने की सुविधा को बदलकर, आपको मिले मैसेज के आधार पर कार्रवाइयां की जा सकती हैं. साथ ही, मैसेज का डेटा भी पाया जा सकता है:

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

मैसेज, अलग-अलग तरह के इनकमिंग डेटा को दिखा सकते हैं. आम तौर पर, डेवलपर की ओर से शुरू किए जाने के बाद, ऐप्लिकेशन को मैसेज भेजे जाते हैं. मैसेज भेजे जाने के इवेंट, मैसेज भेजने से जुड़ी गड़बड़ी के इवेंट, और मैसेज मिटाए जाने के इवेंट के बारे में बताने के लिए, आपके ऐप्लिकेशन को भी मैसेज भेजे जाते हैं. इन खास इवेंट के बीच अंतर करने के लिए, Message::message_type फ़ील्ड देखें.

मैसेज मिटाए गए

FCM सर्वर से, भेजे जाने के लिए शेड्यूल किए गए मैसेज मिटाने पर, यह सूचना आपके ऐप्लिकेशन को भेजी जाती है. Message::message_type "deleted_messages" होगा. इन वजहों से मैसेज मिटाए जा सकते हैं:

  1. FCM सर्वर पर बहुत ज़्यादा मैसेज सेव किए गए हैं.

    ऐसा तब हो सकता है, जब कोई ऐप्लिकेशन ऑफ़लाइन होने पर, FCM सर्वर को कई छोटे न किए जा सकने वाले मैसेज भेजता है.

  2. डिवाइस लंबे समय से कनेक्ट नहीं हुआ है और ऐप्लिकेशन सर्वर ने हाल ही में (पिछले चार हफ़्तों में) उस डिवाइस पर ऐप्लिकेशन को मैसेज भेजा है.

    हमारा सुझाव है कि यह कॉल मिलने के बाद, ऐप्लिकेशन को ऐप्लिकेशन सर्वर के साथ पूरी तरह से सिंक करना चाहिए.

इवेंट भेजें

इस फ़ंक्शन को तब कॉल किया जाता है, जब अपस्ट्रीम मैसेज को FCM पर भेज दिया जाता है. MessageType "send_event" होगा.

भेजने में गड़बड़ी हुई

अपस्ट्रीम मैसेज भेजते समय कोई गड़बड़ी होने पर इस फ़ंक्शन को कॉल किया जाता है. MessageType "send_error" होगा.