معلومات في الوقت الفعلي في الإضافات

توفر التحديثات في الوقت الفعلي مسار اتصال فوري من خوادمك مباشرةً إلى عمليات تثبيت الإضافات. يمكنك إرسال البيانات وتلقيها عند حدوث الأحداث. وسواءً كنت تستخدمها للمراسلة الفورية أو تشغيل مهام في الخلفية أو لمزامنة بيانات الجهاز، فإنها عملية بالغة الأهمية بالنسبة إلى عدد من الخدمات الحديثة. هناك العديد من الخيارات لإجراء اتصال في الوقت الفعلي في إضافات Chrome.

  • Web Push أو Push API هي معيار على الويب يتيح لك إرسال الرسائل واستلامها في إضافات Chrome من أي مزوّد خدمة Push أو حتى من خادم الويب الخاص بك.
  • إنّ chrome.gcm واجهة برمجة تطبيقات خاصة بإضافة قديمة تتيح لك إرسال الرسائل واستلامها باستخدام خدمة "المراسلة عبر السحابة الإلكترونية من Firebase".
  • WebSockets هي بروتوكول منخفض المستوى يتيح لك فتح اتصال ثنائي الاتجاه بين إضافة Chrome والخادم.

السيناريوهات الشائعة

في ما يلي بعض السيناريوهات الشائعة في إضافات Chrome التي يكون فيها التواصل في الوقت الفعلي بالغ الأهمية:

إبقاء المستخدمين على اطلاع دائم بالتغييرات.

إذا كنت تجري مزامنة لملفات أو إعدادات أو أجزاء أخرى من المعلومات بين عدة مستخدمين، فإن Web Push هي الطريقة المثالية لإرسال تحديثات صامتة إلى الإضافة لإعلامها بتحديث الحالة من الخادم.

هل تسمح للمستخدمين بالإبلاغ عن الأخطاء أو المشاكل؟ يمكنك الدمج مع مزوّد خدمة Push لإعلامه بالتحديث المطلوب مشاركته مباشرةً من خلال الإضافة.

إرسال الإشعارات إلى المستخدمين

يمكنك إرسال الإشعارات من جهة العميل تمامًا، ولكن إذا كنت تملك منطق الخادم لمعرفة من وماذا وأين ومتى تريد إرسال الإشعارات، فإن Web Push هو الخيار الأكثر إثباتًا في المستقبل.

لإرسال الرسائل إلى مجموعة فرعية فقط من المستخدمين، فإن الإرسال هو الخيار الأفضل. على الرغم من أنّ خدمة "المراسلة عبر السحابة الإلكترونية من Firebase" توفّر Topics (المعروفة أيضًا باسم القنوات)، لا تتوفّر إلّا في HTTP Cloud Messaging API. ويختلف هذا الإصدار عن الإصدار القديم الذي يستخدمه chrome.gcm. إذا كنت تريد إرسال رسائل واسعة إلى جميع المستخدمين، بما في ذلك أولئك الذين يستخدمون إصدارات قديمة من Chrome (الإصدار السابق من Chrome 121)، يكون chrome.gcm هو الخيار المثالي. استنادًا إلى واجهات برمجة التطبيقات القديمة للمراسلة في Firebase، لا يزال chrome.gcm متاحًا في Chrome لأكثر من عشر سنوات.

يمكنك استخدام Web Push أو chrome.gcm لإرسال إشعارات إلى المستخدمين عند حدوث شيء مهم في حساباتهم، مثل وصول رسالة جديدة أو مشاركة ملف.

المراسلة الفورية

هل تحتاج إلى تواصل متكرر بين الطرفين؟ فقد يكون مقبس الويب هو الخيار الأفضل بالنسبة لك. فهو يفتح اتصالاً ثنائي الاتجاه بين إضافتك وخادمك (أو حتى للمستخدمين الآخرين بشكل مباشر). يتيح لك تبادل البيانات والرسائل في الوقت الفعلي. إنّها خيارًا رائعًا على الويب بشكل عام، إلّا أنّها تُفرَض على بعض القيود المتعلّقة بالإضافات التي تحتاج إلى وضعها في الاعتبار إذا كنت تنوي استخدامها.

في الجزء المتبقّي من هذا الدليل، سنلقي نظرة عن كثب على الخيارات المتاحة.

الإشعارات الفورية باستخدام Push API

باستخدام Push API، يمكنك استخدام أيّ مقدِّم خدمة Push لإرسال إشعارات ورسائل. يعالج مشغّل الخدمات دفعة من واجهة برمجة التطبيقات Push فور استلامها. إذا تم تعليق الإضافة، سيؤدي الضغط إلى تنشيطها مرة أخرى. عملية استخدامها في الإضافات هي نفسها العملية التي تستخدمها على الويب المفتوح.

الإشعارات الفورية باستخدام chrome.gcm

توفّر واجهة برمجة التطبيقات chrome.gcm اتصالاً مباشرًا بخدمة "المراسلة عبر السحابة الإلكترونية من Firebase" (FCM)، وهي خدمة لإرسال تعديلات في الوقت الفعلي إلى تطبيقات الويب والتطبيقات المتوافقة مع الأجهزة الجوّالة. هذه واجهة برمجة تطبيقات لإضافة ميزات محدّدة في Chrome تمت إضافتها قبل عدة سنوات من توفُّر Push في المتصفحات. وقد تم إنشاؤها باستخدام واجهات برمجة تطبيقات HTTP القديمة (المتوقّفة الآن) في Firebase. وعلى الرغم من أنّه تم إيقاف واجهات برمجة التطبيقات هذه في مكان آخر، لم يتم إيقافها نهائيًا في الإضافات. سيستمرون في العمل في المستقبل المتوقع. وبما أنّ هذه الواجهة هي الخلفية القديمة، لا تتوفّر فيها ميزات مثل Topics.

على الرغم من أنّ خدمة الخلفية في "المراسلة عبر السحابة الإلكترونية من Firebase" من المتطلّبات الصعبة للوصول إلى الإشعارات للمستخدمين في Chrome، فإنّك لست بحاجة إلى استخدام chrome.gcm لإرسال الرسائل. يمكن لجميع مقدّمي خدمة Push إرسال رسائل وأحداث واستلامها إلى حساب Firebase باستخدام Web Push. على الرغم من أنّ هذه الواجهة لا تزال متوافقة بالكامل مع واجهة برمجة التطبيقات لإضافة Chrome، إلا أنّ أفضل الممارسات هي تفضيل معايير الويب مثل Push API لإضافة معايير محدّدة مثل هذه. إذا كان من الأفضل عرض حالة الاستخدام باستخدام chrome.gcm، يمكنك الاطّلاع على تعليمات تفصيلية حول كيفية إعداد chrome.gcm من البداية.

رسائل في الوقت الفعلي باستخدام WebSockets

كانت WebSockets حجر الزاوية لخدمة المراسلة في الوقت الفعلي على الويب لأكثر من عشر سنوات. لقد كانت الخيار الأمثل للأحداث في الوقت الفعلي على الويب، وتوفير محادثة مستمرة ثنائية الاتجاه. تعمل تقنية WebSockets على مجموعة متنوعة من مكونات الإضافات، سواء كانت نصوصًا للمحتوى أو النوافذ المنبثقة أو اللوحات الجانبية أو العاملين في الخلفية. على الرغم من أنّها خيار رائع على الويب بشكل عام، إلا أنّها تُفرَض بعض القيود على الإضافات التي تحتاج إلى وضعها في الاعتبار إذا كنت تنوي استخدامها.

ليست مناسبة للإشعارات الفورية

يتم تشغيل WebSocket على النظام الأساسي للويب، بدلاً من استخدام واجهة برمجة تطبيقات للنظام الأساسي للإضافة مثل chrome.gcm، لا يستطيع Chrome تنشيط الإضافة عند بدء اتصال Websocket خارج الإضافة.

الاتصالات النشطة فقط

يعلّق Chrome الإضافات التي لا يتم استخدامها بعد 30 ثانية. هناك عدد من الأساليب الإرشادية في Chrome لتحديد ما إذا كانت الإضافة "قيد الاستخدام"، وأحدها هو اتصال WebSocket نشط. لن يعلق Chrome إضافة أرسلت أو تلقت رسالة WebSocket خلال آخر 30 ثانية. إذا كنت تستخدم WebSockets في الإضافة، وتحتاج إلى التأكّد من عدم إغلاقها مبكرًا، يمكنك إرسال رسالة نبضات القلب للحفاظ على الاتصال. ويتضمن هذا إرسال رسائل دورية إلى الخادم، والسماح لكل من الموقع وChrome بمعرفة أنك لا تزال نشطًا. ويتوفر في مستندات WebSocket مثالاً على كيفية الاحتفاظ بـ websocket إلى أجل غير مسمى.