چرا پوش نوتیفیکیشن ارسال میشود اما دریافت نمیشود؟
اگر پوش نوتیفیکیشن در وضعیت Sent مانده ولی روی دستگاه نمایش داده نشده، ابتدا مرحلهای را پیدا کنید که در آن مسیر متوقف شده است. پذیرش درخواست توسط سرویس ارسال، دریافت پیام در مرورگر، نمایش روی سیستم و ثبت گزارش چهار اتفاق جدا هستند. نداشتن گزارش تحویل نیز همیشه به معنی نرسیدن پیام نیست؛ باید فعالبودن و پشتیبانی گزارش را بررسی کنید.
Sent و Delivered چه تفاوتی دارند؟
در مسیر ارسال پوشفا، ثبت موفق ارسال در Firebase به معنی نمایش قطعی پوش نوتیفیکیشن نیست. گزارش تحویل در مسیرهایی که پشتیبانی و فعال شدهاند، پس از نمایش موفق ثبت میشود؛ خواندن متن توسط انسان را ثابت نمیکند. اگر گزارش درخواست نشده یا ثبت آن با اختلال مواجه شده، نبودن Delivered را بهتنهایی معیار نرسیدن قرار ندهید.
مشکل را بهترتیب بررسی کنید
| پرسش | بررسی پیشنهادی |
|---|---|
| مخاطب در ارسال بوده است؟ | عضویت در تاپیک یا سگمنت، اعتبار اشتراک و گیرنده همان پیام را بررسی کنید. |
| ارسال واقعاً انجام شده است؟ | زمانبندی، وضعیت صف و پاسخ خطا را ببینید؛ پیام در صف هنوز ارسال نشده است. |
| مجوز فعال است؟ | مجوز سایت در مرورگر و تنظیمات پوش نوتیفیکیشن در سیستمعامل را جداگانه بررسی کنید. |
| دستگاه به شبکه متصل است؟ | شبکه و دسترسی به سرویس پوش مربوط را بررسی کنید؛ بازشدن سایت بهتنهایی کافی نیست. |
| پیام هنوز معتبر است؟ | زمان ارسال و TTL را با زمان آنلاینشدن دستگاه مقایسه کنید. |
| گزارش فعال بوده است؟ | تنظیم گزارش و امکان ارسال تأیید نمایش از دستگاه را بررسی کنید. |
بهتر است با یک دستگاه و یک اشتراک آزمایشی مشخص شروع کنید. تغییر همزمان شبکه، مرورگر و سرویس تشخیص علت را دشوار میکند. اگر فقط یک گروه مشکل دارد، نسخه مرورگر، نوع دستگاه و زمان رخداد را مقایسه کنید.
وب پوش در آیفون و آیپد پشتیبانی میشود، با شرایط مشخص
این گزاره که وب پوش روی همه دستگاههای iOS غیرممکن است درست نیست. از iOS و iPadOS نسخه ۱۶٫۴، وباپ افزودهشده به Home Screen میتواند پس از اقدام مستقیم کاربر مجوز دریافت بگیرد. کاربر باید وباپ را از آیکن نصبشده باز کند؛ تب معمولی سایت بهتنهایی این مسیر را کامل نمیکند. این شرایط در توضیح رسمی WebKit آمده است.
افزودن به صفحه اصلی، دادن مجوز و ثبت اشتراک سه مرحله جدا هستند. اگر عضویت انجام نمیشود، هر مرحله را بررسی کنید. تنظیمات Focus و پوش نوتیفیکیشن سیستم نیز ممکن است نحوه نمایش را تغییر دهند. برای مراحل نصب و رفع خطای اختصاصی به راهنمای وب پوش آیفون مراجعه کنید.
بستهبودن مرورگر و خطاهای نمایش
بستهبودن صفحه سایت با خروج کامل از مرورگر یکسان نیست. وب پوش برای دریافت به بازبودن همان صفحه نیاز ندارد؛ اما اجرای مرورگر، محدودیت پسزمینه و مدیریت باتری دستگاه میتوانند روی دریافت اثر بگذارند. نمیتوان برای همه مرورگرها گفت فقط در Foreground کار میکنند یا پس از بازشدن حتماً تمام پیامها نمایش داده میشوند.
توسعهدهنده باید ثبت worker، scope، پاسخ فایل و خطاهای رویداد push را بررسی کند. آدرس worker نباید صفحه HTML یا ورود برگرداند. اگر تصویر یا آیکن بارگیری نشد، مسیر نمایش متن جایگزین باید کار کند. در نوع پیامهایی که SDK خودش نمایش میدهد، نمایش مجدد توسط کد سفارشی نیز میتواند نتیجه تکراری یا رفتار نامشخص بسازد.
پاککردن همه دادههای مرورگر اولین راهحل نیست؛ این کار میتواند ورود و اشتراک را حذف کند. ابتدا خطا را ثبت کنید. همچنین نمایش در Foreground ممکن است عمداً با تنظیم سرویس محدود شده باشد؛ آن را از خرابی دریافت جدا کنید و محدودیتهای WebKit را در نظر بگیرید.
برای پیگیری چه اطلاعاتی لازم است؟
شناسه پیام و سرویس، زمان ارسال، مدل دستگاه، نسخه سیستم و مرورگر، وضعیت مجوز و نتیجه یک ارسال آزمایشی را آماده کنید. کلید خصوصی و توکن کامل را در فضای عمومی منتشر نکنید. مشخص کنید مشکل در دریافت، نمایش یا صرفاً ثبت گزارش است؛ این تفکیک بررسی را سریعتر میکند.
ادامه مسیر عیبیابی
- دستگاه هنگام ارسال اینترنت نداشته؟ TTL و تحویل در حالت آفلاین
- بهجای متن خودتان پیام عمومی مرورگر دیده میشود؟ پیام This site has been updated in the background
- عمداً نمایش را حذف کردهاید؟ تفاوت Silent Push در وب و اپلیکیشن