وب پوش نوتیفیکیشن: وقتی کاربر آفلاین باشه چی؟
اگر تازه با وب پوش نوتیفیکیشن آشنا شدهاید، شاید بپرسید وقتی کاربر اینترنت نداشته باشد یا دستگاهش خاموش باشد، چه اتفاقی برای نوتیفیکیشنها میافتد؟ آیا از دست میروند یا بعداً میرسند؟
برای فهم بهتر باید بدانیم این نوتیفیکیشنها با چه فناوریای ارسال میشوند.
بطورکلی راههای مختلفی برای ارسال آنی پیام به کاربری که روی سایت شماست وجود دارد (مثل polling، long polling، وبسوکت و ...). اما تنها فناوریای که میتواند به کاربری که حتی روی سایت شما نیست پیام برساند، وب پوش نوتیفیکیشن (Web Push Notification) است.
این فناوری ترکیبی از Push API، Web Push و Web Notifications است و باعث میشود حتی اگر کاربر در سایت دیگری باشد، باز هم نوتیفیکیشن شما را دریافت کند.
قوانین کارکرد آن به این شکل است:
وضعیت کاربر | نتیجه دریافت نوتیفیکیشن |
کاربر در سایت شماست | نوتیفیکیشن فوراً میرسد |
کاربر در سایت شماست اما کاربر در صفحهای که هست اسکریپت پوشفا در آن وجود ندارد (ایمپورت نشده است) | وب پوش نوتیفیکیشن به کاربر نمایش داده نمیشود! بنابراین ضروریست تا اسکریپت پوشفا را در تمام صفحات سایتتان ایمپورت کنید |
کاربر در سایتهای دیگر است و مرورگر باز است | نوتیفیکیشن فوراً میرسد |
اینترنت روشن است اما مرورگر بسته است * | 📱 موبایل: همان لحظه میرسد 💻 دسکتاپ: بعد از باز شدن مرورگر میرسد |
کاربر اینترنت ندارد یا دستگاه خاموش است | نوتیفیکیشن نگهداشته میشود و بعد از آنلاین شدن تحویل داده میشود |
* لطفا دقت داشته باشید در شرایطی که اینترنت روشن است اما مرورگر بسته است در موبایلهای چینی مثل شیائومی یا هوآوی ممکن است به علت تغییراتی که در سیستم عامل اندروید این برندها داده شده، نوتیفیکیشنها به دست کاربر نرسند. خصوصاً وقتی باتری ضعیف باشد، سیستمعامل نوتیفیکیشن را حذف میکند تا منابع پردازشی به موارد دیگر اختصاص پیدا کند. در این حالت میتوانید به کاربران خود پیشنهاد دهید در تنظیمات گوگل کروم، گزینه بهینهسازی باتری را روی "بدون محدودیت" قرار دهند. اطلاعات بیشتر در این لینک درج شده است.
پس بطورکلی نوتیفیکیشنها در حالت آفلاین گم نمیشوند، فقط دیرتر میرسند. شما کافی است نوتیفیکیشن را به سرویس پوش بفرستید، باقی کار یعنی تحویل بهموقع به عهده همان سرویس است.
یک نکته مهم این است که نوتیفیکیشنها تا چه مدت نگه داشته میشوند. این موضوع با TTL (زمان اعتبار نوتیفیکیشن) مشخص میشود. معمولاً سرویسها میتوانند نوتیفیکیشن را تا حداکثر ۲۸ روز ذخیره کنند. بعد از آن اگر کاربر آنلاین نشده باشد، نوتیفیکیشن حذف میشود. البته شما میتوانید زمان کوتاهتری هم تعیین کنید. در پوشفا میتوانید هنگام ارسال وب پوش نوتیفیکیشن TTL مد نظر خود را تنظیم کنید.
در آخر اگر دنبال یک سرویس مطمئن برای ارسال وب پوش نوتیفیکیشن هستید، میتوانید سرویس ارسال وب پوش نوتیفیکیشن پوشفا (Pushfa) را امتحان کنید؛ چون بر پایه استانداردهای Push API و Web Push ساخته شده و نوتیفیکیشنها را حتی وقتی سایت بسته است، به مقصد میرساند.