يتألف الجانب من جهة الخادم في Firebase Cloud Messaging من مكوّنَين:
- الخادم الخلفي الذي توفّره GoogleFCM
- خادم تطبيقك أو بيئة خادم موثوق بها أخرى يتم فيها تشغيل منطق الخادم، مثل وظائف Firebase السحابية أو بيئات السحابة الأخرى التي تديرها Google.
يُرسِل خادم تطبيقك أو بيئة الخادم الموثوق بها طلبات الرسائل إلى الـ FCM الخلفي، الذي يوجّه بعد ذلك الرسائل إلى تطبيقات العميل التي تعمل على أجهزة المستخدمين.
باستخدام بروتوكولات خادم تطبيق Firebase Admin SDK أو FCM، يمكنك إنشاء طلبات الرسائل وإرسالها إلى أنواع الأهداف التالية:
- اسم الموضوع
- الشرط
- الرمز المميّز للتسجيل في FCM
- اسم مجموعة الأجهزة (البروتوكول فقط)
يمكنك إرسال رسائل تتضمّن حمولة إشعار تتألف من حقول محدّدة مسبقًا، أو حمولة بيانات تتألف من حقول محدّدة من قِبل المستخدم، أو رسالة تحتوي على كلا النوعَين من الحمولة. لمزيد من المعلومات، يُرجى الاطّلاع على مقالة أنواع الرسائل.
متطلبات بيئة الخادم الموثوق بها
يجب أن تستوفي بيئة خادم تطبيقك المعايير التالية:
- القدرة على إرسال طلبات الرسائل المنسّقة بشكل صحيح إلى FCM الخادم الخلفي.
- القدرة على معالجة الطلبات وإعادة إرسالها باستخدام التراجع الدليلي
- القدرة على تخزين بيانات اعتماد تفويض الخادم ورموز تسجيل العميل بشكل آمن
بيانات الاعتماد المطلوبة لمشروع Firebase
بناءً على ميزات FCM التي تنفّذها، قد تحتاج إلى بيانات الاعتماد التالية من مشروعك على Firebase:
| بيانات الاعتماد | الوصف |
|---|---|
| رقم تعريف المشروع | معرّف فريد لمشروع Firebase الخاص بك، يُستخدَم في الطلبات الموجّهة إلى FCM نقطة نهاية HTTP لإصدار v1. تتوفّر هذه القيمة في Firebase وحدة التحكّم الإعدادات في لوحة. |
| رمز التسجيل | سلسلة رموز مميّزة فريدة تحدّد كل مثيل من تطبيقات العميل يكون رمز التسجيل مطلوبًا لإرسال الرسائل إلى مثيل تطبيق واحد ومجموعة أجهزة. يُرجى العِلم أنّه يجب الحفاظ على سرية رموز التسجيل. |
| معرّف المرسِل | قيمة عددية فريدة يتم إنشاؤها عند إنشاء مشروع Firebase، وتتوفّر في علامة التبويب Cloud Messaging في وحدة التحكّم Firebase في لوحة الإعدادات معرّف المرسِل هو نفسه رقم المشروع. يُستخدَم معرّف المرسِل لتحديد كل مرسِل يمكنه إرسال رسائل إلى تطبيق العميل. |
| رمز الدخول | رمز OAuth 2.0 قصير الأجل يفوّض الطلبات الموجّهة إلى HTTP v1 API يرتبط هذا الرمز بحساب خدمة يخص مشروع Firebase. لإنشاء رموز الدخول وتغييرها، اتّبِع الخطوات الموضّحة في تفويض طلبات الإرسال. |
اختيار خيار الخادم
عليك تحديد طريقة للتفاعل مع FCM الخوادم: إما باستخدام Firebase Admin SDK أو الـ FCM HTTP v1 API. إنّ Firebase Admin SDK هي الطريقة المقترَحة لأنّها تتيح استخدام لغات البرمجة الشائعة وتوفّر طرقًا سهلة لمعالجة المصادقة والتفويض.
تشمل خيارات التفاعل مع FCM خوادم ما يلي:
Firebase Admin SDK، التي تتيح استخدام Node و Java و Python و C# و Go.
FCM HTTP v1 API، وهي واجهة برمجة تطبيقات REST API تتضمّن تفويضًا آمنًا وإمكانات مرنة لإرسال الرسائل من عدّة منصات (تستند Firebase Admin SDK إلى هذا البروتوكول وتوفّر جميع مزاياه الأساسية).
Firebase Admin SDK
تتولى Firebase Admin SDK عملية المصادقة مع الخادم الخلفي وتسهّل إرسال الرسائل وإدارة الاشتراكات في المواضيع. باستخدام Firebase Admin SDK، يمكنك إجراء ما يلي:
- إرسال الرسائل إلى مثيلات التطبيقات الفردية
- إرسال الرسائل إلى المواضيع وعبارات الشرط التي تطابق موضوعًا واحدًا أو أكثر
- إرسال الرسائل إلى مجموعات الأجهزة
- الاشتراك في المواضيع وإلغاء الاشتراك فيها لمثيلات التطبيقات
- إنشاء حمولات الرسائل المخصّصة لمنصات مختلفة
لإعداد Firebase Admin SDK، يُرجى الاطّلاع على مقالة إضافة Firebase Admin SDK إلى خادمك. إذا كان لديك مشروع Firebase، ابدأ بـ إضافة حزمة تطوير البرامج (SDK). تأكَّد أيضًا من تفعيل Firebase Cloud Messaging API (الإصدار 1) في صفحة إعدادات مراسلة Firebase السحابية لمشروعك. بعد تثبيت Firebase Admin SDK، يمكنك البدء في كتابة المنطق لـ إنشاء طلبات الإرسال.
FCM HTTP v1 API
FCM توفّر FCM واجهة HTTP v1 API للمطوّرين الذين يفضّلون استخدام بروتوكول خادم غير معالج.
لإرسال رسالة، يُرسِل خادم التطبيق طلب POST يتضمّن عنوان HTTP ونص HTTP يتألف من أزواج قيم ومفاتيح JSON. لمعرفة التفاصيل حول خيارات العنوان و النص، يُرجى الاطّلاع على مقالة إرسال رسالة باستخدام FCM HTTP v1 API.