شما دو گزینه برای اختصاص دادن اولویت تحویل به پیام های پایین دستی در اندروید دارید: عادی و اولویت بالا. تحویل پیام های عادی و با اولویت بالا به این صورت عمل می کند:
اولویت عادی این اولویت پیشفرض برای پیامهای داده است. پیام های اولویت عادی بلافاصله زمانی که دستگاه در حالت خواب نیست تحویل داده می شود. هنگامی که دستگاه در حالت Doze است، ممکن است تحویل برای صرفه جویی در باتری تا زمانی که دستگاه از حالت Doze خارج شود به تاخیر بیفتد. برای پیامهایی که کمتر به زمان حساس هستند، مانند اعلانهای ایمیل جدید، همگامسازی رابط کاربری خود، یا همگامسازی دادههای برنامه در پسزمینه، اولویت تحویل عادی را انتخاب کنید.
هنگامی که یک پیام اولویت معمولی در Android دریافت میکنید که درخواست همگامسازی دادههای پسزمینه برای برنامه شما میکند، میتوانید یک کار را با WorkManager زمانبندی کنید تا وقتی شبکه در دسترس است، آن را مدیریت کند.
اولویت بالا. FCM سعی میکند پیامهای با اولویت بالا را فوراً ارسال کند، و به FCM اجازه میدهد تا در صورت لزوم یک دستگاه خواب را بیدار کند و برخی پردازشهای محدود (از جمله دسترسی بسیار محدود به شبکه) را اجرا کند. پیامهای با اولویت بالا معمولاً باید منجر به تعامل کاربر با برنامه یا اعلانهای آن شود.
استفاده از پیام های با اولویت بالا برای اندروید
پیامهای با اولویت بالا در Android برای محتوای حساس به زمان و قابل مشاهده توسط کاربر هستند و باید منجر به اعلانهایی برای کاربر شوند. اگر FCM الگویی را تشخیص دهد که در آن پیامها به اعلانهای کاربر منجر نمیشوند، پیامهای شما ممکن است از اولویت عادی برخوردار شوند. FCM هنگام تعیین اولویت بندی پیام ها از 7 روز رفتار پیام استفاده می کند. این تعیین را به طور مستقل برای هر نمونه از برنامه شما انجام می دهد. اگر در پاسخ به پیامهای با اولویت بالا، اعلانها به گونهای نمایش داده شوند که برای کاربر قابل مشاهده باشد، در این صورت پیامهای با اولویت بالا در آینده از اولویت برخوردار نخواهند شد. این امر چه اعلان توسط FCM SDK از طریق یک پیام اعلان نمایش داده شود یا یک اعلان ایجاد شده توسط توسعه دهنده از طریق پیام داده اعمال می شود.
اندازه گیری اولویت بندی پیام در اندروید
پیام های فردی هنگام تحویل، میتوانید با مقایسه اولویت تحویلشده آن، از getPriority() با اولویت اصلیاش، از getOriginalPriority() تعیین کنید که آیا یک پیام فردی اولویتبندی شده است یا خیر.
همه پیام ها API FCM Aggregate Delivery Data میتواند گزارش دهد که چند درصد از همه پیامهای شما به Android در اولویت قرار دارند. برخی از پیامها ممکن است از گزارشهای دادههای انبوه حذف شوند، اما به طور کلی باید دیدی کلی از نرخهای اولویتبندی پیام ارائه دهند. برای اطلاعات بیشتر و کد نمونه برای پرس و جو از API، به مقاله ما در مورد داده های تحویل انبوه مراجعه کنید. همچنین می توان آن را از کاوشگر API کاوش کرد .
عیب یابی
مطمئن شوید که نمونه برنامه شما اعلانها را فعال کرده باشد. اگر کاربر مجوز اعلان برنامه شما را غیرفعال کرده باشد، هیچ یک از اعلانهای شما پست نمیشود، در نتیجه پیامهای شما از اولویت برخوردار میشوند. قبل از ارسال پیام های با اولویت بالا به یک نمونه برنامه، باید بررسی کنید که اعلان ها فعال هستند .
قبل از ارسال اعلان با خانه تماس نگیرید. از آنجایی که بخش کوچکی از جمعیت تلفن همراه اندروید در شبکههای با تأخیر بالا هستند، قبل از نمایش اعلان، از باز کردن اتصال به سرورهای خود اجتناب کنید. تماس مجدد با سرور قبل از پایان زمان پردازش مجاز ممکن است برای کاربران در شبکههای با تأخیر بالا خطرناک باشد. در عوض، محتوای اعلان را در پیام FCM قرار دهید و بلافاصله آن را نمایش دهید. اگر نیاز به همگامسازی برای محتوای درونبرنامه اضافی در Android دارید، میتوانید با WorkManager یک کار را برای مدیریت آن در پسزمینه برنامهریزی کنید.