Unity ऐप्लिकेशन में मैसेज पाना

प्लैटफ़ॉर्म चुनें: iOS+ Android Web Flutter Unity C++


मैसेज पाने के लिए, आपके ऐप्लिकेशन को 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" होगी.