Google 致力于为黑人社区推动种族平等。查看具体举措

FCM বার্তা সম্পর্কে

ফায়ারবেস ক্লাউড মেসেজিং (এফসিএম) মেসেজিং বিকল্প এবং ক্ষমতাগুলির বিস্তৃত পরিসর প্রদান করে। এই পৃষ্ঠার তথ্যগুলি আপনাকে বিভিন্ন ধরণের FCM বার্তাগুলি বুঝতে এবং তাদের সাথে আপনি কী করতে পারেন তা বুঝতে সহায়তা করার উদ্দেশ্যে করা হয়েছে।

বার্তার ধরন

FCM এর মাধ্যমে, আপনি ক্লায়েন্টদের কাছে দুই ধরনের বার্তা পাঠাতে পারেন:

  • বিজ্ঞপ্তি বার্তা, কখনও কখনও "ডিসপ্লে বার্তা" হিসাবে চিন্তা করা হয়। এগুলি স্বয়ংক্রিয়ভাবে FCM SDK দ্বারা পরিচালিত হয়।
  • ডেটা বার্তা, যা ক্লায়েন্ট অ্যাপ দ্বারা পরিচালিত হয়।

বিজ্ঞপ্তি বার্তাগুলিতে ব্যবহারকারী-দৃশ্যমান কীগুলির একটি পূর্বনির্ধারিত সেট থাকে। এর বিপরীতে, ডেটা বার্তাগুলিতে শুধুমাত্র আপনার ব্যবহারকারী-সংজ্ঞায়িত কাস্টম কী-মান জোড়া থাকে। বিজ্ঞপ্তি বার্তাগুলিতে একটি alচ্ছিক ডেটা প্লেলোড থাকতে পারে। উভয় ধরনের বার্তার জন্য সর্বোচ্চ পেলোড হল 4000 বাইট, ফায়ারবেস কনসোল থেকে বার্তা পাঠানোর সময়, যা 1024 অক্ষরের সীমা প্রয়োগ করে।

দৃশ্যকল্প ব্যবহার করুন কীভাবে পাঠাবো
বিজ্ঞপ্তি বার্তা FCM স্বয়ংক্রিয়ভাবে ক্লায়েন্ট অ্যাপের পক্ষ থেকে শেষ ব্যবহারকারী ডিভাইসে বার্তা প্রদর্শন করে। বিজ্ঞপ্তি বার্তাগুলিতে ব্যবহারকারী-দৃশ্যমান কীগুলির একটি পূর্বনির্ধারিত সেট এবং কাস্টম কী-মান জোড়াগুলির একটি alচ্ছিক ডেটা প্লেলোড রয়েছে।
  1. যেমন একটি বিশ্বস্ত পরিবেশে ক্লাউড কার্যাবলী বা আপনার অ্যাপ্লিকেশন সার্ভার, ব্যবহার এডমিন SDK এর বা FCM সার্ভার প্রোটোকল সেট: notification কী। Optionচ্ছিক ডেটা পেলোড থাকতে পারে। সর্বদা ধ্বংশযোগ্য।

    কিছু দেখতে বিজ্ঞপ্তিগুলি দেখান উদাহরণ এবং সেন্ড অনুরোধ প্লেলোডগুলি।

  2. ব্যবহার করুন বিজ্ঞপ্তিগুলি সুরকার : বার্তা টেক্সট, শিরোনাম, ইত্যাদি লিখুন, এবং পাঠিয়ে দিন। কাস্টম ডেটা প্রদান করে optionচ্ছিক ডেটা পেলোড যোগ করুন।
ডেটা বার্তা ক্লায়েন্ট অ্যাপ ডেটা বার্তা প্রক্রিয়াকরণের জন্য দায়ী। ডেটা মেসেজে শুধুমাত্র কাস্টম কী-ভ্যালু জোড়া থাকে যার কোন সংরক্ষিত কী নাম নেই (নিচে দেখুন)। যেমন একটি বিশ্বস্ত পরিবেশে ক্লাউড কার্যাবলী বা আপনার অ্যাপ্লিকেশন সার্ভার, ব্যবহার এডমিন SDK এর বা FCM সার্ভার প্রোটোকল সেট: data শুধুমাত্র কী।

যখন আপনি আপনার ক্লায়েন্ট অ্যাপের তরফ থেকে একটি বিজ্ঞপ্তি প্রদর্শন করার জন্য FCM পরিচালনা করতে চান তখন বিজ্ঞপ্তি বার্তাগুলি ব্যবহার করুন। যখন আপনি আপনার ক্লায়েন্ট অ্যাপে বার্তাগুলি প্রক্রিয়া করতে চান তখন ডেটা বার্তা ব্যবহার করুন।

FCM একটি notificationচ্ছিক ডেটা পেলোড সহ একটি বিজ্ঞপ্তি বার্তা পাঠাতে পারে। এই ধরনের ক্ষেত্রে, FCM বিজ্ঞপ্তি প্লেলোড প্রদর্শন করে এবং ক্লায়েন্ট অ্যাপ ডেটা পেলোড পরিচালনা করে।

বিজ্ঞপ্তি বার্তা

পরীক্ষা বা বিপণনের এবং ব্যবহারকারী পুনরায় প্রবৃত্তি জন্য, আপনি পারেন Firebase কনসোল ব্যবহার বিজ্ঞপ্তি বার্তা পাঠান । Firebase কনসোল বিশ্লেষণ ভিত্তিক উপলব্ধ A / B পরীক্ষা এবং সাহায্যের আপনি পরিমার্জন করা বিপণন সংক্রান্ত বার্তা উন্নত।

এডমিন SDK এর বা FCM প্রোটোকল ব্যবহার প্রোগ্রামেটিক্যালি পাঠাতে বিজ্ঞপ্তি বার্তা করার জন্য, সেট notification প্রজ্ঞাপন বার্তা জন্য ব্যবহারকারীর কাছে দৃশ্যমান অংশ জন্য কী-মান অপশনের প্রয়োজনীয় পূর্বনির্ধারিত সেট দিয়ে কী। উদাহরণস্বরূপ, এখানে একটি IM অ্যাপে একটি JSON- ফরম্যাট করা বিজ্ঞপ্তি বার্তা রয়েছে। ব্যবহারকারী "পর্তুগাল বনাম ডেনমার্ক" শিরোনাম সহ একটি বার্তা এবং "দুর্দান্ত ম্যাচ!" ডিভাইসে:

{
  "message":{
    "token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
    "notification":{
      "title":"Portugal vs. Denmark",
      "body":"great match!"
    }
  }
}

যখন অ্যাপটি ব্যাকগ্রাউন্ডে থাকে তখন বিজ্ঞপ্তি বার্তাগুলি বিজ্ঞপ্তি ট্রেতে বিতরণ করা হয়। ফোরগ্রাউন্ডে থাকা অ্যাপ্লিকেশনের জন্য, বার্তাগুলি একটি কলব্যাক ফাংশন দ্বারা পরিচালিত হয়।

বিজ্ঞপ্তি বার্তা তৈরির জন্য উপলব্ধ পূর্বনির্ধারিত কীগুলির সম্পূর্ণ তালিকার জন্য রেফারেন্স ডকুমেন্টেশন দেখুন:

ডেটা বার্তা

ক্লায়েন্ট অ্যাপে ডেটা পেলোড পাঠানোর জন্য আপনার কাস্টম কী-মান জোড়া দিয়ে উপযুক্ত কী সেট করুন।

উদাহরণস্বরূপ, এখানে একই আইএম অ্যাপ্লিকেশানে একটি JSON- বিন্যস্ত বার্তা সর্বোপরি, যেখানে তথ্য কমন encapsulated হয় হিসাবে data কী এবং ক্লায়েন্ট অ্যাপ্লিকেশন বিষয়বস্তু ব্যাখ্যা করার জন্য বলে আশা করা হচ্ছে:

{
  "message":{
    "token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
    "data":{
      "Nick" : "Mario",
      "body" : "great match!",
      "Room" : "PortugalVSDenmark"
    }
  }
}

টপ লেভেল, অথবা সাধারণ এর উপরোক্ত উদাহরণে শো ব্যবহারের data ক্ষেত্র, যা সব প্ল্যাটফর্মের যে বার্তা উপর ক্লায়েন্টদের দ্বারা ব্যাখ্যা করা হয়। প্রতিটি প্ল্যাটফর্মে, ক্লায়েন্ট অ্যাপ কলব্যাক ফাংশনে ডেটা পেলোড গ্রহণ করে।

ডেটা বার্তার জন্য এনক্রিপশন

অ্যান্ড্রয়েড ট্রান্সপোর্ট লেয়ার (দেখুন FCM স্থাপত্য ) পয়েন্ট-টু-পয়েন্ট এনক্রিপশন ব্যবহার করে। আপনার প্রয়োজনের উপর নির্ভর করে, আপনি ডেটা বার্তাগুলিতে এন্ড-টু-এন্ড এনক্রিপশন যোগ করার সিদ্ধান্ত নিতে পারেন। FCM এন্ড-টু-এন্ড সমাধান প্রদান করে না। যাইহোক, যেমন বাহ্যিক সমাধান পাওয়া যায় কৈশিক বা DTLS

Dataচ্ছিক ডেটা পেলোড সহ বিজ্ঞপ্তি বার্তা

প্রোগ্রামগতভাবে বা ফায়ারবেস কনসোলের মাধ্যমে, আপনি বিজ্ঞপ্তি বার্তা পাঠাতে পারেন যাতে কাস্টম কী-মান জোড়াগুলির একটি payচ্ছিক পেলোড থাকে। ইন বিজ্ঞপ্তিগুলি সুরকার , উন্নত বিকল্প কাস্টম তথ্য ক্ষেত্র ব্যবহার করুন।

মেসেজ পাওয়ার সময় অ্যাপের আচরণ যা বিজ্ঞপ্তি এবং ডেটা প্লেলোড উভয়ই অন্তর্ভুক্ত করে অ্যাপটি ব্যাকগ্রাউন্ড বা ফোরগ্রাউন্ডে আছে কিনা তা নির্ভর করে - মূলত, প্রাপ্তির সময় এটি সক্রিয় কিনা।

  • যখন পটভূমিতে, অ্যাপ্স বিজ্ঞপ্তির ট্রেতে প্রজ্ঞাপন পে লোড গ্রহণ, এবং শুধুমাত্র ডেটা পেলোড হ্যান্ডেল তখন ব্যবহারকারী বিজ্ঞপ্তিতে যে taps।
  • যখন পুরোভূমিতে, আপনার অ্যাপ্লিকেশন উভয় প্লেলোডগুলি উপলব্ধ একটি বার্তা বস্তুর পায়।

এখানে একটি JSON- বিন্যস্ত উভয় ধারণকারী বার্তাটি notification কী এবং data কী:

{
  "message":{
    "token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
    "notification":{
      "title":"Portugal vs. Denmark",
      "body":"great match!"
    },
    "data" : {
      "Nick" : "Mario",
      "Room" : "PortugalVSDenmark"
    }
  }
}

প্ল্যাটফর্ম জুড়ে একটি বার্তা কাস্টমাইজ করা

Firebase এডমিন SDK এর এবং FCM v1 এ HTTP প্রোটোকলের উভয় আপনার বার্তা অনুরোধ সব ক্ষেত্র পাওয়া সেট করার অনুমতি message অবজেক্ট। এটা অন্তর্ভুক্ত:

  • ক্ষেত্র একটি সাধারণ সেট সব অ্যাপ্লিকেশান দৃষ্টান্ত যে বার্তা ব্যাখ্যা করতে হবে।
  • যেমন ক্ষেত্র, প্ল্যাটফর্ম-নির্দিষ্ট সেট AndroidConfig এবং WebpushConfig নির্দিষ্ট প্ল্যাটফর্মে চলমান অ্যাপ্লিকেশান দৃষ্টান্ত কেবল বুঝিয়ে দিলেন।

প্ল্যাটফর্ম-নির্দিষ্ট ব্লকগুলি আপনাকে বিভিন্ন প্ল্যাটফর্মের জন্য বার্তাগুলি কাস্টমাইজ করার জন্য নমনীয়তা দেয় যাতে নিশ্চিত হয় যে সেগুলি সঠিকভাবে পরিচালিত হয়। এফসিএম ব্যাকএন্ড সমস্ত নির্দিষ্ট প্যারামিটারগুলি বিবেচনায় নেবে এবং প্রতিটি প্ল্যাটফর্মের জন্য বার্তাটি কাস্টমাইজ করবে।

সাধারণ ক্ষেত্রগুলি কখন ব্যবহার করবেন

সাধারণ ক্ষেত্রগুলি ব্যবহার করুন যখন আপনি:

  • সব প্ল্যাটফর্মে অ্যাপ্লিকেশন দৃষ্টান্ত টার্গেটিং - প্রয়োজন iOS, অ্যান্ড্রয়েড, এবং ওয়েব
  • বিষয়গুলিতে বার্তা প্রেরণ

সমস্ত অ্যাপ্লিকেশন উদাহরণ, প্ল্যাটফর্ম নির্বিশেষে, নিম্নলিখিত সাধারণ ক্ষেত্রগুলি ব্যাখ্যা করতে পারে:

প্ল্যাটফর্ম-নির্দিষ্ট ক্ষেত্রগুলি কখন ব্যবহার করবেন

যখন আপনি চান তখন প্ল্যাটফর্ম-নির্দিষ্ট ক্ষেত্রগুলি ব্যবহার করুন:

  • শুধুমাত্র নির্দিষ্ট প্ল্যাটফর্মে ক্ষেত্র পাঠান
  • সাধারণ ক্ষেত্র ছাড়াও প্ল্যাটফর্ম-নির্দিষ্ট ক্ষেত্র পাঠান

যখনই আপনি শুধুমাত্র নির্দিষ্ট প্ল্যাটফর্মে মান পাঠাতে, সাধারণ ক্ষেত্র ব্যবহার করতে চাই না; প্ল্যাটফর্ম-নির্দিষ্ট ক্ষেত্রগুলি ব্যবহার করুন। উদাহরণস্বরূপ, শুধুমাত্র আইওএস এবং ওয়েবে একটি বিজ্ঞপ্তি পাঠাতে কিন্তু অ্যান্ড্রয়েডকে নয়, আপনাকে অবশ্যই দুটি পৃথক সেট ফিল্ড ব্যবহার করতে হবে, একটি আইওএসের জন্য এবং একটি ওয়েবের জন্য।

আপনি নির্দিষ্ট বার্তাগুলি প্রেরণ করছেন যখন প্রদান বিকল্প , ব্যবহার প্ল্যাটফর্ম-নির্দিষ্ট ক্ষেত্র তাদের সেট করতে। আপনি চাইলে প্রতি প্ল্যাটফর্মে বিভিন্ন মান নির্দিষ্ট করতে পারেন। যাইহোক, এমনকি যখন আপনি প্ল্যাটফর্ম জুড়ে অপরিহার্যভাবে একই মান সেট করতে চান, আপনাকে অবশ্যই প্ল্যাটফর্ম-নির্দিষ্ট ক্ষেত্রগুলি ব্যবহার করতে হবে। এই যখন iOS এ এটি একটি মেয়াদ শেষের তারিখ হিসাবে সেট করা হয়, কারণ প্রতিটি প্ল্যাটফর্ম মান সামান্য ভিন্নভাবে-উদাহরণস্বরূপ, সময় টু লাইভ Android এর উপর সেকেন্ডের মধ্যে একটি মেয়াদ শেষ হওয়ার সময় যেমন সেট করা হয় ব্যাখ্যা করা হতে পারে।

উদাহরণ: প্ল্যাটফর্ম-নির্দিষ্ট ডেলিভারি অপশন সহ বিজ্ঞপ্তি বার্তা

নিম্নলিখিত v1 পাঠানোর অনুরোধ সমস্ত প্ল্যাটফর্মে একটি সাধারণ বিজ্ঞপ্তি শিরোনাম এবং সামগ্রী পাঠায়, তবে কিছু প্ল্যাটফর্ম-নির্দিষ্ট ওভাররাইডও পাঠায়। বিশেষভাবে, অনুরোধ:

  • অ্যান্ড্রয়েড এবং ওয়েব প্ল্যাটফর্মের জন্য দীর্ঘ সময় ধরে লাইভ সেট করে, যখন APNs (iOS) বার্তাটিকে কম সেটিংয়ে অগ্রাধিকার দেয়
  • উপযুক্ত কি সেট করে Android এবং iOS বিজ্ঞপ্তিতে যে একটি ব্যবহারকারী আলতো চাপুন ফল নির্ধারণ করতে - click_action , এবং category যথাক্রমে।
{
  "message":{
     "token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
     "notification":{
       "title":"Match update",
       "body":"Arsenal goal in added time, score is now 3-0"
     },
     "android":{
       "ttl":"86400s",
       "notification"{
         "click_action":"OPEN_ACTIVITY_1"
       }
     },
     "apns": {
       "headers": {
         "apns-priority": "5",
       },
       "payload": {
         "aps": {
           "category": "NEW_MESSAGE_CATEGORY"
         }
       }
     },
     "webpush":{
       "headers":{
         "TTL":"86400"
       }
     }
   }
 }

দেখুন HTTP- র v1 এ রেফারেন্স ডকুমেন্টেশন বার্তার মূল অংশে কী প্ল্যাটফর্ম-নির্দিষ্ট ব্লক পাওয়া সম্পূর্ণ বিবরণের জন্য। পাঠান অনুরোধ বার্তার মূল থাকে, দেখতে বিল্ডিং সম্পর্কে আরও তথ্যের জন্য বিল্ড পাঠান অনুরোধ

সরবরাহের সুযোগ

এফসিএম অ্যান্ড্রয়েড ডিভাইসে পাঠানো বার্তাগুলির জন্য একটি নির্দিষ্ট বিতরণ বিকল্প সরবরাহ করে এবং আইওএস এবং ওয়েবে অনুরূপ বিকল্পের অনুমতি দেয়। উদাহরণস্বরূপ, "কলাপসিবল" বার্তা আচরণ Android এর উপর FCM এর মাধ্যমে সমর্থিত collapse_key মাধ্যমে iOS এ apns-collapse-id মাধ্যমে জাভাস্ক্রিপ্ট / ওয়েবে, এবং Topic । বিস্তারিত জানার জন্য, এই বিভাগে বর্ণনা এবং সংশ্লিষ্ট রেফারেন্স ডকুমেন্টেশন দেখুন।

অ-সংক্ষিপ্ত এবং পতনযোগ্য বার্তা

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

অ-সংক্ষিপ্ত বার্তাগুলির কিছু সাধারণ ব্যবহারের ক্ষেত্রে চ্যাট বার্তা বা সমালোচনামূলক বার্তা। উদাহরণস্বরূপ, একটি আইএম অ্যাপে, আপনি প্রতিটি বার্তা দিতে চান, কারণ প্রতিটি বার্তার আলাদা আলাদা বিষয়বস্তু রয়েছে।

অ্যান্ড্রয়েডের জন্য 100 টি বার্তার সীমা রয়েছে যা ভেঙে ফেলা ছাড়াই সংরক্ষণ করা যায়। যদি সীমা পৌঁছে যায়, সমস্ত সংরক্ষিত বার্তা বাতিল করা হয়। যখন ডিভাইসটি অনলাইনে ফিরে আসে, এটি একটি বিশেষ বার্তা পায় যা নির্দেশ করে যে সীমাটি পৌঁছেছে। অ্যাপটি তখন পরিস্থিতি সঠিকভাবে পরিচালনা করতে পারে, সাধারণত অ্যাপ সার্ভার থেকে সম্পূর্ণ সিঙ্কের অনুরোধ করে।

একটি কলাপসিবল বার্তা একটি বার্তা একটি নতুন বার্তা দ্বারা প্রতিস্থাপিত হতে পারে এটা এখনো ডিভাইসে সরবরাহ করা হয়েছে।

সংক্ষিপ্ত বার্তাগুলির একটি সাধারণ ব্যবহারের ক্ষেত্রে সার্ভার থেকে ডেটা সিঙ্ক করার জন্য একটি মোবাইল অ্যাপকে বলা বার্তাগুলি ব্যবহার করা হয়। একটি উদাহরণ হবে একটি স্পোর্টস অ্যাপ যা ব্যবহারকারীদের সর্বশেষ স্কোরের সাথে আপডেট করে। শুধুমাত্র সাম্প্রতিক বার্তাটি প্রাসঙ্গিক।

Android এর উপর কলাপসিবল যেমন একটি বার্তা চিহ্নিত করার জন্য, অন্তর্ভুক্ত collapse_key বার্তা পে লোড মধ্যে প্যারামিটার। ডিফল্টরূপে, পতন কী হল ফায়ারবেস কনসোলে নিবন্ধিত অ্যাপ প্যাকেজের নাম। FCM সার্ভার একই সাথে প্রতি ডিভাইসে চারটি ভিন্ন সংকোচনযোগ্য বার্তা সংরক্ষণ করতে পারে, প্রত্যেকটি একটি ভিন্ন পতন কী সহ। যদি আপনি এই সংখ্যাটি অতিক্রম করেন, তাহলে FCM শুধুমাত্র চারটি পতন কী রাখে, কোনটি সম্পর্কে কোন গ্যারান্টি নেই।

কোন ভারবহন ছাড়াই টপিক বার্তাগুলি ডিফল্টরূপে সংক্ষিপ্ত হয়।

আমার কোনটি ব্যবহার করা উচিত?

পারফরম্যান্সের দৃষ্টিকোণ থেকে সংক্ষিপ্ত বার্তাগুলি একটি ভাল পছন্দ, যদি আপনার অ্যাপকে অ-সংক্ষিপ্ত বার্তাগুলি ব্যবহার করার প্রয়োজন না হয়। যাইহোক, যদি আপনি সংক্ষিপ্ত বার্তা ব্যবহার করেন, মনে রাখবেন যে FCM শুধুমাত্র সর্বোচ্চ চারটি ভিন্ন সংকোচন কীগুলি FCM দ্বারা প্রতি রেজিস্ট্রেশন টোকেন দ্বারা যে কোন সময়ে ব্যবহার করার অনুমতি দেয়। আপনি অবশ্যই এই সংখ্যা অতিক্রম করবেন না, অথবা এটি অনির্দেশ্য পরিণতির কারণ হতে পারে।

দৃশ্যকল্প ব্যবহার করুন কীভাবে পাঠাবো
অ-পতনযোগ্য প্রতিটি বার্তা ক্লায়েন্ট অ্যাপের জন্য গুরুত্বপূর্ণ এবং বিতরণ করা প্রয়োজন। বিজ্ঞপ্তি বার্তা ব্যতীত, সমস্ত বার্তা ডিফল্টরূপে অ-পতনযোগ্য।
সংক্ষিপ্ত যখন একটি নতুন বার্তা থাকে যা ক্লায়েন্ট অ্যাপের সাথে একটি পুরানো, সম্পর্কিত বার্তা অপ্রাসঙ্গিক করে, তখন FCM পুরানো বার্তাটি প্রতিস্থাপন করে। উদাহরণস্বরূপ: সার্ভার থেকে ডেটা সিঙ্ক শুরু করতে ব্যবহৃত বার্তা, অথবা পুরনো বিজ্ঞপ্তি বার্তা। আপনার বার্তার অনুরোধে উপযুক্ত প্যারামিটার সেট করুন:
  • collapseKey Android এর উপর
  • apns-collapse-id iOS এ
  • Topic ওয়েবে
  • collapse_key উত্তরাধিকার প্রোটোকল মধ্যে (সমস্ত প্ল্যাটফর্মের)

একটি বার্তার অগ্রাধিকার নির্ধারণ

অ্যান্ড্রয়েডে ডাউনস্ট্রিম মেসেজের জন্য ডেলিভারি অগ্রাধিকার দেওয়ার জন্য আপনার দুটি বিকল্প আছে: স্বাভাবিক এবং উচ্চ অগ্রাধিকার। স্বাভাবিক এবং উচ্চ অগ্রাধিকার বার্তা বিতরণ এই মত কাজ করে:

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

    যখন যে আপনার অ্যাপের জন্য একটি ব্যাকগ্রাউন্ড ডেটা সিঙ্ক অনুরোধ Android এর উপর একটি স্বাভাবিক অগ্রাধিকার বার্তাটি পাচ্ছেন, আপনার সাথে একটি টাস্ক নির্ধারিত করতে পারেন WorkManager যখন নেটওয়ার্ক উপলব্ধ এটি পরিচালনা করা হয়।

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

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

FCM HTTP v1 প্রোটোকলের মাধ্যমে পাঠানো একটি সাধারণ অগ্রাধিকার বার্তার একটি উদাহরণ এখানে একটি ম্যাগাজিন গ্রাহককে জানানো হয় যে নতুন সামগ্রী ডাউনলোড করার জন্য উপলব্ধ:

{
  "message":{
    "topic":"subscriber-updates",
    "notification":{
      "body" : "This week's edition is now available.",
      "title" : "NewsMagazine.com",
    },
    "data" : {
      "volume" : "3.21.15",
      "contents" : "http://www.news-magazine.com/world-week/21659772"
    },
    "android":{
      "priority":"normal"
    },
    "apns":{
      "headers":{
        "apns-priority":"5"
      }
    },
    "webpush": {
      "headers": {
        "Urgency": "high"
      }
    }
  }
}

বার্তা অগ্রাধিকার নির্ধারণের জন্য আরও প্ল্যাটফর্ম-নির্দিষ্ট বিশদের জন্য:

একটি বার্তার জীবনকাল নির্ধারণ করা

FCM সাধারণত পাঠানোর পরপরই মেসেজ ডেলিভারি করে। যাইহোক, এটি সবসময় সম্ভব নাও হতে পারে। উদাহরণস্বরূপ, যদি প্ল্যাটফর্মটি অ্যান্ড্রয়েড হয় তবে ডিভাইসটি বন্ধ, অফলাইন বা অন্যথায় অনুপলব্ধ হতে পারে। অথবা FCM ইচ্ছাকৃতভাবে বার্তা বিলম্বিত করতে পারে যাতে কোনো অ্যাপকে অতিরিক্ত সম্পদ ব্যবহার করা থেকে বিরত রাখা যায় এবং ব্যাটারির আয়ু নেতিবাচকভাবে প্রভাবিত হয়।

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

অ্যান্ড্রয়েড এবং ওয়েব/জাভাস্ক্রিপ্টে, আপনি একটি বার্তার সর্বোচ্চ জীবনকাল নির্দিষ্ট করতে পারেন। মানটি অবশ্যই 0 থেকে 2,419,200 সেকেন্ড (28 দিন) পর্যন্ত সময়কাল হতে হবে এবং এটি সর্বোচ্চ সময়ের সাথে মিলে যাবে যার জন্য FCM সঞ্চয় করে এবং বার্তা দেওয়ার চেষ্টা করে। যে অনুরোধগুলিতে এই ক্ষেত্রটি নেই সেটিকে সর্বোচ্চ চার সপ্তাহের জন্য ডিফল্ট করা হয়েছে।

এই বৈশিষ্ট্যটির জন্য এখানে কিছু সম্ভাব্য ব্যবহার রয়েছে:

  • ভিডিও চ্যাট ইনকামিং কল
  • আমন্ত্রণের ইভেন্টের মেয়াদ শেষ হচ্ছে
  • ক্যালেন্ডার ইভেন্ট

একটি বার্তার জীবদ্দশায় নির্দিষ্ট করার আরেকটি সুবিধা হল যে FCM কখনো 0 সেকেন্ডের টাইম-টু-লাইভ মান সহ বার্তাগুলিকে থ্রোটল করে না। অন্য কথায়, FCM বার্তাগুলির জন্য সর্বোত্তম প্রচেষ্টার গ্যারান্টি দেয় যা অবশ্যই "এখন বা কখনই" প্রদান করা উচিত নয়। মনে রাখবেন যে একটি time_to_live যে অবিলম্বে প্রদান করা যায় 0 মানে বার্তা মান বাতিল করা হয়। যাইহোক, যেহেতু এই ধরনের বার্তাগুলি কখনও সংরক্ষণ করা হয় না, এটি বিজ্ঞপ্তি বার্তা পাঠানোর জন্য সর্বোত্তম বিলম্ব প্রদান করে।

এখানে টিটিএল অন্তর্ভুক্ত একটি অনুরোধের একটি উদাহরণ:

{
  "message":{
    "token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
    "data":{
      "Nick" : "Mario",
      "body" : "great match!",
      "Room" : "PortugalVSDenmark"
    },
    "apns":{
      "headers":{
        "apns-expiration":"1604750400"
      }
    },
    "android":{
      "ttl":"4500s"
    },
    "webpush":{
      "headers":{
        "TTL":"4500"
      }
    }
  }
}

একাধিক প্রেরকের কাছ থেকে বার্তা গ্রহণ

FCM একাধিক পক্ষকে একই ক্লায়েন্ট অ্যাপে বার্তা পাঠানোর অনুমতি দেয়। উদাহরণস্বরূপ, ধরুন ক্লায়েন্ট অ্যাপটি একাধিক অবদানকারীর সাথে একটি আর্টিকেল অ্যাগ্রিগেটর এবং তাদের প্রত্যেকেরই একটি নতুন নিবন্ধ প্রকাশ করার সময় একটি বার্তা পাঠাতে সক্ষম হওয়া উচিত। এই বার্তায় একটি URL থাকতে পারে যাতে ক্লায়েন্ট অ্যাপ নিবন্ধটি ডাউনলোড করতে পারে। সমস্ত পাঠানো কার্যকলাপকে এক জায়গায় কেন্দ্রীভূত করার পরিবর্তে, FCM আপনাকে এই অবদানকারীদের প্রত্যেককে তার নিজস্ব বার্তা পাঠানোর অনুমতি দেয়।

এই বৈশিষ্ট্যটি সক্ষম করতে, নিশ্চিত করুন যে আপনি প্রতিটি প্রেরকের আছে কি না নিশ্চিত প্রেরক আইডি । নিবন্ধনের অনুরোধ করার সময়, ক্লায়েন্ট অ্যাপটি একাধিকবার টোকেন নিয়ে আসে, প্রতিবার দর্শক ক্ষেত্রের একটি ভিন্ন প্রেরক আইডি দিয়ে, প্রদত্ত প্ল্যাটফর্মের জন্য টোকেন পুনরুদ্ধার পদ্ধতি ব্যবহার করে:

নিশ্চিত করুন যে আপনি একটি একক টোকেন অনুরোধ একাধিক প্রেরক ID- র জুড়বেন না, এই অনিশ্চিত ফলাফল থাকতে পারে তা নিশ্চিত করুন। প্রতিটি প্রেরক আইডিতে একবার আলাদা করে কল করুন।

অবশেষে, সংশ্লিষ্ট প্রেরকদের সাথে নিবন্ধন টোকেন শেয়ার করুন, এবং তারা ক্লায়েন্ট অ্যাপে তাদের নিজস্ব প্রমাণীকরণ কী ব্যবহার করে বার্তা পাঠাতে সক্ষম হবে।

মনে রাখবেন যে 100 টি একাধিক প্রেরকের সীমা রয়েছে।

একটি বার্তার আজীবন

যখন একটি অ্যাপ সার্ভার FCM- এ একটি বার্তা পোস্ট করে এবং একটি বার্তা ID ফিরে পায়, তার মানে এই নয় যে বার্তাটি ইতিমধ্যেই ডিভাইসে পৌঁছে দেওয়া হয়েছে। বরং, এর মানে হল যে এটি প্রসবের জন্য গৃহীত হয়েছিল। বার্তাটি গ্রহণ করার পরে তার কী হবে তা অনেক কারণের উপর নির্ভর করে।

সর্বোত্তম ক্ষেত্রে, যদি ডিভাইসটি FCM- এর সাথে সংযুক্ত থাকে, স্ক্রিনটি চালু থাকে এবং কোন প্রকার বিধিনিষেধ না থাকে, তখনই বার্তাটি পৌঁছে দেওয়া হয়।

যদি ডিভাইসটি সংযুক্ত থাকে কিন্তু ডোজে থাকে, ডিভাইসটি ডোজের বাইরে না হওয়া পর্যন্ত একটি কম অগ্রাধিকার বার্তা FCM দ্বারা সংরক্ষণ করা হয়। এবং যে কোথায় collapse_key পতাকা একটি ভূমিকা পালন করে: যদি ইতিমধ্যেই একই পতন কী (এবং রেজিস্ট্রেশন টোকেন) সংরক্ষিত হয় এবং প্রসবের জন্য অপেক্ষা সঙ্গে একটি বার্তা, পুরাতন বার্তাটি বাতিল করা হয়েছে নতুন বার্তা যথাস্থানে (যেমন, পুরাতন লাগে বার্তাটি নতুন দ্বারা ধসে পড়ে)। যাইহোক, যদি পতন কী সেট না করা হয়, নতুন এবং পুরানো উভয় বার্তা ভবিষ্যতে বিতরণের জন্য সংরক্ষণ করা হয়।

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

একটি বার্তা বিতরণ সম্পর্কে আরও অন্তর্দৃষ্টি পেতে:

    Android বা iOS বার্তা বিতরণ মধ্যে আরো অন্তর্দৃষ্টি পেতে, দেখতে FCM প্রতিবেদন ড্যাশবোর্ড , যা বার্তার সংখ্যা Android এর জন্য "ইমপ্রেশন" (বিজ্ঞপ্তিগুলি ব্যবহারকারীরা দেখেছেন) জন্য পাঠানো এবং iOS এবং অ্যান্ড্রয়েড ডিভাইসের খোলা, ডাটা সহ রেকর্ড অ্যাপস

সরাসরি চ্যানেল মেসেজিং সক্ষম অ্যান্ড্রয়েড ডিভাইসের জন্য, যদি ডিভাইসটি এক মাসের বেশি সময় ধরে FCM- এর সাথে সংযুক্ত না থাকে, তাহলে FCM বার্তাটি গ্রহণ করে কিন্তু তাৎক্ষণিকভাবে তা বাতিল করে দেয়। ডিভাইস আপনি এটা পাঠানো গত ডেটা বার্তার চার সপ্তাহের মধ্যে সংযোগ স্থাপন করে, তাহলে আপনার ক্লায়েন্ট পায় onDeletedMessages () কলব্যাক। অ্যাপটি তখন পরিস্থিতি সঠিকভাবে পরিচালনা করতে পারে, সাধারণত অ্যাপ সার্ভার থেকে সম্পূর্ণ সিঙ্কের অনুরোধ করে।

অবশেষে, যখন FCM ডিভাইসে একটি বার্তা পৌঁছে দেওয়ার চেষ্টা করে এবং অ্যাপটি আনইনস্টল করা হয়, FCM সেই বার্তাটি অবিলম্বে বাতিল করে দেয় এবং নিবন্ধন টোকেন বাতিল করে দেয়। ভবিষ্যত প্রচেষ্টা একটি ডিভাইসে ফলাফলে একটি বার্তা পাঠাতে NotRegistered ত্রুটি।

থ্রোটলিং এবং স্কেলিং

আমাদের লক্ষ্য সবসময় FCM এর মাধ্যমে পাঠানো প্রতিটি বার্তা প্রদান করা। যাইহোক, প্রতিটি বার্তা বিতরণ কখনও কখনও একটি দুর্বল সামগ্রিক ব্যবহারকারী অভিজ্ঞতা ফলাফল। অন্যান্য ক্ষেত্রে, আমাদের সীমানা প্রদান করতে হবে যাতে নিশ্চিত করা যায় যে FCM সমস্ত প্রেরকদের জন্য একটি স্কেলেবল পরিষেবা প্রদান করে।

সংক্ষিপ্ত বার্তা থ্রোটলিং

উপরে বর্ণিত হিসাবে, সংকোচনযোগ্য বার্তাগুলি বিষয়বস্তু মুক্ত বিজ্ঞপ্তি যা একে অপরের উপরে পতনের জন্য ডিজাইন করা হয়েছে। যদি কোন ডেভেলপার একটি অ্যাপে বার বার একই বার্তা পুনরাবৃত্তি করে থাকেন, আমরা ব্যবহারকারীর ব্যাটারির উপর প্রভাব কমাতে বার্তা (থ্রোটল) বিলম্ব করি।

উদাহরণস্বরূপ, যদি আপনি একটি একক ডিভাইসে বিপুল সংখ্যক নতুন ইমেল সিঙ্ক অনুরোধ পাঠান, আমরা পরবর্তী ইমেল সিঙ্ক অনুরোধটি কয়েক মিনিট বিলম্ব করতে পারি যাতে ডিভাইসটি কম গড় হারে সিঙ্ক করতে পারে। ব্যাটারির প্রভাবকে ব্যবহারকারীর দ্বারা প্রভাবিত করার জন্য এই থ্রোটলিং কঠোরভাবে করা হয়।

যদি আপনার ব্যবহারের ক্ষেত্রে উচ্চ বিস্ফোরণ প্রেরণ প্যাটার্ন প্রয়োজন হয়, তাহলে অ-সংক্ষিপ্ত বার্তাগুলি সঠিক পছন্দ হতে পারে। এই ধরনের বার্তার জন্য, ব্যাটারির খরচ কমানোর জন্য এই ধরনের বার্তাগুলিতে বিষয়বস্তু অন্তর্ভুক্ত করতে ভুলবেন না।

আমরা প্রতি ডিভাইসে প্রতি অ্যাপে 20 টি বার্তার বিস্ফোরণে সীমাবদ্ধ বার্তাগুলিকে সীমাবদ্ধ করি, প্রতি 3 মিনিটে 1 টি বার্তা রিফিল করে।

XMPP সার্ভার থ্রোটলিং

আমরা FCM XMPP সার্ভারগুলির সাথে প্রতি মিনিটে 400 সংযোগ প্রতি মিনিটে সীমাবদ্ধ করতে পারি। মেসেজ ডেলিভারির ক্ষেত্রে এটি একটি সমস্যা হওয়া উচিত নয়, কিন্তু আমাদের সিস্টেমের স্থিতিশীলতা নিশ্চিত করার জন্য এটি গুরুত্বপূর্ণ।

প্রতিটি প্রকল্পের জন্য, FCM সমান্তরালে 2500 সংযোগের অনুমতি দেয়।

একটি একক ডিভাইসে সর্বোচ্চ বার্তার হার

আপনি একক ডিভাইসে 240 বার্তা/মিনিট এবং 5,000 বার্তা/ঘন্টা পাঠাতে পারেন। এই উচ্চ থ্রেশহোল্ডটি ট্রাফিকের স্বল্পমেয়াদী বিস্ফোরণের অনুমতি দেওয়ার জন্য বোঝানো হয়েছে, যেমন যখন ব্যবহারকারীরা চ্যাটের মাধ্যমে দ্রুত যোগাযোগ করছে। এই সীমাটি অনিচ্ছাকৃতভাবে একটি ডিভাইসে ব্যাটারি নিষ্কাশন থেকে যুক্তি পাঠাতে ত্রুটিগুলি রোধ করে।

আপস্ট্রিম বার্তার সীমা

আমরা সীমিত মূল প্রজেক্টের বার্তা প্রকল্পের মূল প্রজেক্টের গন্তব্য সার্ভার ওভারলোডিং এড়াতে প্রতি 1,500,000 / মিনিট এ।

ব্যাটারি নষ্ট হওয়া থেকে খারাপ অ্যাপ আচরণ থেকে রক্ষা করার জন্য আমরা প্রতি ডিভাইসে আপস্ট্রিম মেসেজ 1,000/মিনিটে সীমাবদ্ধ করি।

বিষয় বার্তার সীমা

টপিক সাবস্ক্রিপশন অ্যাড/রিমুভ রেট প্রতি প্রকল্পে 3,000 কিউপিএস সীমাবদ্ধ।

বার্তা পাঠানোর হার জন্য, দেখুন Fanout অপ্টিমাইজেশান থ্রোটলিং

ফ্যানআউট থ্রোটলিং

বার্তা Fanout যেমন যখন আপনি বিষয় এবং গ্রুপ লক্ষ্য, অথবা একাধিক ডিভাইস, একটি বার্তা পাঠানোর প্রক্রিয়া আপনি ব্যবহার যখন বিজ্ঞপ্তিগুলি সুরকার লক্ষ্য শ্রোতাদের অথবা ব্যবহারকারীর বিভাগগুলির।

মেসেজ ফ্যানআউট তাত্ক্ষণিক নয় এবং তাই মাঝে মাঝে আপনার একাধিক ফ্যানআউট একসাথে চলছে। আমরা প্রতি প্রকল্পে একযোগে বার্তা ফ্যানআউটের সংখ্যা 1,000 এর মধ্যে সীমাবদ্ধ করি। এর পরে, আমরা অতিরিক্ত ফ্যানআউট অনুরোধ প্রত্যাখ্যান করতে পারি অথবা ইতিমধ্যে চলমান কিছু ফ্যানআউট সম্পূর্ণ না হওয়া পর্যন্ত অনুরোধের ফ্যানআউট স্থগিত করতে পারি।

প্রকৃত অর্জনযোগ্য ফ্যানআউট হার একই সময়ে ফ্যানআউটের জন্য অনুরোধ করা প্রকল্পগুলির সংখ্যা দ্বারা প্রভাবিত হয়। একটি পৃথক প্রকল্পের জন্য 10,000 কিউপিএসের ফ্যানআউট হার অস্বাভাবিক নয়, তবে সেই সংখ্যাটি গ্যারান্টি নয় এবং এটি সিস্টেমের মোট লোডের ফলাফল। এটি লক্ষ্য করা গুরুত্বপূর্ণ যে উপলব্ধ ফ্যানআউট ক্ষমতা প্রকল্পগুলির মধ্যে ভাগ করা হয়েছে এবং ফ্যানআউট অনুরোধের মধ্যে নয়। সুতরাং, যদি আপনার প্রকল্পের দুটি ফ্যানআউট অগ্রগতিতে থাকে, তাহলে প্রতিটি ফ্যানআউট উপলব্ধ ফ্যানআউট হারের মাত্র অর্ধেক দেখতে পাবে। আপনার ফ্যানআউটের গতি বাড়ানোর জন্য প্রস্তাবিত উপায় হল একটি সময়ে শুধুমাত্র একটি সক্রিয় ফ্যানআউট প্রগতিতে থাকা।

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

যদি আপনার সংস্থার ইন্টারনেটে বা তার থেকে ট্রাফিক সীমাবদ্ধ করার জন্য একটি ফায়ারওয়াল থাকে, তাহলে আপনার নেটওয়ার্কের ডিভাইসগুলিকে বার্তা গ্রহণের জন্য মোবাইল ডিভাইসগুলিকে FCM- এর সাথে সংযোগ করার অনুমতি দিতে আপনাকে এটি কনফিগার করতে হবে। FCM সাধারণত 5228 পোর্ট ব্যবহার করে, কিন্তু এটি কখনও কখনও 443, 5229 এবং 5230 ব্যবহার করে।

আপনার নেটওয়ার্কে সংযুক্ত ডিভাইসগুলির জন্য, FCM নির্দিষ্ট আইপি প্রদান করে না কারণ আমাদের আইপি পরিসীমা খুব ঘন ঘন পরিবর্তিত হয় এবং আপনার ফায়ারওয়ালের নিয়মগুলি পুরনো হয়ে যেতে পারে, যা আপনার ব্যবহারকারীদের অভিজ্ঞতাকে প্রভাবিত করে। আদর্শভাবে, অনুমতি তালিকা পোর্ট 5228-5230 এবং 443 কোন আইপি সীমাবদ্ধতা ছাড়া। যাইহোক, যদি আপনি একটি IP সীমাবদ্ধতা থাকতে হবে, আপনি তালিকাভুক্ত আইপি ঠিকানা সমস্ত allowlist উচিত goog.json । এই বড় তালিকাটি নিয়মিত আপডেট করা হয় এবং আপনাকে মাসিক ভিত্তিতে আপনার নিয়মগুলি আপডেট করার পরামর্শ দেওয়া হয়। ফায়ারওয়াল আইপি বিধিনিষেধের কারণে সমস্যাগুলি প্রায়ই অন্তর্বর্তী এবং নির্ণয় করা কঠিন।

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

খুলতে বন্দর:

  • 5228
  • 5229
  • 5230
  • 443

খোলার জন্য হোস্টনাম:

  • 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.clients.google.com
  • device-provisioning.googleapis.com

নেটওয়ার্ক ঠিকানা অনুবাদ এবং/অথবা রাষ্ট্রীয় প্যাকেট পরিদর্শন ফায়ারওয়াল:

যদি আপনার নেটওয়ার্ক নেটওয়ার্ক অ্যাড্রেস ট্রান্সলেশন (NAT) বা স্টেটফুল প্যাকেট ইন্সপেকশন (SPI) প্রয়োগ করে, তাহলে 5228-5230 পোর্টে আমাদের সংযোগের জন্য 30 মিনিট বা তার বেশি সময়সীমা বাস্তবায়ন করুন। এটি আমাদের ব্যবহারকারীদের মোবাইল ডিভাইসের ব্যাটারি খরচ কমানোর সময় নির্ভরযোগ্য সংযোগ প্রদান করতে সক্ষম করে।

শংসাপত্র

আপনি কোন এফসিএম বৈশিষ্ট্যগুলি প্রয়োগ করেন তার উপর নির্ভর করে আপনার ফায়ারবেস প্রকল্প থেকে নিম্নলিখিত শংসাপত্রগুলির প্রয়োজন হতে পারে:

প্রকল্প আইডি আপনার Firebase প্রকল্পের জন্য একটি অনন্য শনাক্তকারী, FCM v1 HTTP এন্ডপয়েন্টের অনুরোধে ব্যবহৃত। এই মান পাওয়া যায় Firebase কনসোল সেটিংসে ফলকে।
নিবন্ধন টোকেন

একটি অনন্য টোকেন স্ট্রিং যা প্রতিটি ক্লায়েন্ট অ্যাপের উদাহরণ চিহ্নিত করে। একক ডিভাইস এবং ডিভাইস গ্রুপ মেসেজিং এর জন্য রেজিস্ট্রেশন টোকেন প্রয়োজন। উল্লেখ্য, নিবন্ধন টোকেন অবশ্যই গোপন রাখতে হবে।

প্রেরকের আইডি একটি অনন্য সংখ্যাগত মান নির্মিত আপনি আপনার Firebase প্রকল্প, পাওয়া তৈরি ক্লাউড মেসেজিং Firebase কনসোল সেটিংসে পেইনের ট্যাব। ক্লায়েন্ট অ্যাপে বার্তা পাঠাতে পারে এমন প্রতিটি প্রেরককে চিহ্নিত করতে প্রেরক আইডি ব্যবহার করা হয়।
অ্যাক্সেস টোকেন একটি স্বল্পস্থায়ী OAuth 2.0 টোকেন যা HTTP v1 API- এ অনুরোধ অনুমোদন করে। এই টোকেনটি আপনার ফায়ারবেস প্রকল্পের অন্তর্গত একটি পরিষেবা অ্যাকাউন্টের সাথে যুক্ত। টোকেন তৈরি এবং ঘোরান অ্যাক্সেস করতে, ধাপ এ উল্লিখিত নির্দেশাবলী অনুসরণ করার অনুমোদন পাঠান অনুরোধ
সার্ভার কী (লিগ্যাসি প্রোটোকলের জন্য)

একটি সার্ভার কী যা ফায়ারবেস ক্লাউড মেসেজিং লিগ্যাসি প্রোটোকলের মাধ্যমে বার্তা পাঠানো সহ Google পরিষেবাগুলিতে অ্যাক্সেসের জন্য আপনার অ্যাপ সার্ভারকে অনুমোদিত করে। আপনি যখন আপনার ফায়ারবেস প্রকল্প তৈরি করেন তখন আপনি সার্ভার কীটি পান। আপনি এটি দেখতে পারেন ক্লাউড মেসেজিং Firebase কনসোল সেটিংসে পেইনের ট্যাব।

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