«پوش وصل است» میتواند به چند وضعیت متفاوت اشاره کند. شاید پیام درون اپ باز دریافت شود، اما وقتی اپ بسته است هیچ اعلانی در نوار سیستمعامل دیده نشود. برای تشخیص درست، باید صندوق داخلی یا Inbox را از اعلان پسزمینه جدا کنیم. این دو مسیر، پیشنیاز و شیوه نمایش یکسانی ندارند و موفقیت یکی، تأیید دیگری نیست.
Inbox برای چه تجربهای مناسب است؟
در روش Inbox، اپ یا صفحه فعال پیامهای مربوط به نصب را دریافت میکند و رابط شما آنها را نمایش میدهد. این مسیر برای شروع آزمایش اتصال مناسب است؛ توسعهدهنده میتواند ابتدا ثبت نصب، رضایت و دریافت پیام را بدون واردشدن به همه تنظیمات ارائهدهنده پسزمینه بررسی کند.
در این روش، ظاهر پیام را میزبان کنترل میکند. یک کارت در صفحه، فهرست پیامها یا دیالوگ میتواند انتخاب شما باشد. نتیجه callback نمایش باید واقعیت رابط را بیان کند. دریافت داده، بهتنهایی به معنی دیدهشدن پیام توسط کاربر نیست و نباید با ثبت نمایش فرضی همراه شود.
اعلان پسزمینه چه پیشنیازهایی دارد؟
برای اعلان سیستمعامل، پیکربندی واقعی Web Push، FCM یا APNs متناسب با پلتفرم لازم است. شناسه بسته، پروژه ارائهدهنده، توکن دستگاه و تنظیمات نسخه منتشرشده باید با هم هماهنگ باشند. وجود کلاس پوش در SDK، این اتصالها را بهجای مالک اپ ایجاد نمیکند.
در وب، Service Worker باید با قواعد مبدأ سایت هماهنگ باشد. در اپ نیز وضعیت مجوز اعلان سیستمعامل اهمیت دارد. راهاندازی کلاینت را از درخواست اجازه جدا نگه دارید و تنظیمات را روی خروجی واقعی میزبان آزمایش کنید. راهنمای پوش هر پلتفرم مسیر مناسب را مشخص میکند.
یک آزمایش دو مرحلهای طراحی کنید
ابتدا رسانه و جایگاه را تأیید کنید و از پنل کد اختصاصی بگیرید. سپس روی یک نصب آزمایشی، رضایت صریح را ثبت و در حالت بازبودن اپ، پیام Inbox دریافت کنید. عنوان، بدنه و مقصد را بررسی کنید و فقط پس از نمایش واقعی، نتیجه نمایش را گزارش دهید.
در مرحله دوم، ارائهدهنده پسزمینه و مجوزها را تنظیم کنید. حالتهای اپ باز، اپ در پسزمینه و بازشدن اپ از روی اعلان را جداگانه امتحان کنید. محدودیت باتری، تنظیمات دستگاه و وضعیت شبکه میتوانند روی نتیجه اثر بگذارند؛ گزارش هر حالت را مستقل نگه دارید تا علت شکست قابل پیگیری باشد.
شاخصهای گزارش را با هم اشتباه نگیرید
پذیرش پیام توسط ارائهدهنده، رسیدن آن به دستگاه، نمایش در رابط و بازشدن، چهار مفهوم متفاوتاند. اگر فقط شمار پذیرش بالا میرود، هنوز نمیتوان درباره نمایش واقعی نتیجه گرفت. پیادهسازی رسیدهای دستگاه و رفتار callbackها را بررسی کنید.
برای جلوگیری از ثبت تکراری، رویداد را در همان نقطهای گزارش کنید که واقعاً اتفاق افتاده است. لمس کارت پیام با دیدهشدن آن فرق دارد. همچنین توقف دریافت محلی، لغو عضویت سروری و پایان عمر کنترلر، عملیات متفاوتی هستند و نباید بهجای هم استفاده شوند.
آیا Inbox در اپ بسته هم پیام میگیرد؟
Inbox این SDK مسیر دریافت هنگام فعالبودن اپ یا صفحه است. آن را جایگزین سرویس پسزمینه سیستمعامل در نظر نگیرید. برای کاربرد پسزمینه، تنظیمات همان پلتفرم لازم است.
از کدام بخش شروع کنم؟
از «پوش ← اتصال رسانهها» شروع کنید، یک دستگاه آزمایشی مشخص کنید و قبل از ارسال عمومی، معنای شاخصهای پوش را بخوانید. یک نتیجه قابل تکرار از چند ادعای کلی درباره اتصال مفیدتر است.