অ্যান্ড্রয়েডে ডাউনস্ট্রিম মেসেজগুলিতে ডেলিভারি অগ্রাধিকার দেওয়ার জন্য আপনার কাছে দুটি বিকল্প রয়েছে: স্বাভাবিক এবং উচ্চ অগ্রাধিকার৷ স্বাভাবিক এবং উচ্চ অগ্রাধিকার বার্তাগুলির বিতরণ এই মত কাজ করে:
স্বাভাবিক অগ্রাধিকার। এটি ডেটা বার্তাগুলির জন্য ডিফল্ট অগ্রাধিকার। সাধারণ অগ্রাধিকার বার্তাগুলি অবিলম্বে বিতরণ করা হয় যখন ডিভাইসটি ঘুমায় না। যখন ডিভাইসটি ডোজ মোডে থাকে, তখন ব্যাটারি সংরক্ষণের জন্য ডেলিভারি বিলম্বিত হতে পারে যতক্ষণ না ডিভাইসটি ডোজ থেকে বেরিয়ে আসে। কম সময়-সংবেদনশীল বার্তাগুলির জন্য, যেমন নতুন ইমেলের বিজ্ঞপ্তি, আপনার UI সিঙ্কে রাখা, বা পটভূমিতে অ্যাপ ডেটা সিঙ্ক করা, স্বাভাবিক বিতরণ অগ্রাধিকার বেছে নিন।
আপনার অ্যাপের জন্য একটি ব্যাকগ্রাউন্ড ডেটা সিঙ্কের অনুরোধ করে Android-এ একটি সাধারণ অগ্রাধিকার বার্তা পাওয়ার সময়, নেটওয়ার্ক উপলব্ধ থাকলে এটি পরিচালনা করার জন্য আপনি WorkManager-এর সাথে একটি কাজ নির্ধারণ করতে পারেন।
উচ্চ অগ্রাধিকার. FCM অবিলম্বে উচ্চ অগ্রাধিকার বার্তা প্রদান করার চেষ্টা করে, FCM যখন প্রয়োজনে একটি ঘুমন্ত যন্ত্রকে জাগিয়ে তুলতে এবং কিছু সীমিত প্রক্রিয়াকরণ (খুব সীমিত নেটওয়ার্ক অ্যাক্সেস সহ) চালানোর অনুমতি দেয়। উচ্চ অগ্রাধিকারের বার্তাগুলি সাধারণত আপনার অ্যাপ বা এর বিজ্ঞপ্তিগুলির সাথে ব্যবহারকারীর ইন্টারঅ্যাকশনের ফলে হওয়া উচিত।
Android এ বার্তা পরিচালনা এবং বঞ্চিতকরণ
অ্যান্ড্রয়েডে উচ্চ অগ্রাধিকার বার্তাগুলি সময় সংবেদনশীল, ব্যবহারকারীর দৃশ্যমান সামগ্রীর জন্য বোঝানো হয় এবং এর ফলে ব্যবহারকারীর মুখোমুখি বিজ্ঞপ্তিগুলি হওয়া উচিত৷ যদি FCM এমন একটি প্যাটার্ন শনাক্ত করে যাতে বার্তাগুলি ব্যবহারকারী-মুখী বিজ্ঞপ্তির ফলে না হয়, তাহলে আপনার বার্তাগুলিকে স্বাভাবিক অগ্রাধিকার থেকে বঞ্চিত করা হতে পারে বা Google Play পরিষেবাগুলি পরিচালনার জন্য অর্পণ করা হতে পারে ৷
FCM বঞ্চিত বা প্রক্সি বার্তা নির্ধারণ করার সময় 7 দিনের বার্তা আচরণ ব্যবহার করে; এটি আপনার আবেদনের প্রতিটি উদাহরণের জন্য স্বাধীনভাবে এই সংকল্প করে। যদি, উচ্চ অগ্রাধিকার বার্তাগুলির প্রতিক্রিয়া হিসাবে, বিজ্ঞপ্তিগুলি এমনভাবে প্রদর্শিত হয় যা ব্যবহারকারীর কাছে দৃশ্যমান হয়, তাহলে আপনার ভবিষ্যতের উচ্চ-অগ্রাধিকার বার্তাগুলি প্রভাবিত হবে না৷
Google Play পরিষেবাগুলির সাথে বিজ্ঞপ্তি অর্পণ৷
উচ্চ অগ্রাধিকার বিজ্ঞপ্তি বার্তাগুলি (ডেটা বার্তা নয়) যেগুলি নির্দিষ্ট মানদণ্ড পূরণ করে তা বঞ্চিত হওয়ার পরিবর্তে Google Play পরিষেবা দ্বারা প্রক্সি করা হয়৷ এর মানে হল যে অ্যাপটি চালু করার প্রয়োজন ছাড়াই অ্যাপের পক্ষ থেকে Google Play পরিষেবাগুলি দ্বারা বিজ্ঞপ্তিগুলি প্রদর্শিত হয়। এটি অ্যান্ড্রয়েড ডিভাইসে আরও ভাল সামগ্রিক ব্যবহারকারীর অভিজ্ঞতা প্রদানের জন্য করা হয়েছে।
নোট করুন যে প্রক্সিযুক্ত বিজ্ঞপ্তি বার্তাগুলি প্রাপ্ত বার্তাগুলির সাথে সম্পর্কিত বিশ্লেষণগুলি কীভাবে রিপোর্ট করা হয় তার পরিবর্তনগুলিকে উপস্থাপন করে:
- প্রক্সিযুক্ত বিজ্ঞপ্তিগুলির জন্য বিশ্লেষণের জন্য রিপোর্ট করার জন্য, আপনার অ্যাপটিকে অবশ্যই FCM SDK সংস্করণ 24.0.0 বা উচ্চতর ব্যবহার করতে হবে৷
- আপনি প্রক্সিড নোটিফিকেশন প্রবর্তনের আগে প্রাপ্ত বার্তার সংখ্যার তুলনায় বিলম্ব বা হ্রাস লক্ষ্য করতে পারেন। এর কারণ হল আপনার অ্যাপ শুরু হলেই প্রক্সিযুক্ত বিজ্ঞপ্তিগুলির বিশ্লেষণ রিপোর্ট করা হয় এবং বিজ্ঞপ্তির ফলে অ্যাপ খোলা না হলে তা রিপোর্ট করা নাও হতে পারে।
Android Q+ এবং Google Play পরিষেবার সংস্করণ 19054000 বা তার পরবর্তী সংস্করণ ব্যবহার করা অ্যাপগুলির জন্য এইভাবে প্রক্সি বিজ্ঞপ্তি বার্তাগুলি ডিফল্ট আচরণ৷ HTTP v1 API-এর মাধ্যমে পাঠানো বার্তাগুলি প্রক্সি করা হয়, কিন্তু Firebase কনসোল বা লিগ্যাসি API-এর মাধ্যমে পাঠানো বার্তাগুলি প্রক্সি করা হবে না ৷ মনে রাখবেন যে এই বৈশিষ্ট্যটি বর্তমানে বিটাতে রয়েছে এবং এটি পরিবর্তন সাপেক্ষে।
যদিও আমরা দৃঢ়ভাবে ডিভাইসের ব্যাটারি এবং মেমরির সুবিধার জন্য ডেলিগেশন চালু রাখার পরামর্শ দিই, আপনি এই যেকোনও উপায়ে এই আচরণ থেকে অপ্ট আউট করতে পারেন:
- অ্যাপ-লেভেলের ভিত্তিতে: আপনার অ্যাপ ম্যানিফেস্টে
<meta-data android:name= "delivery_metrics_exported_to_big_query_enabled" android:value="false"/>
নির্দেশিকা যোগ করুন। - একটি অ্যাপ উদাহরণের ভিত্তিতে: অ্যাপের উদাহরণের জন্য, নির্দিষ্ট ব্যবহারের ক্ষেত্রে নির্ভর করে আপনার অ্যাপের UI ফ্লোতে
fun setNotificationDelegationEnabled(disable: Boolean): Task<Void!>
সেট করুন। - প্রতি-বার্তার ভিত্তিতে: প্রেরণের অনুরোধের জন্য
AndroidNotification
অবজেক্টেDENY
তেproxy
কী সেট করুন।
অ্যান্ড্রয়েডে বার্তা বঞ্চিতকরণ পরিমাপ করা হচ্ছে
স্বতন্ত্র বার্তা। ডেলিভারির সময়, আপনি getOriginalPriority () থেকে, getPriority () থেকে, তার আসল অগ্রাধিকারের সাথে, বিতরণ করা অগ্রাধিকারের তুলনা করে একটি পৃথক বার্তা বঞ্চিত হয়েছে কিনা তা নির্ধারণ করতে পারেন।
সমস্ত বার্তা. FCM এগ্রিগেট ডেলিভারি ডেটা এপিআই রিপোর্ট করতে পারে যে Android-এ আপনার সমস্ত বার্তাগুলির কত শতাংশ বঞ্চিত হচ্ছে। সামগ্রিক ডেটা রিপোর্ট থেকে কিছু বার্তা বাদ দেওয়া হতে পারে, তবে সামগ্রিকভাবে তাদের বার্তা বঞ্চনার হারের একটি বিশ্বব্যাপী দৃষ্টিভঙ্গি দেওয়া উচিত। আরও তথ্যের জন্য সমষ্টিগত ডেলিভারি ডেটার উপর আমাদের নিবন্ধটি দেখুন এবং API জিজ্ঞাসা করার জন্য নমুনা কোড; এটি API এক্সপ্লোরার থেকেও অন্বেষণ করা যেতে পারে।
প্রক্সি বিজ্ঞপ্তি। বর্তমান FCM বা GA ডেলিভারি মেট্রিক্সে প্রক্সি করা বিজ্ঞপ্তিগুলিকে গণনা করা হবে না, তাই আপনি বিজ্ঞপ্তি ডেলিভারি মেট্রিক্সে 15% পর্যন্ত হ্রাস পেতে পারেন। প্রক্সি মেসেজ রিপোর্ট করার জন্য, FCM এগ্রিগেট ডেলিভারি ডেটা API ব্যবহার করুন।
ProxyNotificationInsightPercents
সফলভাবে প্রক্সি করা বিজ্ঞপ্তিগুলির শতাংশের পাশাপাশি সফলভাবে প্রক্সি করা যায়নি এমন বার্তাগুলির বিশদ বিবরণ দেয়৷
সমস্যা সমাধান
নিশ্চিত করুন যে আপনার অ্যাপ ইনস্ট্যান্সে বিজ্ঞপ্তিগুলি সক্ষম করা আছে। ব্যবহারকারী আপনার অ্যাপের জন্য বিজ্ঞপ্তির অনুমতি অক্ষম করে থাকলে, আপনার কোনো বিজ্ঞপ্তি পোস্ট করা হবে না, ফলস্বরূপ, আপনার বার্তাগুলিকে বঞ্চিত করা হবে। একটি অ্যাপ্লিকেশন উদাহরণে উচ্চ অগ্রাধিকার বার্তা পাঠানোর আগে আপনার যাচাই করা উচিত যে বিজ্ঞপ্তিগুলি সক্ষম করা হয়েছে ৷
বিজ্ঞপ্তি পোস্ট করার আগে বাড়িতে ফোন করবেন না। কারণ অ্যান্ড্রয়েড মোবাইল জনসংখ্যার একটি ছোট অংশ উচ্চ লেটেন্সি নেটওয়ার্কে রয়েছে, একটি বিজ্ঞপ্তি প্রদর্শন করার আগে আপনার সার্ভারে একটি সংযোগ খোলা এড়িয়ে চলুন৷ অনুমোদিত প্রক্রিয়াকরণের সময় শেষ হওয়ার আগে সার্ভারে ফিরে কল করা উচ্চ লেটেন্সি নেটওয়ার্কের ব্যবহারকারীদের জন্য ঝুঁকিপূর্ণ হতে পারে। পরিবর্তে, FCM বার্তায় বিজ্ঞপ্তি বিষয়বস্তু অন্তর্ভুক্ত করুন এবং অবিলম্বে এটি প্রদর্শন করুন৷ আপনার যদি Android-এ অতিরিক্ত ইন-অ্যাপ সামগ্রীর জন্য সিঙ্ক করার প্রয়োজন হয়, আপনি পটভূমিতে এটি পরিচালনা করার জন্য WorkManager-এর সাথে একটি কাজ নির্ধারণ করতে পারেন।