Check out what’s new from Firebase@ Google I/O 2021, and join our alpha program for early access to the new Remote Config personalization feature. Learn more

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

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

বার্তা প্রকার

এফসিএম দিয়ে, আপনি ক্লায়েন্টদের দুটি ধরণের বার্তা পাঠাতে পারেন:

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

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

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

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

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

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

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

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

পরীক্ষার জন্য বা বিপণন এবং ব্যবহারকারীর পুনরায় বাগদানের জন্য, আপনি ফায়ারবেস কনসোল ব্যবহার করে বিজ্ঞপ্তি বার্তা প্রেরণ করতে পারেন। ফায়ারবেস কনসোল আপনাকে বিপণন বার্তাগুলি পরিমার্জন এবং উন্নত করতে সহায়তা করতে বিশ্লেষণ-ভিত্তিক এ / বি পরীক্ষা সরবরাহ করে।

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

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

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

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

ডেটা বার্তা

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

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

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

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

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

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

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

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

অ্যাপ্লিকেশনটি ব্যাকগ্রাউন্ডে বা অগ্রভাগে রয়েছে কিনা তা মূলত প্রাপ্তির সময় সক্রিয় রয়েছে কিনা তা নির্ভর করে notification

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

এখানে একটি জেএসওএন-ফর্ম্যাট করা বার্তা রয়েছে যা notification কী এবং data কী উভয়ই রয়েছে:

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

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

ফায়ারবেস অ্যাডমিন এসডিকে এবং এফসিএম ভি 1 এইচটিটিপি প্রোটোকল উভয়ই আপনার বার্তার অনুরোধটিকে message অবজেক্টে উপলব্ধ সমস্ত ক্ষেত্র সেট করার অনুমতি দেয়। এটা অন্তর্ভুক্ত:

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

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

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

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

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

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

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

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

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

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

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

উদাহরণ: প্ল্যাটফর্ম-নির্দিষ্ট বিতরণ বিকল্পগুলির সাথে বিজ্ঞপ্তি বার্তা

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

  • কম সেটিং এ এপিএন (আইওএস) বার্তা অগ্রাধিকার সেট করার সময় অ্যান্ড্রয়েড এবং ওয়েব প্ল্যাটফর্মগুলির জন্য একটি দীর্ঘ সময়ের থেকে লাইভ সেট করে
  • ব্যবহারকারী এবং অ্যান্ড্রয়েড এবং আইওএসের বিজ্ঞপ্তিতে ট্যাপের ফলাফল নির্ধারণের জন্য যথাযথ কীগুলি নির্ধারণ করে - যথাক্রমে 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 ভি 1 রেফারেন্স ডকুমেন্টেশন দেখুন। বার্তা প্রেরিত অনুরোধগুলি বিল্ডিং সম্পর্কে আরও তথ্যের জন্য, অনুরোধগুলি প্রেরণ করুন দেখুন।

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

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

নন-সংযোগযোগ্য এবং সংযোগযোগ্য বার্তা

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

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

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

একটি সঙ্কুচিত মেসেজ এমন একটি বার্তা যা এটি কোনও নতুন বার্তা দ্বারা প্রতিস্থাপিত হতে পারে যদি এটি ডিভাইসে এখনও বিতরণ করা না থাকে।

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

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

কোনও পে-লোড ছাড়াই বিষয়গুলি বার্তাগুলি ডিফল্টরূপে সঙ্কুচিত।

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

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

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

একটি বার্তার অগ্রাধিকার সেট করা

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

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

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

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

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

এফসিএম এইচটিটিপি ভি 1 প্রোটোকলের মাধ্যমে কোনও ম্যাগাজিনের গ্রাহককে অবহিত করার জন্য যে নতুন বিষয়বস্তু ডাউনলোডের জন্য উপলব্ধ রয়েছে তা অবহিত করার জন্য একটি সাধারণ অগ্রাধিকার বার্তার একটি উদাহরণ এখানে রয়েছে:

{
  "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"
      }
    }
  }
}

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

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

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

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

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

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

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

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

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

{
  "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"
      }
    }
  }
}

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

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

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

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

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

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

একটি বার্তা লাইফটাইম

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

সর্বাধিক ক্ষেত্রে দৃশ্যে, ডিভাইসটি যদি এফসিএমের সাথে সংযুক্ত থাকে, স্ক্রিন চালু থাকে এবং কোনও থ্রোলটিং বিধিনিষেধ না থাকে, এই বার্তাটি এখনই সরবরাহ করা হবে।

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

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

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

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

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

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

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

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

সংযোগযোগ্য বার্তা থ্রোটলিং

উপরে বর্ণিত হিসাবে কলাপযোগ্য বার্তাগুলি একে অপরের শীর্ষে পতনের জন্য নকশাকৃত সামগ্রী-মুক্ত বিজ্ঞপ্তি are যদি কোনও বিকাশকারী কোনও অ্যাপ্লিকেশনে একই বার্তা পুনরাবৃত্তি করে থাকে তবে আমরা ব্যবহারকারীর ব্যাটারির প্রভাব হ্রাস করতে বার্তা (থ্রোটল) দেরি করি।

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

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

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

এক্সএমপিপি সার্ভার থ্রোটলিং

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

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

একক ডিভাইসে সর্বাধিক বার্তার হার

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

প্রবাহের বার্তার সীমা

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

খারাপ অ্যাপ্লিকেশন আচরণ থেকে ব্যাটারি ড্রেন থেকে রক্ষা পেতে আমরা প্রতি ডিভাইস প্রতি প্রবাহের বার্তা 1000 / মিনিটে সীমাবদ্ধ করি।

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

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

বার্তা প্রেরণের হারের জন্য, ফ্যানআউট থ্রোটলিং দেখুন

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

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

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

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

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

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

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

আগত বার্তাগুলির জন্য খুলতে পোর্ট:

  • 5228
  • 5229
  • 5230
  • 443

বহির্গামী সংযোগগুলির অনুমতি দেওয়ার জন্য পোর্টগুলি:

এর মধ্যে একটি (বিকল্প # 1 পছন্দসই):

  1. কোনও আইপি বাধা নেই
  2. ডিফল্ট ডোমেনগুলির জন্য সমস্ত আইপি ঠিকানা।

    এই ঠিকানাগুলির একটি আপ-টু-ডেট তালিকা পুনরুদ্ধার করতে, ডিফল্ট ডোমেনগুলির জন্য আইপি ঠিকানাগুলিতে বর্ণিত নির্দেশাবলী অনুসরণ করুন।

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

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

শংসাপত্রাদি

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

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

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

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

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

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