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