अन्य कुरामा कर्पोरेट VPN मार्फत राम्ररी ब्राउज गर्ने फोनमा सूचनाहरू आउन बन्द हुन्छन्। वेब पृष्ठहरू लोड हुन्छन्, एप खुल्छ, र सन्देशहरू घरमा वा सुरुङ बन्द गरेपछि मात्र देखिन्छन्। Firebase Cloud Messaging मा बनेको एपमा पुश च्यानल एउटा छुट्टै, लामो समय टिक्ने आउटबाउन्ड जडान हो, ब्राउजरले भर्खरै प्रमाणित गरेको HTTPS बाटो होइन। यी जाँचहरू क्रममा गर्नुहोस् र पहिलो असफल हुनेमा रोक्नुहोस्।

एपले साँच्चै FCM प्रयोग गर्छ भनी पुष्टि गर्नुहोस्

हरेक सूचना पुश होइन। केही एपले स्थानीय रूपमा तालिका बनाउँछ, केही HTTPS मार्फत सोधिन्छन्, र केही Firebase सँग कुनै सम्बन्ध नभएको विक्रेता च्यानलबाट आउँछन्। यदि एपको म्यानिफेस्ट र निर्भरताहरूमा Firebase Messaging समावेश छ भने, त्यसका सूचनाहरू सामान्यतया FCM जडानबाट जान्छन्, र क्लाइन्ट लाइब्रेरीले दर्तालाई अनुमान गर्न सकिने ट्यागमुनि लग गर्छ।

adb logcat -s FirebaseMessaging:V
adb shell dumpsys package <package> | grep -i firebase

लगमा दर्ता टोकन भएमा ढुवानी पुष्टि हुन्छ। त्यो बिना तपाईं एप-स्तरको सूचना पाइपलाइन डिबग गर्दै हुनुहुन्छ, र फायरवाल परिवर्तनले मद्दत गर्दैन। यो भिन्नता महत्त्वपूर्ण छ किनभने पुर्‍याइएको तर कहिल्यै नदेखाइने सन्देश र कहिल्यै नआउने सन्देश प्रयोगकर्तालाई उस्तै देखिन्छन्।

आउटबाउन्ड पोर्टहरू जाँच्नुहोस्, वेबसाइट होइन

FCM उपकरण जडानहरू उपकरणबाट सुरु हुने TCP हुन् जो पोर्ट 5228 मा जान्छन्, 5229 र 5230 ब्याकअपका रूपमा र 443 अन्तिम उपायका रूपमा। ब्राउजिङका लागि 443 अनुमति दिने फायरवालले पनि पुश तोड्न सक्छ, र एपको API डोमेन अनुमति दिने नियमले छुट्टै सेवा भएका सन्देश एन्डपोइन्टहरू समेट्दैन।

यी फोनबाट बाहिर जाने जडानहरू हुन्। तपाईंले उपकरण वा VPN गेटवेमा कुनै इनबाउन्ड पोर्ट प्रकाशित गर्नुहुन्न, त्यसैले कसैले पोर्ट फर्वार्डिङ सुझाए त्यो डिजाइन पहिले नै गलत भइसकेको छ। इन्टरनेटका सबै ठेगानाका लागि एउटै पोर्ट खोल्ने नियममा पनि यही लागू हुन्छ: त्यसलाई कागजात गरिएका गन्तव्यहरूमा सीमित गर्नुहोस्।

PortRoleWhat to verify
5228Primary FCM connectionOutbound allowed and session state kept
5229, 5230Fallback portsOften missing from hand-written allowlists
443Last-resort fallbackWorks only if the client actually falls back
HTTP proxyNot a supported FCM transportProxy exclusion or bypass, not a port rule

Firebase को नेटवर्क मार्गदर्शन ले पनि FCM डेलिभरी प्रोटोकल सामान्य HTTP प्रोक्सीमा लैजान नसकिने बताउँछ। त्यसैले कर्पोरेट वेब प्रोक्सीमार्फत ब्राउजर चल्नुले पुश सकेटबारे केही पनि प्रमाणित गर्दैन: यी फरक बाटो भएका दुई फरक क्लाइन्ट हुन्।

सकेट मार्ने निष्क्रिय टाइमआउटहरू जाँच्नुहोस्

FCM जडान सन्देशहरूबीच खुला रहन्छ, जसले यसलाई NAT र स्टेटफुल-इन्स्पेक्शन टाइमआउटप्रति संवेदनशील बनाउँछ। Firebase को मार्गदर्शनले त्यस्ता नीतिहरू लागू हुने ठाउँमा कम्तीमा 30 मिनेट निष्क्रिय सहनशीलता माग्छ। पाँच मिनेटको सत्र टाइमआउटले म्यापिङ चुपचाप हटाउँछ, र फोन कुनै कुराले ब्युँझाएपछि मात्र फेरि जोडिन्छ, त्यसैले सन्देशहरू थुप्रिएर आउँछन् वा आउँदैनन्।

फायरवाल वा VPN गेटवेमा सत्र तालिका पढ्नुहोस् र फोनको 5228-5230 सँगको जडान खोज्नुहोस्। यसको बाँकी आयु कागजात गरिएको मानसँग तुलना गर्नुहोस्। यदि छोटो छ भने उपकरणका सबै नीति बदल्नुको सट्टा ती पोर्टका लागि टाइमआउट बढाउनुहोस्, किनभने विश्वव्यापी टाइमआउट परिवर्तनलाई न्यायोचित ठहराउन गाह्रो छ र फर्काउन अझ गाह्रो।

पुश डेलिभरी Wi-Fi र सेलुलरबीचको रोमिङमा एन्डपोइन्ट म्यापिङ टिकिरहनमा पनि निर्भर छ। एउटै इन्टरफेसमा बाँधिएको म्यापिङ दुवै नेटवर्कले पोर्ट अनुमति दिँदा पनि ह्यान्डओभरमा खारेज हुन सक्छ।

VPN बाइपास स्वीकार्य छ कि छैन निर्णय गर्नुहोस्

Android VPN क्लाइन्टहरूले ट्राफिकलाई सुरुङ बाइपास गर्न दिन सक्छन्, र त्यो बाइपास अनुमति भएमा FCM ले तल्लो नेटवर्क प्रयोग गर्न सक्छ। त्यस अवस्थामा पुश च्यानल इन्क्रिप्टेड रहन्छ, तर अब सुरुङको ठेगाना बोक्दैन, त्यसैले VPN को IP मास्किङ यसमा लागू हुँदैन। यो नीतिगत सम्झौता हो, खराबी होइन।

यदि तपाईंको नीतिले बाइपास निषेध गर्छ भने सुरुङ मार्गले नै जडान बोक्नुपर्छ: पोर्ट खुला, टाइमआउट पर्याप्त लामो, प्रोक्सी बाटोमा नहुने। व्यवस्थित सेवालाई चुपचाप बाहिर नराख्नुहोस् र सूचनाहरू अव्यवस्थित नेटवर्कमा चल्छन् भनेर लकडाउन खुकुलो नपार्नुहोस्। VPN आइकनले कुन सेवाले कुन बाटो छान्यो भनी बताउँदैन

डेलिभरीलाई प्रदर्शनबाट अलग गर्नुहोस्, त्यसपछि एकपटक परीक्षण गर्नुहोस्

अनुमति, च्यानल सेटिङ, हैरान नगर्नुहोस् र प्रत्येक एपको टगलले पुर्‍याइएको सन्देश देखाइने कि नदेखाइने निर्धारण गर्छ। Android 13 र पछिका संस्करणमा सूचना अनुमति रनटाइम अनुदान हो, र अस्वीकृत अनुदानले अवरुद्ध पोर्टजस्तै देखिने मौन सिर्जना गर्छ। आएको तर नदेखाइएको सन्देश प्रस्तुति समस्या हो; यसलाई छुट्टै व्यवहार गर्नुहोस्।

सन्देशहरू जथाभावी पठाउनुको सट्टा एउटा नियन्त्रित परीक्षण गर्नुहोस्। उपकरण, खाता र एप स्थिर राख्नुहोस्, ज्ञात टाइमस्ट्याम्प भएको एउटै सन्देश पठाउनुहोस्, र VPN अवस्थालाई स्वीकृत गैर-VPN नेटवर्कसँग तुलना गर्नुहोस्। प्रत्येक पटकको logcat प्राप्ति समय र प्रदर्शन समय लेख्नुहोस्। डेलिभरी फरक तर प्रदर्शन फरक नभए नेटवर्क मार्ग चर हो; दुवै समान भए एपतिर हेर्न जारी राख्नुहोस्।

नेटवर्क मालिकलाई पोर्ट, प्रोक्सी सीमा, मापिएको टाइमआउट र बाइपास निर्णय एउटै टिप्पणीमा दिनुहोस्। «VPN बन्द गर्नु» कुनै निष्कर्ष होइन, र सबै Google ट्राफिक अनुमति दिनु सीमित समाधान होइन।

सम्बन्धित लेखहरू