توفّر التحديثات في الوقت الفعلي مسارًا فوريًا للتواصل من خوادمك مباشرةً إلى عمليات تثبيت الإضافة. يمكنك إرسال البيانات واستلامها عند وقوع الأحداث. سواءً كنت تستخدمها للمراسلة الفورية أو لتشغيل مهام في الخلفية أو لمزامنة بيانات الجهاز، فهي عملية مهمة في عدد من الخدمات الحديثة. هناك عدد من الخيارات للتواصل في الوقت الفعلي في إضافات Chrome.
- Web Push أو Push API هو معيار ويب يتيح لك إرسال الرسائل واستلامها في إحدى إضافات Chrome من أي مزوّد خدمة Push أو حتى من خادم الويب الخاص بك.
- chrome.gcm هي واجهة برمجة تطبيقات قديمة خاصة بالإضافات تتيح لك إرسال الرسائل واستلامها باستخدام خدمة "مراسلة Firebase السحابية".
- WebSockets هو بروتوكول منخفض المستوى يتيح لك فتح اتصال ثنائي الاتجاه بين إضافة Chrome وخادمك.
السيناريوهات الشائعة
في ما يلي بعض السيناريوهات الشائعة في إضافات Chrome التي يكون فيها التواصل في الوقت الفعلي مهمًا:
إبقاء المستخدمين على اطّلاع على التغييرات
إذا كنت تعمل على مزامنة الملفات أو الإعدادات أو غير ذلك من المعلومات بين عدة مستخدمين، فإنّ Web Push هي الطريقة المثالية لإرسال تحديثات صامتة إلى إضافتك لإعلامها بتعديل الحالة من الخادم.
هل تسمح للمستخدمين بالإبلاغ عن الأخطاء أو المشاكل؟ يمكنك التكامل مع مزوّد خدمة Push لإعلامه فور توفّر تحديث لمشاركته، مباشرةً في إضافتك.
إرسال الإشعارات إلى المستخدمين
على الرغم من أنّه يمكنك إرسال الإشعارات من جهة العميل فقط، إذا كان لديك منطق من جهة الخادم لتحديد من يجب إرسال إشعار إليه وما هو الإشعار ومتى وأين يجب إرساله، فإنّ Web Push هو الخيار الأكثر ملاءمة للمستقبل.
لإرسال الرسائل إلى مجموعة فرعية فقط من المستخدمين، فإنّ Push هو الخيار الأفضل.
على الرغم من أنّ خدمة مراسلة Firebase السحابية توفّر المواضيع (المعروفة أيضًا باسم القنوات)، فإنّها متاحة فقط في واجهة برمجة التطبيقات HTTP Cloud Messaging API. يختلف ذلك عن الإصدار القديم الذي تستخدمه chrome.gcm. إذا أردت إرسال رسائل واسعة النطاق إلى جميع المستخدمين، بما في ذلك المستخدمون الذين يستخدمون إصدارات Chrome القديمة (الإصدارات السابقة للإصدار 121 من Chrome)، فإنّ chrome.gcm هي الخيار المثالي. استنادًا إلى واجهات برمجة التطبيقات القديمة للمراسلة من Firebase، تم توفير chrome.gcm في Chrome لأكثر من عقد من الزمان.
يمكنك استخدام Web Push أو chrome.gcm لإرسال إشعارات إلى المستخدمين عند حدوث أمر مهم في حساباتهم، مثل وصول رسالة جديدة أو مشاركة ملف.
المراسلة الفورية
هل تحتاج إلى تواصل متكرر وثنائي الاتجاه؟ قد يكون مقبس الويب هو الخيار الأفضل لك. يفتح مقبس الويب اتصالاً ثنائي الاتجاه بين إضافتك وخادمك (أو حتى مباشرةً مع مستخدمين آخرين). يتيح لك تبادل البيانات والرسائل في الوقت الفعلي. على الرغم من أنّها خيار رائع على الويب بشكلٍ عام، فإنّها تتضمّن بعض القيود مع الإضافات التي يجب أن تأخذها في الاعتبار إذا كنت تخطط لاستخدامها.
في بقية هذا الدليل، سنلقي نظرة فاحصة على الخيارات المتاحة.
الإشعارات الفورية باستخدام Push API
باستخدام Push API، يمكنك استخدام أي مزوّد خدمة Push لإرسال الإشعارات والرسائل الفورية. ستتم معالجة الإشعار الفوري من Push API بواسطة عامل الخدمة فور استلامه. إذا تم تعليق الإضافة، سيؤدي الإشعار الفوري إلى إعادة تشغيلها. تكون عملية استخدامه في الإضافات هي نفسها تمامًا كما لو كنت تستخدمه على الويب المفتوح.
الإشعارات الفورية باستخدام chrome.gcm
توفر واجهة برمجة التطبيقات chrome.gcm اتصالاً مباشرًا بخدمة "المراسلة عبر السحابة الإلكترونية من Firebase" (FCM)، وهي خدمة لإرسال التحديثات في الوقت الفعلي إلى تطبيقات الويب وتطبيقات الأجهزة الجوّالة. هذه واجهة برمجة تطبيقات خاصة بإضافات Chrome تمت إضافتها قبل سنوات عديدة من توفّر Push في المتصفّحات. تم إنشاؤها باستخدام واجهات برمجة التطبيقات القديمة عبر HTTP من Firebase (التي تم إيقافها الآن) . على الرغم من أنّه تم إيقاف واجهات برمجة التطبيقات هذه في أماكن أخرى، لم يتم إيقافها في الإضافات. ستستمر في العمل في المستقبل المنظور. ومع ذلك، بما أنّ هذه هي الواجهة الخلفية القديمة للإشعارات الفورية ، فإنّها تفتقر إلى ميزات مثل المواضيع.
على الرغم من أنّ خدمة الواجهة الخلفية لخدمة "مراسلة Firebase السحابية" هي شرط أساسي لوصول الإشعارات إلى المستخدمين في Chrome، ليس عليك استخدام chrome.gcm لإرسال الرسائل.
يمكن لجميع مزوّدي خدمة Push إرسال الرسائل والأحداث واستلامها إلى حساب Firebase باستخدام Web Push. على الرغم من أنّ هذه لا تزال واجهة برمجة تطبيقات متوافقة تمامًا مع إضافات Chrome، فإنّ أفضل الممارسات هي تفضيل معايير الويب، مثل
Push API، على المعايير الخاصة بالإضافات، مثل هذه الواجهة. إذا كان أفضل خيار لحالة الاستخدام هو chrome.gcm، يمكنك الاطّلاع على دليل مفصّل حول كيفية إعداد chrome.gcm من البداية.
الرسائل في الوقت الفعلي باستخدام WebSockets
كانت WebSockets حجر الزاوية في المراسلة في الوقت الفعلي على الويب لأكثر من عقد من الزمان. كانت الخيار المفضّل للأحداث في الوقت الفعلي على الويب، ما يوفّر محادثة مستمرة وثنائية الاتجاه. تعمل WebSockets في مجموعة متنوعة من مكوّنات الإضافة، سواءً كانت النصوص البرمجية للمحتوى أو النوافذ المنبثقة أو اللوحات الجانبية أو عاملو الخدمة في الخلفية. على الرغم من أنّها خيار رائع على الويب بشكلٍ عام، فإنّها تتضمّن بعض القيود مع الإضافات التي يجب أن تأخذها في الاعتبار إذا كنت تخطط لاستخدامها.
ليست خيارًا رائعًا للإشعارات الفورية
بما أنّ WebSockets تعمل على منصة الويب، بدلاً من استخدام واجهة برمجة تطبيقات لمنصة الإضافات، مثل chrome.gcm، ليس لدى Chrome أي طريقة لإعادة تشغيل إضافتك عند بدء اتصال Websocket خارج إضافتك.
الاتصالات النشطة فقط
يعلّق Chrome الإضافات التي لا يتم استخدامها بعد 30 ثانية. يستخدم Chrome عددًا من الإرشادات لتحديد ما إذا كانت الإضافة "قيد الاستخدام"، وأحد هذه الإرشادات هو اتصال WebSocket نشط. لن يعلّق Chrome إضافة أرسلت أو استلمت رسالة WebSocket في آخر 30 ثانية. إذا كنت تستخدم WebSockets في إضافتك، وتحتاج إلى التأكّد من عدم إغلاقها قبل الأوان، يمكنك إرسال رسالة نبض للحفاظ على الاتصال. يتضمّن ذلك إرسال رسائل دورية إلى الخادم، لإعلامه وإعلام Chrome بأنّك لا تزال نشطًا. يتوفّر مثال على كيفية إبقاء مقبس ويب نشطًا إلى الأبد في مستندات WebSocket.