Android push хабарламалары VPN-мен жұмыс істемей ме? Мыналарды тексеріңіз
FCM өзінің шығыс қосылымын 5228-5230 порттарында ұстайды. Хабарлама параметрлеріне тиюден бұрын proxy ережесін, NAT мерзімін және VPN-ді айналып өтуді тексеріңіз.
Басқа жағынан корпоративтік VPN арқылы жақсы шолғын жасайтын телефонға хабарламалар келуін тоқтатады. Веб беттер жүктеледі, қосымша ашылады, ал хабарламалар тек үйде немесе туннель өшірілгеннен кейін ғана көрінеді. Firebase Cloud Messaging негізіндегі қосымшада push арнасы бөлек, ұзақ өмірлі шығыс қосылым, браузер жаңа ғана дәлелдеген HTTPS жолы емес. Осы тексерулерді ретімен орындап, бірінші сәтсіз болғанында тоқтаңыз.
Қосымша шынымен FCM қолданатынын растаңыз
Әр хабарлама push емес. Кейбірін қосымша жергілікті жоспарлайды, кейбірі HTTPS арқылы сұралады, ал кейбірі Firebase-ге қатысы жоқ жеткізуші арнасымен келеді. Егер қосымшаның manifest және тәуелділіктері Firebase Messaging-ті қамтыса, оның хабарламалары әдетте FCM қосылымы арқылы жүреді, ал клиент кітапханасы тіркеуді болжамды тег астында тіркейді.
adb logcat -s FirebaseMessaging:V
adb shell dumpsys package <package> | grep -i firebase
Логтағы тіркеу token-і тасымалды растайды. Онсыз сіз қосымша деңгейіндегі хабарлама желісін жөндеп жатырсыз, ал firewall өзгерістері көмектеспейді. Бұл айырма маңызды, өйткені жеткізілген, бірақ ешқашан көрсетілмейтін хабарлама мен мүлдем келмейтін хабарлама пайдаланушыға бірдей көрінеді.
Шығыс порттарын тексеріңіз, веб-сайтты емес
FCM құрылғы қосылымдары — құрылғыдан басталатын TCP, 5228 портына, 5229 және 5230 қосалқы, ал 443 соңғы шара ретінде. Шолу үшін 443-ке рұқсат беретін firewall та push-ты бұза алады, ал қосымшаның API доменіне рұқсат беретін ереже бөлек қызметтер болып табылатын хабарлама шеткі нүктелерін қамтымайды.
Бұл телефоннан шығатын қосылымдар. Сіз құрылғыда немесе VPN қақпасында кіріс портын жарияламайсыз, сондықтан біреу портты бағыттауды ұсынса, дизайн әлдеқашан қате. Бір портты интернеттегі барлық мекенжайға ашатын ережеге де қатысты: оны құжатталған межелермен шектеңіз.
| Port | Role | What to verify |
|---|---|---|
| 5228 | Primary FCM connection | Outbound allowed and session state kept |
| 5229, 5230 | Fallback ports | Often missing from hand-written allowlists |
| 443 | Last-resort fallback | Works only if the client actually falls back |
| HTTP proxy | Not a supported FCM transport | Proxy exclusion or bypass, not a port rule |
Firebase желілік нұсқаулығы сондай-ақ FCM жеткізу протоколын кәдімгі HTTP proxy арқылы тасымалдауға болмайтынын айтады. Сондықтан браузердің корпоративтік веб proxy арқылы жұмыс істеуі push socket туралы ештеңе дәлелдемейді: бұлар жолдары әртүрлі екі бөлек клиент.
Socket-ті өлтіретін бос тұру мерзімдерін тексеріңіз
FCM қосылымы хабарламалар арасында ашық қалады, бұл оны NAT және күйлі тексеру мерзімдеріне сезімтал етеді. Firebase нұсқаулығы мұндай саясат қолданылатын жерде кемінде 30 минут бос тұруға төзімділікті талап етеді. Бес минуттық сессия мерзімі салыстыруды үнсіз жояды, ал телефон оны бірдеңе оятқанда ғана қайта қосылады, сондықтан хабарламалар топтасып келеді немесе мүлдем келмейді.
Firewall немесе VPN қақпасындағы сессия кестесін оқып, телефонның 5228-5230-ға қосылымын табыңыз. Оның қалған өмірін құжатталған мәнмен салыстырыңыз. Егер ол қысқарақ болса, құрылғының барлық саясатын өзгертудің орнына сол порттардың мерзімін ұзартыңыз, өйткені жаһандық мерзім өзгерісін ақтау қиын, ал оны кері қайтару одан да қиын.
Push жеткізу шеткі нүктенің салыстырылуы Wi-Fi мен ұялы желі арасындағы роумингтен аман өтуіне де байланысты. Бір интерфейске байланған салыстыру екі желі де порттарға рұқсат берсе де, өткізу кезінде жоғалуы мүмкін.
VPN-ді айналып өтуге бола ма, соны шешіңіз
Android VPN клиенттері трафиктің туннельді айналып өтуіне рұқсат бере алады, және бұл айналып өтуге рұқсат етілсе, FCM астыңғы желіні қолдана алады. Бұл жағдайда push арнасы шифрланған күйде қалады, бірақ енді туннель мекенжайын тасымайды, сондықтан VPN-нің IP жасырылуы оған қолданылмайды. Бұл саяси ымыра, ақаулық емес.
Егер саясатыңыз айналып өтуге тыйым салса, туннель жолы қосылымды тасымалдауы керек: порттар ашық, мерзімдер жеткілікті ұзақ, proxy жолда кедергі болмауы керек. Басқарылатын қызметті үнсіз шеттетпеңіз және хабарламалар басқарылмайтын желіде жұмыс істейді деп құлыптауды босаңсытпаңыз. VPN белгішесі белгілі бір қызмет қай жолды таңдағанын айтпайды
Жеткізуді көрсетуден бөліп, бір рет сынаңыз
Рұқсат, арна параметрлері, Мазаламаңыз және әр қосымшаның ауыстырып-қосқыштары жеткізілген хабарламаның көрсетілуін шешеді. Android 13 және одан кейінгі нұсқаларда хабарлама рұқсаты орындалу кезінде беріледі, ал бас тартылған рұқсат бұғатталған портқа дәл ұқсайтын тыныштық туғызады. Келген, бірақ көрсетілмеген хабарлама — көрсету мәселесі; оны бөлек қарастырыңыз.
Хабарламаларды алаңсыз жіберудің орнына бір бақыланатын сынақ жасаңыз. Құрылғыны, тіркелгіні және қосымшаны өзгеріссіз ұстаңыз, белгілі уақыт белгісі бар бір хабарлама жіберіңіз және VPN жағдайын мақұлданған VPN жоқ желімен салыстырыңыз. Әр іске қосу үшін logcat қабылдау уақытын және көрсету уақытын жазыңыз. Егер жеткізу өзгеше болып, көрсету өзгермесе, желі жолы айнымалы; егер екеуі де бірдей болса, қосымшаны қарауды жалғастырыңыз.
Желі иесіне порттарды, proxy шектеуін, өлшенген мерзімді және айналып өту шешімін бір жазбада беріңіз. «VPN-ді өшір» — бұл тұжырым емес, ал барлық Google трафигіне рұқсат беру — шектелген түзету емес.