കോർപ്പറേറ്റ് 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 ഗതാഗതവും അനുവദിക്കുന്നത് പരിധിയുള്ള പരിഹാരവുമല്ല.

അനുബന്ധ ലേഖനങ്ങൾ