ਇੱਕ ਬੈਕਐਂਡ ਕਾਰਪੋਰੇਟ ਪ੍ਰੌਕਸੀ ਰਾਹੀਂ 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 ਅਤੇ ਕ੍ਰੈਡੈਂਸ਼ੀਅਲ ਟ੍ਰਾਂਸਪੋਰਟ ਨੂੰ ਇਕੱਠੇ ਸੰਰਚਿਤ ਕਰੋ। ਜੇ ਭੇਜਣਾ ਸਫਲ ਹੁੰਦਾ ਹੈ ਪਰ ਡਿਲੀਵਰੀ ਫੇਲ੍ਹ ਹੁੰਦੀ ਹੈ, ਤਾਂ ਉਹ ਨਤੀਜਾ ਸੰਭਾਲੋ ਅਤੇ ਬੈਕਐਂਡ ਦੇ ਪ੍ਰੌਕਸੀ ਕ੍ਰੈਡੈਂਸ਼ੀਅਲ ਵਾਰ-ਵਾਰ ਬਦਲਣ ਦੀ ਬਜਾਏ ਡਿਵਾਈਸ ਦੇ ਮਾਰਗ ਦੀ ਜਾਂਚ ਕਰੋ।

ਸੰਬੰਧਿਤ ਲੇਖ