به‌روزرسانی‌های بی‌درنگ در برنامه‌های افزودنی

به روز رسانی های بلادرنگ یک مسیر ارتباطی فوری از سرورهای شما به طور مستقیم به نصب برنامه های افزودنی شما فراهم می کند. شما می توانید داده ها را به عنوان رویدادها ارسال و دریافت کنید. این که آیا از آن برای پیام‌رسانی فوری، راه‌اندازی کارهای پس‌زمینه یا همگام‌سازی داده‌های دستگاه استفاده می‌کنید، با تعدادی از سرویس‌های مدرن یک عملیات حیاتی است. تعدادی گزینه برای برقراری ارتباط بلادرنگ در برنامه های افزودنی کروم وجود دارد.

  • Web Push یا Push API یک استاندارد وب است که به شما امکان می‌دهد پیام‌هایی را در برنامه‌های افزودنی Chrome از هر ارائه‌دهنده Push یا حتی با سرور وب خود ارسال و دریافت کنید.
  • chrome.gcm یک API ویژه برنامه افزودنی قدیمی است که به شما امکان می دهد با استفاده از Firebase Cloud Messaging پیام ارسال و دریافت کنید.
  • WebSockets یک پروتکل سطح پایین است که به شما امکان می دهد یک اتصال دوطرفه بین برنامه افزودنی کروم و سرور خود باز کنید.

سناریوهای رایج

در اینجا چند سناریو متداول در برنامه‌های افزودنی Chrome وجود دارد که در آن‌ها ارتباط بی‌درنگ حیاتی است:

کاربران را با تغییرات به روز نگه دارید.

اگر فایل‌ها، تنظیمات یا سایر اطلاعات را بین چند کاربر همگام‌سازی می‌کنید، Web Push بهترین راه برای ارسال به‌روزرسانی‌های بی‌صدا به برنامه افزودنی شما است تا به آن اطلاع دهد که وضعیت را از سرور به‌روزرسانی کند.

آیا به کاربران اجازه می‌دهید اشکالات یا مشکلات را گزارش کنند؟ می‌توانید با یک ارائه‌دهنده Push ادغام کنید تا به محض اینکه به‌روزرسانی را برای اشتراک‌گذاری مستقیماً در برنامه افزودنی خود دارید، به آنها اطلاع دهید.

ارسال نوتیفیکیشن به کاربران

در حالی که می‌توانید اعلان‌ها را کاملاً در سمت مشتری ارسال کنید، اگر منطق سمت سرور دارید که چه کسی، چه چیزی، کجا یا چه زمانی یک اعلان ارسال کنید، از Web Push بهترین گزینه برای اثبات آینده است.

برای ارسال پیام تنها به زیرمجموعه ای از کاربران، Push بهترین انتخاب است. در حالی که Firebase Cloud Messaging موضوعاتی را ارائه می‌کند (که به عنوان کانال نیز شناخته می‌شود)، فقط در HTTP Cloud Messaging API آنها موجود است. این با نسخه قدیمی که chrome.gcm استفاده می کند متفاوت است. اگر می‌خواهید برای همه کاربران، از جمله کاربران نسخه‌های قدیمی Chrome (قبل از Chrome 121) پیام‌های گسترده ارسال کنید، chrome.gcm گزینه ایده‌آلی است. chrome.gcm که بر اساس APIهای پیام‌رسانی Legacy Firebase ساخته شده است، بیش از یک دهه است که در Chrome پشتیبانی می‌شود.

می‌توانید از Web Push یا chrome.gcm برای ارسال اعلان‌ها به کاربران هنگام وقوع اتفاق مهمی برای حسابشان، مانند زمانی که پیام جدیدی می‌رسد یا زمانی که فایلی به اشتراک گذاشته می‌شود، استفاده کنید.

پیام رسانی فوری

آیا به ارتباط مکرر و دو طرفه نیاز دارید؟ سپس یک سوکت وب ممکن است بهترین گزینه برای شما باشد. این یک اتصال دو طرفه بین برنامه افزودنی و سرور شما (یا حتی مستقیماً برای سایر کاربران) باز می کند. به شما امکان می دهد داده ها و پیام ها را در زمان واقعی مبادله کنید. در حالی که آنها به طور کلی یک گزینه عالی در وب هستند، آنها محدودیت هایی با برنامه های افزودنی دارند که اگر قصد استفاده از آنها را دارید باید در نظر داشته باشید.

در ادامه این راهنما نگاهی دقیق تر به گزینه های موجود خواهیم داشت.

اعلان‌های فشاری با Push API

با استفاده از Push API می توانید از هر ارائه دهنده Push برای ارسال اعلان ها و پیام های فشار استفاده کنید. فشار از Push API به محض دریافت توسط سرویس دهنده شما پردازش می شود. اگر برنامه افزودنی به حالت تعلیق درآمده باشد، یک فشار آن را دوباره بیدار می کند. فرآیند استفاده از آن در برنامه های افزودنی دقیقاً مشابه همان چیزی است که از آن در وب باز استفاده می کنید.

اعلان‌های فشاری با chrome.gcm

chrome.gcm API اتصال مستقیم به Firebase Cloud Messaging (FCM) را فراهم می‌کند، سرویسی برای ارسال به‌روزرسانی‌های بلادرنگ به برنامه‌های کاربردی وب و برنامه‌های تلفن همراه. این یک API برنامه افزودنی خاص کروم است که سال ها قبل از در دسترس بودن Push در مرورگرها اضافه شده است. با استفاده از APIهای قدیمی HTTP Firebase (اکنون منسوخ شده) ساخته شده است. در حالی که این API ها در جاهای دیگر منسوخ شده اند، اما در برنامه های افزودنی منسوخ نمی شوند . آنها برای آینده قابل پیش بینی به کار خود ادامه خواهند داد. با این حال، از آنجایی که این پشتیبان فشار قدیمی است، فاقد ویژگی هایی مانند موضوعات است.

در حالی که یک سرویس پشتیبان FCM برای دسترسی به کاربران در Chrome برای اعلان‌ها الزامی سخت است، برای ارسال پیام نیازی به استفاده از chrome.gcm ندارید. همه ارائه دهندگان Push می توانند با استفاده از وب Push پیام ها و رویدادها را به یک حساب Firebase ارسال و دریافت کنند. در حالی که این هنوز یک API برنامه افزودنی Chrome به طور کامل پشتیبانی می شود، بهترین کار این است که استانداردهای وب مانند Push API را به برنامه های افزودنی خاص مانند این ترجیح دهید. اگر کیس استفاده شما با chrome.gcm به بهترین وجه ارائه می شود، نحوه تنظیم دقیق chrome.gcm از ابتدا وجود دارد.

پیام های زمان واقعی با WebSockets

WebSockets سنگ بنای پیام رسانی بلادرنگ در وب برای بیش از یک دهه بوده است. آنها گزینه اصلی برای رویدادهای بلادرنگ در وب بوده اند و یک مکالمه مداوم و دو طرفه را ارائه می دهند. WebSockets در انواع مؤلفه های برنامه افزودنی کار می کند، اعم از اسکریپت های محتوا ، پنجره های بازشو ، پانل های جانبی و یا کارگران خدمات پس زمینه . در حالی که آنها به طور کلی یک گزینه عالی در وب هستند، آنها محدودیت هایی با برنامه های افزودنی دارند که اگر قصد استفاده از آنها را دارید باید در نظر داشته باشید.

برای اعلان‌های فشاری عالی نیست

WebSocket ها در پلتفرم وب اجرا می شوند، به جای استفاده از API پلتفرم افزونه مانند chrome.gcm ، Chrome راهی برای بیدار کردن برنامه افزودنی شما در هنگام شروع اتصال Websocket خارج از برنامه افزودنی شما ندارد.

فقط اتصالات فعال

Chrome پس از 30 ثانیه افزونه هایی را که استفاده نمی شوند به حالت تعلیق در می آورد. تعدادی از روش‌های اکتشافی برای تعیین اینکه آیا برنامه افزودنی در حال استفاده است یا خیر وارد کروم می‌شود که یکی از آنها اتصال WebSocket فعال است. Chrome افزونه‌ای را که در 30 ثانیه گذشته پیام WebSocket ارسال یا دریافت کرده است، معلق نمی‌کند. اگر از WebSockets در برنامه افزودنی خود استفاده می‌کنید و باید اطمینان حاصل کنید که این برنامه پیش از موعد بسته نشده است، می‌توانید پیام ضربان قلب برای حفظ اتصال ارسال کنید. این شامل ارسال پیام‌های دوره‌ای به سرور است که به آن و کروم اطلاع می‌دهد که هنوز فعال هستید. نمونه ای از نحوه زنده نگه داشتن یک وب سوکت به طور نامحدود در اسناد WebSocket ما موجود است.