एक बैकएंड कॉर्पोरेट प्रॉक्सी के ज़रिए Firebase Cloud Messaging अनुरोध सफलतापूर्वक भेज सकता है, जबकि Android डिवाइस को सूचना कभी नहीं मिलती। बैकएंड का Admin API अनुरोध और डिवाइस का FCM कनेक्शन अलग-अलग मार्ग हैं।

Firebase की नेटवर्क गाइड कहती है कि FCM के डिवाइस प्रोटोकॉल को नेटवर्क प्रॉक्सी के ज़रिए प्रॉक्सी नहीं किया जा सकता। भेजने वाले पर HTTP क्लाइंट कॉन्फ़िगर करने से वह स्थायी डिवाइस कनेक्शन HTTP प्रॉक्सी अनुरोध नहीं बन जाता।

Android डिवाइस के लिए, दस्तावेज़ित TCP गंतव्य पोर्ट 5228, 5229, 5230 और 443 हैं। FCM आम तौर पर 5228 का उपयोग करता है, और अन्य पोर्ट भी उपलब्ध हैं। जिस नेटवर्क से प्राप्त करने वाले डिवाइस जुड़ते हैं, वहाँ उपयुक्त नीति लागू करें।

जब फ़ायरवॉल गंतव्यों को सीमित करता है तो Firebase की प्रकाशित होस्टनेम गाइड का उपयोग करें; यह निश्चित IP अनुमति सूचियों को हतोत्साहित करती है क्योंकि पते बदल सकते हैं। डिवाइस को काम करने वाला DNS और अपने दीर्घकालिक कनेक्शन के लिए स्थिर मार्ग भी चाहिए।

अगर टोकन प्राप्त करने या Admin API अनुरोध के दौरान भेजने वाला विफल हो जाए, तो उस सर्वर-साइड HTTP ट्रांसपोर्ट का निदान करें। Firebase Admin Java के HTTP इंटरफ़ेस के लिए, API और क्रेडेंशियल ट्रांसपोर्ट को एक साथ कॉन्फ़िगर करें। अगर भेजना सफल होता है पर डिलीवरी विफल होती है, तो उस परिणाम को सुरक्षित रखें और बैकएंड के प्रॉक्सी क्रेडेंशियल बार-बार बदलने के बजाय डिवाइस के मार्ग की जाँच करें।

संबंधित लेख