استخدام مراسلة Firebase السحابية (FCM) مع browser.gcm

يمكنك إرسال الرسائل وتلقّيها من المستخدمين النهائيين باستخدام browser.gcm. وبما أنّها تستند إلى مراسلة Firebase السحابية ‏ (FCM)، فإنّها تعتمد على خدمة خارجية عليك إعدادها. يوضّح لك هذا الدليل جميع الخطوات اللازمة لتفعيلها في الإضافة.

مع أنّ browser.gcm لا يزال متوافقًا، إلا أنّه أُنشئ قبل أكثر من عقد من الزمن قبل ظهور معيار Push. بشكل عام، من الأفضل دائمًا استخدام معيار الويب بدلاً من واجهة برمجة تطبيقات خاصة بإضافة. ننصحك باستخدام Push ما لم يكن لديك حاجة محدّدة لاستخدام browser.gcm.

المتطلبات الأساسية

لاستخدام browser.gcm، عليك إعداد حساب على Firebase.

صفحة Firebase.com الرئيسية
الصفحة الرئيسية لموقع Firebase.com

بعد إنشاء حساب، عليك فتح وحدة تحكّم Firebase واختيار مشروع حالي لاستخدامه أو إنشاء مشروع جديد خاص بالإضافة.

لقطة شاشة لقوائم المشاريع في "وحدة تحكّم Firebase"
قوائم المشاريع في وحدة تحكّم Firebase

انتقِل إلى صفحة الإعدادات لخدمة "المراسلة السحابية".

لقطة شاشة لصفحة إعدادات "مراسلة Firebase السحابية"
صفحة إعدادات "مراسلة Firebase السحابية"

إذا كان لديك حساب حالي للمراسلة عبر السحابة الإلكترونية في هذا المشروع، عليك نسخ معرّف المرسل الرقمي المُدرَج.

إذا لم تكن خدمة المراسلة عبر السحابة الإلكترونية مفعّلة، عليك تفعيل واجهة برمجة التطبيقات Firebase Cloud Messaging للمشروع داخل Google Cloud. في الصورة التالية، يمكنك الاطّلاع على مكان ظهور رابط يؤدي مباشرةً إلى هذه الصفحة في إعدادات Firebase.

لقطة شاشة لموقع الرابط لتفعيل Firebase Messaging API في Google Cloud
فتح رابط إعدادات Google Cloud في Firebase

بعد تفعيلها، ارجع إلى صفحة الإعدادات في Cloud Messaging، وانسخ رقم تعريف المرسِل.

ضبط browser.gcm

بعد الحصول على رقم تعريف المرسِل من Firebase، يمكنك ضبط الإضافة للاستماع إلى الرسائل. في البداية، تأكَّد من إضافة إذن gcm إلى manifest.json الإضافة.

  {
    "manifest_version": 3,
    ...
    "permissions": ["gcm"]

يمكنك الآن الوصول إلى واجهة برمجة التطبيقات browser.gcm. يمكنك التسجيل لتلقّي رسائل الدفع من خلال استدعاء browser.gcm.register

الاستماع إلى الرسائل

بعد أن تسجّل الإضافة معرّف المُرسِل، عليك إضافة رمز للتعامل مع الرسائل الواردة.

Firebase بدون Firebase

على الرغم من أنّ browser.gcm يمرّ دائمًا عبر Firebase، يمكن ضبط Firebase ليعمل كخادم وكيل لمورّدي خدمات الرسائل الترويجية الخارجية. عادةً ما يدرج المورّدون صراحةً إمكانية استخدام إضافات Chrome، ولكن من المفترض أن يعمل أي مورّد يتيح استخدام إشعارات Firebase القديمة. إذا كان الموفِّر يتيح استخدام الإشعارات الفورية القديمة من Firebase، يمكنك تجربة ذلك. في حال مواجهة أي مشاكل، من المفترض أن يتمكّن فريق الدعم لدى مقدّم الخدمة من توضيح أي قيود مفروضة.

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

يستخدم browser.gcm واجهات برمجة التطبيقات القديمة لخدمة "المراسلة الفورية من Firebase". هذا مهم لأنّ واجهة برمجة التطبيقات القديمة لا تتوافق مع قنوات الرسائل. سيتم إرسال كل رسالة تم إرسالها إلى كل عميل. إذا كانت إضافة المستخدم مهتمة فقط بمجموعة فرعية من الرسائل، عليك إجراء عملية الفلترة بنفسك.

على الرغم من أنّ Firebase يبدأ كحساب مجاني، سيتم تحصيل رسوم منك عند تجاوز حدّ معيّن للاستخدام. إذا كنت تخطّط لإرسال رسائل إلى مجموعات معيّنة، قد ينتهي بك الأمر إلى دفع تكلفة أعلى من اللازم مقابل فلترة الرسائل من جهة العميل. يمكنك حلّ هذه المشكلة من خلال إنشاء مشاريع متعددة لتكرار القنوات الفردية (مشروع واحد ومعرّف مرسل واحد لكل قناة). يمكن لأي إضافة معيّنة التسجيل للحصول على عدة معرّفات مرسلين، يصل عددها إلى 100.

بدلاً من ذلك، إذا كنت بحاجة إلى دعم القنوات أو أردت استخدام الإشعارات الفورية بدون المرور عبر Firebase، يمكنك استخدام Push API.