একটি ব্যাকএন্ড কর্পোরেট প্রক্সির মাধ্যমে 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 এবং শংসাপত্র পরিবহন একসাথে কনফিগার করুন। যদি পাঠানো সফল হয় কিন্তু বিতরণ ব্যর্থ হয়, তবে সেই ফলাফল সংরক্ষণ করুন এবং ব্যাকএন্ডের প্রক্সি শংসাপত্র বারবার বদলানোর বদলে ডিভাইস পথ অনুসন্ধান করুন।

সম্পর্কিত নিবন্ধ