এই পৃষ্ঠায় Cloud Messaging সম্পর্কে প্রায়শই জিজ্ঞাসিত প্রশ্নের উত্তর ও সমস্যার সমাধান সংক্রান্ত সহায়তা প্রদান করা হয়।
বিজ্ঞপ্তি কম্পোজার ও FCM-এর মধ্যে পার্থক্য কী?
Firebase Cloud Messaging তার ক্লায়েন্ট SDK ও HTTP সার্ভার প্রোটোকলের মাধ্যমে মেসেজিংয়ের সম্পূর্ণ সেট উপলভ্য করে। আরও জটিল মেসেজিংয়ের প্রয়োজনীয়তা সহ ডিপ্লয়মেন্টের জন্য, FCM হল সঠিক পছন্দ।
বিজ্ঞপ্তি কম্পোজার হল একটি লাইটওয়েট, সার্ভারলেস মেসেজিং সমাধান যা Firebase Cloud Messaging-এ তৈরি করা হয়েছে। ব্যবহার করা সহজ গ্রাফিক্যাল কনসোল এবং কম কোডিংয়ের প্রয়োজনীয়তার মাধ্যমে, বিজ্ঞপ্তি কম্পোজার ব্যবহারকারীদের মেসেজ পাঠাতে দেয় যাতে ব্যবহারকারীদের আবার এনগেজ করা ও ধরে রাখা, অ্যাপের বৃদ্ধি এবং মার্কেটিং ক্যাম্পেনে সহায়তা করা যায়।
| ক্ষমতা | বিজ্ঞপ্তি কম্পোজার | Cloud Messaging | |
|---|---|---|---|
| টার্গেট | সিঙ্গেল ডিভাইস | ||
| বিষয় সাবস্ক্রাইব করা ক্লায়েন্ট (যেমন, আবহাওয়া) | |||
| পূর্বনির্ধারিত ব্যবহারকারীর বিভাগে (অ্যাপ, ভার্সন, ভাষা) ক্লায়েন্ট | |||
| নির্দিষ্ট Analytics অডিয়েন্সে ক্লায়েন্ট | |||
| ডিভাইস গ্রুপে ক্লায়েন্ট | |||
| ক্লায়েন্ট থেকে সার্ভারে আপস্ট্রিম | |||
| মেসেজের ধরন | ২ কেবি পর্যন্ত বিজ্ঞপ্তি | ||
| ৪ কেবি পর্যন্ত ডেটা মেসেজ | |||
| ডেলিভারি | অবিলম্বে | ||
| ভবিষ্যতে ক্লায়েন্ট ডিভাইসের স্থানীয় সময় | |||
| Analytics | বিল্ট-ইন বিজ্ঞপ্তি অ্যানালিটিক্স সংগ্রহ ও ফানেল অ্যানালিটিক্স |
FCM ব্যবহার করার জন্য আমাকে কি অন্য Firebase পরিষেবা ব্যবহার করতে হবে?
আপনি অন্যান্য Firebase পরিষেবা ব্যবহার না করে, একটি স্বতন্ত্র কম্পোনেন্ট হিসেবে Firebase Cloud Messaging ব্যবহার করতে পারেন।
আমার টার্গেট করা ডিভাইসগুলি কেন মেসেজ পাচ্ছে না?
ডিভাইস মেসেজ পায়নি বলে মনে হলে, প্রথমে এই দুটি সম্ভাব্য কারণ চেক করুন:
বিজ্ঞপ্তি মেসেজের জন্য ফোরগ্রাউন্ড মেসেজ ম্যানেজ করা। অ্যাপটি ডিভাইসের ফোরগ্রাউন্ডে থাকাকালীন বিজ্ঞপ্তি মেসেজ ম্যানেজ করার জন্য ক্লায়েন্ট অ্যাপে মেসেজ ম্যানেজ করার লজিক যোগ করতে হবে। iOS ও Android-এর জন্য বিবরণ দেখুন।
নেটওয়ার্ক ফায়ারওয়াল সংক্রান্ত বিধিনিষেধ। আপনার সংস্থার ফায়ারওয়াল যদি ইন্টারনেট থেকে আসা বা যাওয়া ট্রাফিককে সীমাবদ্ধ করে, তাহলে আপনার Firebase Cloud Messaging ক্লায়েন্ট অ্যাপ যাতে মেসেজ পেতে পারে তার জন্য আপনাকে FCM-এর সাথে কানেক্টিভিটি অনুমোদন করার জন্য এটি কনফিগার করতে হবে। যেসব পোর্ট খুলতে হবে:
- 5228
- 5229
- 5230
FCM সাধারণত ৫২২৮ ব্যবহার করে, তবে কখনও কখনও ৫২২৯ এবং ৫২৩০ ব্যবহার করে। FCM নির্দিষ্ট IP প্রদান করে না, তাই আপনার ফায়ারওয়ালকে Google-এর ১৫১৬৯-এর ASN-এ তালিকাভুক্ত IP ব্লকে থাকা সব IP অ্যাড্রেসে আউটগোয়িং কানেকশন গ্রহণ করার অনুমতি দিতে হবে।
আমার Android অ্যাপে
onMessageReceived কেন কল করা হচ্ছে না?
আপনার অ্যাপ ব্যাকগ্রাউন্ডে থাকলে, বিজ্ঞপ্তি
মেসেজ
সিস্টেম ট্রেতে দেখানো হয় এবং onMessageReceived কল করা হয় না। ডেটা পেলোড সহ বিজ্ঞপ্তি মেসেজের ক্ষেত্রে, বিজ্ঞপ্তি মেসেজটি সিস্টেম ট্রেতে দেখানো হয় এবং বিজ্ঞপ্তি মেসেজের সাথে অন্তর্ভুক্ত ডেটা, ব্যবহারকারী বিজ্ঞপ্তিতে ট্যাপ করলে চালু হওয়া ইনটেন্ট থেকে ফিরিয়ে আনা যেতে পারে।
আরও তথ্যের জন্য, মেসেজ পাওয়া ও ম্যানেজ করা দেখুন।
ব্যাক-আপ থেকে ফিরিয়ে আনা কোনও অ্যাক্টিভ অ্যাপ ইনস্ট্যান্সে মেসেজ পাঠালে আমি কেন 404 সমস্যার মেসেজ পাই?
FID (Firebase ইনস্টলেশন আইডি) হল অ্যাপ ইনস্ট্যান্সের শনাক্তকারী। ডিফল্ট হিসেবে, Firebase ইনস্টলেশন ডেটা ব্যাক-আপ নেওয়া ও ফিরিয়ে আনা হয়। তাই, রিস্টোর করার ক্ষেত্রে, রিস্টোর করা অ্যাপ ইনস্ট্যান্স এবং আসল অ্যাপ ইনস্ট্যান্স একই FID শেয়ার করে। যেহেতু FCM প্রতিটি FID-এর জন্য শুধুমাত্র একটি টোকেন স্টোর করে, তাই যদি আসল অ্যাপ ইনস্ট্যান্স এবং রিস্টোর করা অ্যাপ ইনস্ট্যান্স উভয়ই ব্যবহার করা হয়, তাহলে একটি অ্যাপ ইনস্ট্যান্স FCM-এর সাথে রেজিস্টার করলে, অন্য অ্যাপ ইনস্ট্যান্সের টোকেন মুছে ফেলা হয়, যার ফলে 404 ত্রুটি ঘটে।
আমরা ডেভেলপারদের তাদের অ্যাপে নিম্নলিখিত কাজগুলি করতে সাজেস্ট করি:
- ব্যাক-আপে Firebase ইনস্টলেশন ডেটা
বাদ দিন। Firebase ইনস্টলেশন ডেটা
PersistedInstallation....jsonফাইলে স্টোর করা হয়। ফাইলের নাম হল কোনও অ্যাপের জন্য একটি ধ্রুবক। যেমন,<exclude domain="file" path="PersistedInstallation.W0R...GQ.json" />
Apple ঘোষণা করেছে যে তারা APN-এর জন্য লিগ্যাসি বাইনারি প্রোটোকল বন্ধ করে দিচ্ছে। আমাকে কি কিছু করতে হবে?
না। Firebase Cloud Messaging ২০১৭ সালে HTTP/2-ভিত্তিক APNs প্রোটোকলে পরিবর্তন করা হয়েছে। iOS ডিভাইসে বিজ্ঞপ্তি পাঠানোর জন্য আপনি FCM ব্যবহার করলে, আপনাকে কোনও অ্যাকশন নিতে হবে না।
FCM কোটা ও সীমা
আমি কীভাবে ২ মিনিটের মধ্যে অনেক গ্রাহককে বিজ্ঞপ্তি পাঠাতে পারি?
এই ব্যবহারের ক্ষেত্রে কাজ করবে না। আপনাকে ৫ মিনিটের বেশি সময় ধরে ট্রাফিক ছড়িয়ে দিতে হবে।
আমার অ্যাপ ব্যবহারকারীদের ইভেন্ট সম্পর্কে বিজ্ঞপ্তি দেয় এবং আমার বিজনেস মডেলকে সহায়তা করার জন্য এই মেসেজগুলি অবিলম্বে ডেলিভার করতে হবে। আমি কি আরও কোটা পেতে পারি?
এই কারণে আমরা কোটা বাড়াতে পারব না। ট্রাফিকের স্পাইক এড়াতে আপনাকে ৫ মিনিটের বেশি সময় ধরে ট্রাফিক ছড়িয়ে দিতে হবে।
আমার মেসেজগুলি শিডিউল করা ইভেন্ট সম্পর্কে। আমি কীভাবে ঘণ্টার শুরুতে সব ট্রাফিক পাঠাতে পারি?
ইভেন্ট শুরু হওয়ার অন্তত ৫ মিনিট আগে থেকে বিজ্ঞপ্তি পাঠানো শুরু করলে
ভালো হয়। বিকল্প হিসেবে, ডেটা
মেসেজ পাঠান এবং সময়ের আগে স্থানীয় বিজ্ঞপ্তি শিডিউল করতে আপনার প্ল্যাটফর্মের onMessageReceived হ্যান্ডলারের অ্যানালগ
প্রয়োগ করুন।
আমি কীভাবে আমার কোটার ব্যবহার মনিটর করতে পারি?
কীভাবে কোটা মেট্রিক চার্ট ও মনিটর করবেন সেই সম্পর্কে Google Cloud-এর নির্দেশিকা দেখুন।
আমার এবং আমার ব্যবসার পক্ষে 429 সমস্যা সামলানো কঠিন। আমি কি 429 এড়াতে ছাড় বা আরও কোটা পেতে পারি?
আমরা বুঝি যে কোটার সীমা চ্যালেঞ্জিং হতে পারে, তবে পরিষেবা নির্ভরযোগ্য রাখার জন্য কোটা অত্যন্ত গুরুত্বপূর্ণ এবং আমরা ছাড় দিতে পারি না। 429 ত্রুটি সঠিকভাবে ম্যানেজ করতে আবার চেষ্টা করার সুবিধা ব্যবহার করুন।
আমার কোটা বাড়ানোর অনুরোধ পূরণ হতে কত সময় লাগবে?
আপনার কোটা বাড়ানোর অনুরোধ আপনার FCM ব্যবহারের উপর নির্ভর করে। যাই হোক না কেন, আপনি কয়েক কর্মদিবসের মধ্যে উত্তর পাবেন বলে আশা করতে পারেন। কিছু ক্ষেত্রে, আপনার FCM-এর ব্যবহার এবং বিভিন্ন পরিস্থিতি সম্পর্কে কিছু প্রশ্ন ও উত্তর থাকতে পারে, যা প্রক্রিয়াটিকে দীর্ঘায়িত করতে পারে। সব প্রয়োজনীয়তা পূরণ করা হলে, বেশিরভাগ অনুরোধ ২ সপ্তাহের মধ্যে সমাধান করা হবে।
আমি কি সাময়িক ইভেন্টের জন্য আরও কোটা পেতে পারি?
আপনি ১ মাস পর্যন্ত চলা ইভেন্টের জন্য অতিরিক্ত কোটার অনুরোধ করতে পারেন। ইভেন্ট শুরু হওয়ার অন্তত ১ মাস আগে অনুরোধ জমা দিতে হবে এবং ইভেন্ট কখন শুরু ও শেষ হবে সেই বিষয়ে স্পষ্ট বিবরণ দিতে হবে এবং FCM অনুরোধ পূরণ করার জন্য যথাসাধ্য চেষ্টা করবে। অনুমতি দেওয়া হলে, ইভেন্ট শেষ হওয়ার তারিখের পরে এই কোটা বৃদ্ধি আগের অবস্থায় ফিরিয়ে আনা হবে।
আমার বর্তমান কোটা কি পরিবর্তন হতে পারে?
Google এই কাজটি হালকাভাবে করবে না, তবে সিস্টেমের অখণ্ডতা রক্ষা করার জন্য প্রয়োজন অনুযায়ী কোটা পরিবর্তন করা হতে পারে। সম্ভব হলে, Google আপনাকে এই ধরনের পরিবর্তনের ব্যাপারে আগাম বিজ্ঞপ্তি পাঠাবে। পরিষেবা সংক্রান্ত ঘোষণা পাওয়ার সম্ভাবনা বাড়াতে আপনার Cloud MSA পরিচিতি আপডেট রাখুন।
FCMটি লিগ্যাসি API অননুমোদিত হয়েছে
সার্ভার সাইড API সেপ্টেম্বর ২০২৬ থেকে বন্ধ করা হয়েছে
কোন কোন API ও ফিচার বন্ধ করা হয়েছে এবং আর ব্যবহার করা যাবে না? আমি এইসব API ব্যবহার করলে আমার কী করা উচিত?
সব InstanceId সার্ভার API এবং ডিভাইস গ্রুপ ফিচার বন্ধ করা হয়েছে এবং ২৯ সেপ্টেম্বর, ২০২৭-এ এগুলি বন্ধ করে দেওয়া হবে। নিম্নলিখিত সারণীতে বন্ধ হয়ে যাওয়া API/ফিচার এবং প্রয়োজনীয় অ্যাকশন সম্পর্কে আরও বিবরণ দেখানো হয়েছে।
| API-এর নাম | API এন্ডপয়েন্ট | ব্যবহারের উদ্দেশ্য | গ্রাহকের উপর প্রভাব | ব্যবস্থা নিতে হবে |
|---|---|---|---|---|
| InstanceId তথ্য API | https://iid.googleapis.com/iid/info | InstanceId / FCM টোকেন সম্পর্কিত তথ্য পাওয়া | ২৯ সেপ্টেম্বর, ২০২৭-এর পর থেকে এই API-তে করা অনুরোধ কাজ করবে না। | যেসব গ্রাহক টোকেন যাচাইকরণের জন্য API ব্যবহার করছেন, তারা FCM V1 API পাঠান ব্যবহার করুন এবং validate_only-কে 'সত্য' হিসেবে সেট করুন।
যেসব গ্রাহক বিষয় সাবস্ক্রিপশন সংক্রান্ত তথ্য পাওয়ার জন্য API ব্যবহার করছেন, তারা নতুন বিষয় সাবস্ক্রিপশন API-তে মাইগ্রেট করুন। |
| InstanceId টপিক সাবস্ক্রিপশন API | https://iid.googleapis.com/iid/v1/…/rel/topics https://iid.googleapis.com/iid/v1:batchAdd https://iid.googleapis.com/iid/v1:batchRemove |
পুরনো টপিক সাবস্ক্রিপশন API-এর মাধ্যমে কোনও টপিকে টোকেন সাবস্ক্রাইব করা। | ২৯ সেপ্টেম্বর, ২০২৭-এর পরে এই API-তে করা অনুরোধ কাজ করবে না। | বিষয় সাবস্ক্রাইব ও আনসাবস্ক্রাইব করার জন্য নতুন FCM বিষয় সাবস্ক্রিপশন সার্ভার API-তে মাইগ্রেট করুন। |
| InstanceId ব্যাচ ইম্পোর্ট API | https://iid.googleapis.com/iid/v1:batchImport | সার্ভার সাইডে ব্যাচে iOS-এর জন্য FCM টোকেন তৈরি করা। | ২৯ সেপ্টেম্বর, ২০২৭-এর পর থেকে এই API-তে করা অনুরোধ কাজ করবে না।
সার্ভার সাইডে APNs টোকেন থেকে FCMটি রেজিস্ট্রেশন তৈরি করার সুবিধা কাজ করবে না। |
APNs টোকেন ব্যবহার করে বিজ্ঞপ্তি পাঠাতে আপনি Apple-এর APNs পরিষেবা ব্যবহার করতে পারবেন।
FCM-এর মাধ্যমে প্রদান করা অতিরিক্ত সুবিধা পেতে, আপনার অ্যাপ FCM iOS SDK-এর সাথে ইন্টিগ্রেট করুন, যা ক্লায়েন্টে FCM রেজিস্ট্রেশন তৈরি করবে। |
| ডিভাইস গ্রুপ ম্যানেজমেন্ট API | https://fcm.googleapis.com/fcm/notification https://fcm.googleapis.com/gcm/notification https://fcm.googleapis.com/iid/notification https://fcm.googleapis.com/notification |
ডিভাইস গ্রুপের মেম্বার যোগ করা / সরানো/ ফিরিয়ে আনা। | ২৯ সেপ্টেম্বর, ২০২৭-এর পর থেকে এই API-তে করা অনুরোধ কাজ করবে না। | ফিচারটি মাইগ্রেট করার জন্য নির্দেশিকা দেখুন।
গ্রুপ টোকেনের পরিবর্তে এখনও স্বতন্ত্র FCM রেজিস্ট্রেশনে মেসেজ পাঠানো যেতে পারে। |
| ডিভাইস গ্রুপ পাঠানো | https://fcm.googleapis.com/v1/projects/…/messages:send | গ্রুপ notification_key ব্যবহার করে ডিভাইস গ্রুপে মেসেজ পাঠানো। | এই API কাজ করা চালিয়ে যাবে, তবে ২৯ সেপ্টেম্বর, ২০২৭-এর পরে এটি ডিভাইস গ্রুপ টোকেন সাপোর্ট করবে না। |
আমি যদি টপিক সাবস্ক্রিপশন ম্যানেজ করার জন্য Firebase Admin SDK ব্যবহার করি, তাহলে কি এই বন্ধ হয়ে যাওয়ার ফলে আমি প্রভাবিত হব? আমার কী করা উচিত?
আপনি যদি বিষয় সাবস্ক্রিপশন ম্যানেজ করার জন্য Firebase Admin SDK-এর আগের ভার্সন ব্যবহার করেন, তাহলে এই বন্ধ হয়ে যাওয়ার ফলে আপনি প্রভাবিত হবেন। আপনাকে Firebase Admin SDK-কে নিম্নলিখিত ভার্সনে আপগ্রেড করতে হবে:
| প্ল্যাটফর্ম | Admin SDK ভার্সন প্রভাবিত হচ্ছে | অ্যাডমিন SDK ভার্সন আপগ্রেড করে এই ভার্সনে নিয়ে যেতে হবে |
|---|---|---|
| Node.js | <=১৪.৪.০ | >=১৪.৫.০ |
| Python | <=৭.৬.০ | >=৭.৭.০ |
| জাভা | <=9.10.0 | >=9.11.0 |
| Go | <=4.21.0 | >=৪.২২.০ |
| .NET | <=৩.৬.০ | >=৩.৭.০ |
২৯ সেপ্টেম্বর, ২০২৭-এর আগে কি আমার পরিষেবার ডাউনগ্রেড দেখতে পাব?
না। বন্ধ হয়ে যাওয়া API থেকে বিকল্পে মাইগ্রেট করার জন্য আপনার কাছে ১২ মাস সময় আছে এবং এই সময়ের মধ্যে পরিষেবার কোয়ালিটি কমবে না। আমরা আপনাকে যত তাড়াতাড়ি সম্ভব মাইগ্রেশনের পরিকল্পনা করার জন্য বিশেষভাবে সাজেস্ট করি যাতে আপনি ডিকমিশনিংয়ের কারণে প্রভাবিত না হন।
২৯ সেপ্টেম্বর, ২০২৭-এর পরে বন্ধ হয়ে যাওয়া API কল করার সময় আপনি সমস্যার সম্মুখীন হতে পারেন।
বন্ধ করে দেওয়ার আগে নতুন ব্যবহারকারীরা কি বন্ধ হয়ে যাওয়া API/ফিচার অনবোর্ড করতে পারবেন?
নতুন ব্যবহারকারীরা ১ জানুয়ারি, ২০২৭-এর আগে বন্ধ হয়ে যাওয়া API/ফিচার অনবোর্ড করতে পারবেন। ১ জানুয়ারি, ২০২৭-এর পরে, নতুন ব্যবহারকারীরা বন্ধ হয়ে যাওয়া API ব্যবহার করতে পারবেন না। যেসব ব্যবহারকারী বন্ধ হয়ে যাওয়া API ব্যবহার করছেন, তারা ২৯ সেপ্টেম্বর, ২০২৭ পর্যন্ত সেগুলি ব্যবহার করা চালিয়ে যেতে পারবেন।
AndroidConfigV2 সংক্রান্ত প্রায়শই জিজ্ঞাসিত প্রশ্ন
পুরনো AndroidConfig (v1) API কতদিন কাজ করবে?
AndroidConfigV2-এর
জেনারেল অ্যাভেইলেবিলিটি (GA) রিলিজের পর
একাধিক বছর ধরে v1 AndroidConfig পেলোড সাপোর্ট করা চালিয়ে যাওয়ার জন্য FCM-এর পরিকল্পনা রয়েছে। মাইগ্রেশনের টাইমলাইন একাধিক বছর ধরে বিস্তৃত হলেও,
AndroidConfigV2 আরও অনুমানযোগ্য বিজ্ঞপ্তি ডেলিভারি প্রদান করে এবং আপনাকে
যত তাড়াতাড়ি সম্ভব মাইগ্রেট করতে উৎসাহিত করা হচ্ছে।
AndroidConfigV2-এ কোন কোন Android OS ভার্সন কাজ করে?
Google-এর মাধ্যমে কাজ করে এমন সব Android ভার্সনে AndroidConfigV2 কাজ করবে। পুরনো v1 API বন্ধ হয়ে গেলে ১০+ বছরের পুরনো ডিভাইস ছাড়া বাকি সব ডিভাইসে
কাজ করবে।
AndroidConfigV2 কি এমন ডিভাইসে পেলোড ডেলিভার করবে যা শুধুমাত্র পুরনো v1 ইন্টারফেস সাপোর্ট করে এবং কোন ক্রমে আমি পরিবর্তনগুলি রোল আউট করব?
হ্যাঁ। আপনি AndroidConfigV2 অনুরোধ পাঠালে, FCM এবং GMS Core
অটোমেটিক পুরনো ক্লায়েন্ট SDK-তে চলা ডিভাইসের জন্য অথবা
এখনও onNotificationReceived() বা
onBackgroundSyncReceived() ওভাররাইড করেনি এমন অ্যাপের জন্য পেলোড অনুবাদ করে, onMessageReceived() ব্যবহার করে এটি ডেলিভার করে।
AndroidConfigV2-এর ক্ষেত্রে সরাসরি NotificationManager.notify() কল করার পরিবর্তে FCM SDK-এর মাধ্যমে বিজ্ঞপ্তি রিটার্ন করার প্রয়োজন হয় কেন?
ওপেন-সোর্স FCM SDK-তে NotificationResponse ফিরিয়ে দিয়ে অথবা FcmNotificationManager ব্যবহার করে:
- আপনার অ্যাপ বিজ্ঞপ্তি ডিক্রিপ্ট বা কাস্টমাইজ করার জন্য একটি সুরক্ষিত এক্সিকিউশন উইন্ডো পায়।
- আপনার অ্যাপের সময় শেষ হয়ে গেলে, GMS Core
remote_notification.notification-এ আপনার কনফিগার করা ব্যাক-আপ বিজ্ঞপ্তি পোস্ট করে সময়মতো ডেলিভারি নিশ্চিত করে।
আমার অ্যাপ ফোরগ্রাউন্ডে বনাম ব্যাকগ্রাউন্ডে থাকলে AndroidConfigV2 কি বিজ্ঞপ্তিগুলি আলাদাভাবে পরিচালনা করে?
না। লিগ্যাসি v1 বিজ্ঞপ্তি মেসেজের মতো, আপনার অ্যাপ ফোরগ্রাউন্ডে নাকি ব্যাকগ্রাউন্ডে আছে তার উপর ভিত্তি করে AndroidConfigV2 মেসেজ রাউটিংকে
বিভক্ত করে না।
আপনি RemoteNotification পাঠালে, বিজ্ঞপ্তি অটোমেটিক দুটি অবস্থাতেই
দেখানো হয়, যদি না আপনি mutable_content: true সেট করেন এবং
NotificationResponse.createEmpty() ব্যবহার করে onNotificationReceived()-এ
স্পষ্টভাবে এটি সাইলেন্ট করেন।
একটি পরিবর্তনযোগ্য RemoteNotification হ্যান্ডেল করার সময় আমার অ্যাপ কত সময় পায়?
RemoteNotification-এ mutable_content: true সেট করা থাকলে, NotificationResponse ফিরিয়ে দেওয়ার আগে
পেলোড ডিক্রিপ্ট করতে, ছোট অ্যাসেট (যেমন অবতার) আনতে অথবা আপনার অ্যাপ সার্ভারের সাথে যোগাযোগ করতে
onNotificationReceived()-এর মধ্যে আপনার অ্যাপের কাছে সর্বাধিক ২০ সেকেন্ড সময় থাকে। কলব্যাক ২০ সেকেন্ডের বেশি সময় ধরে চললে, এক্সিকিউশন বাতিল করা হয় এবং GMS Core
remote_notification.notification পেলোডের উপর ভিত্তি করে
অটোমেটিক একটি ফলব্যাক বিজ্ঞপ্তি পোস্ট করে।
মিউট করা যায় এমন RemoteNotifications-এর ক্ষেত্রে বিজ্ঞপ্তি দমন এনফোর্সমেন্ট কীভাবে কাজ করে?
onNotificationReceived() থেকে NotificationResponse.suppress()
ফিরিয়ে দেওয়ার মাধ্যমে অ্যাপ RemoteNotification-কে দমন করতে পারে। যেমন,
কোনও চ্যাট মিউট করা হলে, প্রেরককে ব্লক করা হলে অথবা এন্ড-টু-এন্ড এনক্রিপ্টেড
পে-লোড যাচাই করা না গেলে।
- ব্যাকগ্রাউন্ডে: আপনার অ্যাপ, রোলিং উইন্ডো জুড়ে
প্রাপ্ত
RemoteNotificationমেসেজের ২৫% পর্যন্ত দমন করতে পারে। আপনার অ্যাপের ব্যাকগ্রাউন্ড সাপ্রেশন রেট ২৫%-এর বেশি হলে, GMS Core অটোমেটিকremote_notification.notificationপেলোড থেকে ফলব্যাক বিজ্ঞপ্তি রেন্ডার ও পোস্ট করে। - ফোরগ্রাউন্ডে: ফোরগ্রাউন্ডে অ্যাক্টিভ থাকার সময় আপনি যেকোনও রিমোট বিজ্ঞপ্তি বন্ধ করতে পারবেন। যেমন, সিস্টেম বিজ্ঞপ্তি পোস্ট করার পরিবর্তে অ্যাপ-মধ্যস্থ টোস্ট দেখানো বা খোলা চ্যাট স্ক্রিন আপডেট করা।
আমার অ্যাপ কি একাধিক বিজ্ঞপ্তি পোস্ট করতে পারে বা একটি RemoteNotification থেকে আগে থেকে থাকা বিজ্ঞপ্তি বাতিল করতে পারে?
হ্যাঁ। একাধিক বিজ্ঞপ্তি বাতিল বা পোস্ট করতে নিম্নলিখিত পদ্ধতি অনুসরণ করুন:
- একটি বিজ্ঞপ্তি বাতিল করা: আগে পোস্ট করা বিজ্ঞপ্তি বাতিল করতে
NotificationResponse.createCancel(tag, id)থেকেonNotificationReceived()-এ ফিরে যান। - একাধিক বিজ্ঞপ্তি পোস্ট করুন অথবা বাতিল ও পোস্ট একত্রিত করুন:
postNow(tag, id, notification)ওcancelNow(tag, id)একাধিকবার ইনভোক করতেonNotificationReceived()-এর মধ্যেgetFcmNotificationManager(message)কল করুন এবং সম্পূর্ণ হলেmanager.finished()রিটার্ন করুন।
Can custom RemoteViews work with AndroidConfigV2?
হ্যাঁ, কাস্টম RemoteViews, AndroidConfigV2-এর সাথে কাজ করবে।
onNotificationReceived() একটি স্ট্যান্ডার্ড Android Notification অবজেক্ট রিটার্ন করে, সব
স্ট্যান্ডার্ড Android বিজ্ঞপ্তি API, যেমন setCustomContentView(), কাজ করা
চালিয়ে যায়। মনে রাখবেন যে RemoteViews এবং Views রক্ষণাবেক্ষণ মোডে রয়েছে এবং
Compose-এ মাইগ্রেট করার সাজেশন দেওয়া হয়।