تعتمد خدمة "إرسال الرسائل إلى الأجهزة الجوّالة من Google" على المجموعة التالية من المكوّنات التي تُنشئ الرسائل وتنقلها وتتلقّاها:
أدوات لإنشاء طلبات الرسائل أو إنشائها يقدّم "أداة إنشاء الإشعارات" خيارًا مستندًا إلى واجهة مستخدم لإنشاء طلبات الإشعارات. للحصول على التشغيل الآلي الكامل ودعم جميع أنواع الرسائل، يجب إنشاء طلبات الرسائل في بيئة خادم موثوق بها تتوافق مع حزمة تطوير البرامج (SDK) للمشرف في Firebase أو بروتوكول خادم خدمة المراسلة عبر السحابة الإلكترونية من Firebase. يمكن أن تكون هذه البيئة هي "وظائف السحابة الإلكترونية لبرنامج Firebase" أو App Engine أو خادم تطبيقك.
واجهة FCM الخلفية التي تقبل طلبات الرسائل (من بين وظائف أخرى) تُنفِّذ توزيع الرسائل عبر المواضيع، وتُنشئ البيانات الوصفية للرسائل، مثل معرّف الرسالة.
طبقة النقل على مستوى النظام الأساسي، التي تُوجّه الرسالة إلى الجهاز المستهدَف، وتعالج تسليم الرسالة، وتطبّق الإعدادات الخاصة بالنظام الأساسي عند الاقتضاء تشمل طبقة النقل هذه ما يلي:
- طبقة النقل في Android (ATL) لأجهزة Android المزوّدة بـ "خدمات Google Play"
- خدمة الإشعارات الفورية في Apple (APNs) لأجهزة Apple
بروتوكول Web Push لتطبيقات الويب
حزمة تطوير البرامج (SDK) للمراسلة عبر السحابة الإلكترونية من Firebase على جهاز المستخدم، حيث يتم عرض الإشعار أو تتم معالجة الرسالة وفقًا لحالة التطبيق في المقدّمة/الخلفية، وأي منطق ذي صلة بالتطبيق
مسار رحلة المستخدِم
- تسجيل الأجهزة لتلقّي الرسائل من ميزة "المراسلة عبر السحابة الإلكترونية من Firebase" يتم تسجيل مثيل لتطبيق العميل لتلقّي الرسائل، ما يؤدي إلى الحصول على رمز تنشيط تسجيل يحدِّد مثيل التطبيق بشكل فريد.
- إرسال الرسائل إلى أسفل السلسلة واستلامها
- إرسال رسالة. يُرسِل خادم التطبيق الرسائل إلى تطبيق العميل:
- يتم إنشاء الرسالة، إما في أداة إنشاء الإشعارات أو في بيئة موثوق بها، ويتم إرسال طلب رسالة إلى الخلفية في Firebase.
- تتلقّى الخلفية في خدمة "إرسال الرسائل الفورية من Google" طلب الرسالة، وتُنشئ معرّف رسالة ومَعلمات بيانات وصفية أخرى، وتُرسِلها إلى طبقة النقل الخاصة بالمنصة.
- عندما يكون الجهاز متصلاً بالإنترنت، يتم إرسال الرسالة إلى الجهاز عبر طبقة النقل الخاصة بالمنصة.
- على الجهاز، يتلقّى تطبيق العميل الرسالة أو الإشعار.
- إرسال رسالة. يُرسِل خادم التطبيق الرسائل إلى تطبيق العميل: