FCM-এর জন্য আপনার নেটওয়ার্ক কনফিগার করা

আপনার নেটওয়ার্ক এনভায়রনমেন্টে FCM যাতে সঠিকভাবে কাজ করতে পারে তার জন্য প্রয়োজনীয় নেটওয়ার্ক কনফিগারেশন এই ডকুমেন্টে উল্লেখ করা আছে।

FCM-এ মেসেজ পাঠানোর জন্য আপনার নেটওয়ার্ক কনফিগার করুন

শুরু করার আগে, মেসেজ পাঠানো এবং সাবস্ক্রিপশন ম্যানেজ করার জন্য আপনার সিস্টেম FCM সার্ভারের সাথে যোগাযোগ করছে কিনা তা নিশ্চিত করতে হবে।

FCM মেসেজ পাঠাতে বা সাবস্ক্রিপশন ম্যানেজ করতে, আপনার নেটওয়ার্ককে https-এর মাধ্যমে নিম্নলিখিত সার্ভারের সাথে যোগাযোগ করতে হবে:

  • fcm.googleapis.com (মেসেজ পাঠানো)
  • accounts.google.com (মেসেজ পাঠানোর জন্য যাচাইকরণ)
  • iid.googleapis.com (বিষয় সাবস্ক্রিপশন ও ডিভাইস গ্রুপ ম্যানেজমেন্ট)

সময়ের সাথে সাথে এই তালিকায় পরিবর্তন হতে পারে। আমরা এই এন্ড পয়েন্টের জন্য IP-ভিত্তিক অনুমোদিত তালিকা প্রদান করতে পারছি না।

FCM ব্যবহার করে Android ডিভাইসের জন্য আপনার নেটওয়ার্ক কনফিগার করুন

এই বিভাগে Android ডিভাইসের জন্য FCM ট্রাফিক সাপোর্ট করতে কীভাবে আপনার নেটওয়ার্ক কনফিগার করবেন সেই সম্পর্কে বিস্তারিত তথ্য দেওয়া আছে।

FCM পোর্ট এবং আপনার ফায়ারওয়াল

অধিকাংশ নেটওয়ার্কই ডিভাইসের সাথে ইন্টারনেটের বাকি অংশের কানেকশন সীমিত করে না। সাধারণত, আমরা এটিই সাজেস্ট করি। তবে, কিছু সংস্থার পেরিমিটার নিরাপত্তা প্ল্যানের অংশ হিসেবে ফায়ারওয়াল প্রয়োজন হয়।

Firewall সংক্রান্ত বিকল্প

বিকল্প আমরা কী করি নির্দিষ্ট নিয়ম নোট
কোনওটিই নয় (পছন্দসই) - - -
পোর্ট ভিত্তিক ফিল্টারিং (দ্বিতীয় পছন্দ) নির্দিষ্ট পোর্টে ট্রাফিক সীমিত করুন

যেসব TCP পোর্ট খুলতে হবে:

  • 5228
  • 5229
  • 5230
  • 443
এটি সবচেয়ে সহজ নিয়ম এবং সময়ের সাথে সাথে পরিবর্তন হতে পারে এমন বিষয়ের উপর নির্ভরতা প্রতিরোধ করে।
হোস্টনেম ভিত্তিক ফিল্টারিং ফায়ারওয়ালের মাধ্যমে নির্দিষ্ট TLS SNI এন্ট্রি পাস করার জন্য বিশেষ ফায়ারওয়াল কনফিগারেশন ব্যবহার করা। এটি পোর্ট ভিত্তিক ফিল্টারিংয়ের সাথে একত্রিত করা হতে পারে।

যেসব হোস্টনেম খুলতে হবে:

  • mtalk.google.com
  • mtalk4.google.com
  • mtalk-staging.google.com
  • mtalk-dev.google.com
  • alt1-mtalk.google.com
  • alt2-mtalk.google.com
  • alt3-mtalk.google.com
  • alt4-mtalk.google.com
  • alt5-mtalk.google.com
  • alt6-mtalk.google.com
  • alt7-mtalk.google.com
  • alt8-mtalk.google.com
  • android.apis.google.com
  • device-provisioning.googleapis.com
  • firebaseinstallations.googleapis.com
সব ফায়ারওয়াল সফ্টওয়্যার এটি সাপোর্ট করে না, তবে অনেক সফ্টওয়্যার করে। এই তালিকাটি বেশ স্থিতিশীল, তবে এটি পরিবর্তন হলে আমরা আপনাকে আগাম বিজ্ঞপ্তি দেব না।
IP ভিত্তিক ফিল্টারিং (এটি না করার জন্য বিশেষভাবে সাজেস্ট করা হচ্ছে) IP অ্যাড্রেসের খুব বড় স্ট্যাটিক তালিকা ব্যবহার করুন। goog.json-এ তালিকাভুক্ত সব IP অ্যাড্রেসকে অনুমতি দিন। এই তালিকা নিয়মিত আপডেট করা হয় এবং আপনাকে প্রতি মাসে নিয়ম আপডেট করার সাজেশন দেওয়া হয়। ফায়ারওয়াল IP সংক্রান্ত বিধিনিষেধের কারণে হওয়া সমস্যা প্রায়শই মাঝে মাঝে হয় এবং তা শনাক্ত করা কঠিন। আমরা খুব ঘন ঘন এবং কোনও সতর্কতা ছাড়াই আমাদের IP অ্যাড্রেসের তালিকা পরিবর্তন করি, তাই আপনাকে এই বড় তালিকাটি লিখতে হবে এবং ঘন ঘন আপডেট করতে হবে।

এছাড়াও, লোকজন যখন তাদের ফায়ারওয়াল নিয়মে IP অনুমোদিত তালিকা লিখতে চেষ্টা করেন তখন আমরা ঘন ঘন টাইপো দেখতে পাই।

আমরা এটি সাজেস্ট করি না কারণ তথ্যটি সবসময় পুরনো হয়ে যায় এবং এটি রক্ষণাবেক্ষণ করা হয় না।

এছাড়াও, তালিকার সাইজ কিছু রাউটারের জন্য খুব বড় হতে পারে।

নেটওয়ার্ক অ্যাড্রেস ট্রান্সলেশন বা স্টেটফুল প্যাকেট ইন্সপেকশন ফায়ারওয়াল

আপনার নেটওয়ার্ক যদি নেটওয়ার্ক অ্যাড্রেস ট্রান্সলেশন (NAT) বা স্টেটফুল প্যাকেট ইন্সপেকশন (SPI) প্রয়োগ করে, তাহলে আমাদের কানেকশনের জন্য ৩০ মিনিট বা তার বেশি সময়ের টাইমআউট প্রয়োগ করুন যা পোর্ট ৫২২৮-৫২৩০-এর মাধ্যমে করা হয়। এর ফলে, ব্যবহারকারীর মোবাইল ডিভাইসের ব্যাটারি খরচ কমানোর পাশাপাশি আমরা নির্ভরযোগ্য কানেক্টিভিটি প্রদান করতে পারি।

FCM এবং প্রক্সি

ডিভাইসে পুশ মেসেজ ডেলিভার করার জন্য FCM-এর প্রোটোকল নেটওয়ার্ক প্রক্সির মাধ্যমে প্রক্সি করা যায় না। তাই আপনাকে নিশ্চিত করতে হবে যে আপনার নেটওয়ার্কে থাকা ডিভাইস থেকে FCM কানেকশন যেন সরাসরি আমাদের সার্ভারের সাথে কানেক্ট করতে পারে।

VPN ইন্টার‍্যাকশন ও বাইপাস করার সুবিধা

Firebase Cloud Messaging বিভিন্ন পদক্ষেপ গ্রহণ করে যাতে ফোন থেকে সার্ভারে পুশ মেসেজিং কানেকশন নির্ভরযোগ্য হয় এবং যতটা সম্ভব উপলভ্য থাকে। VPN ব্যবহার করলে এই প্রচেষ্টা আরও জটিল হয়ে যায়।

VPN সেইসব তথ্য লুকিয়ে রাখে যা FCM-এর প্রয়োজন হয় যাতে কানেকশন টিউন করে নির্ভরযোগ্যতা ও ব্যাটারির আয়ু বাড়ানো যায়। কিছু ক্ষেত্রে VPN সক্রিয়ভাবে দীর্ঘস্থায়ী কানেকশন ভেঙে দেয় যার ফলে মেসেজ মিস হওয়া বা দেরিতে মেসেজ আসা বা ব্যাটারির খরচ বেশি হওয়ার কারণে ব্যবহারকারীর অভিজ্ঞতা খারাপ হয়। আমাদের এটি করার অনুমতি দেওয়ার জন্য VPN কনফিগার করা থাকলে, আমরা একটি এনক্রিপ্ট করা কানেকশন (বেস নেটওয়ার্ক ওয়াই-ফাই বা LTE-এর মাধ্যমে) ব্যবহার করে VPN বাইপাস করি যাতে একটি নির্ভরযোগ্য, ব্যাটারি ফ্রেন্ডলি অভিজ্ঞতা নিশ্চিত করা যায়। FCM-এর বাইপাস করা যায় এমন VPN-এর ব্যবহার FCM পুশ বিজ্ঞপ্তি চ্যানেলের জন্য নির্দিষ্ট। অন্যান্য FCM ট্রাফিক, যেমন রেজিস্ট্রেশন ট্রাফিক, VPN অ্যাক্টিভ থাকলে তা ব্যবহার করে। FCM কানেকশন VPN বাইপাস করলে, VPN-এর মাধ্যমে পাওয়া অতিরিক্ত সুবিধা, যেমন IP মাস্কিং, পাওয়া যায় না।

বিভিন্ন VPN-এর ক্ষেত্রে বাইপাস করা যাবে কিনা তা নিয়ন্ত্রণ করার জন্য বিভিন্ন পদ্ধতি থাকবে। নির্দেশাবলীর জন্য আপনার নির্দিষ্ট VPN-এর ডকুমেন্টেশন দেখুন।

VPN যদি বাইপাস করার মতো করে কনফিগার করা না থাকে, তাহলে সার্ভারের সাথে কানেক্ট করার জন্য Firebase Cloud Messaging VPN নেটওয়ার্ক ব্যবহার করবে। এর ফলে, কিছু সময়ের জন্য মেসেজ আসতে দেরি হতে পারে এবং ব্যাটারি বেশি খরচ হতে পারে, কারণ Cloud Messaging VPN কানেকশনের মাধ্যমে কানেকশন বজায় রাখার চেষ্টা করে।