تقدّم هذه الصفحة مساعدة في تحديد المشاكل وحلّها وإجابات عن الأسئلة الشائعة حول Cloud Messaging.
ما الفرق بين أداة إنشاء الإشعارات وFCM؟
تقدّم Firebase Cloud Messaging مجموعة كاملة من إمكانات المراسلة من خلال حِزم تطوير البرامج (SDK) الخاصة بالعملاء وبروتوكول خادم HTTP. إذا كانت عمليات النشر تتضمّن متطلبات مراسلة أكثر تعقيدًا،
تكون خدمة FCM هي الخيار المناسب.
"أداة إنشاء الإشعارات" هي حلّ خفيف الوزن للمراسلة بدون خادم يستند إلى Firebase Cloud Messaging. من خلال وحدة تحكّم رسومية سهلة الاستخدام ومتطلبات ترميز أقل، تتيح أداة إنشاء الإشعارات للمستخدمين إرسال رسائل لإعادة جذب المستخدمين والاحتفاظ بهم وتعزيز نمو التطبيق ودعم الحملات التسويقية.
| الإمكانات |
|
أداة إنشاء الإشعارات |
Cloud Messaging |
| الهدف |
جهاز واحد |
|
|
|
العملاء المشتركون في مواضيع
(مثل الطقس) |
|
|
|
العملاء في شريحة المستخدمين المحدّدة مسبقًا (التطبيق والإصدار واللغة) |
|
|
|
العملاء في شرائح جمهور محدّدة في "إحصاءات Google" |
|
|
|
العملاء في مجموعات الأجهزة |
|
|
|
من العميل إلى الخادم |
|
|
| نوع الرسالة |
إشعارات تصل إلى 2 كيلوبايت |
|
|
|
رسائل البيانات التي يصل حجمها إلى 4 كيلوبايت |
|
|
| التسليم |
Immediate |
|
|
|
التوقيت المحلي المستقبلي لجهاز العميل |
|
|
| الإحصاءات |
جمع إحصاءات الإشعارات المضمّنة وتحليل مسار الإحالة الناجحة |
|
|
هل يجب استخدام خدمات Firebase الأخرى من أجل استخدام FCM؟
يمكنك استخدام Firebase Cloud Messaging كعنصر مستقل بدون استخدام خدمات Firebase الأخرى.
لماذا يبدو أنّ الأجهزة المستهدَفة لا تتلقّى الرسائل؟
عندما يبدو أنّ الأجهزة لم تتلقَّ الرسائل بنجاح، تحقَّق أولاً من هذين السببَين المحتملَين:
التعامل مع الرسائل التي تظهر في المقدّمة للإشعارات يجب أن تضيف تطبيقات العميل منطق معالجة الرسائل للتعامل مع رسائل الإشعارات عندما يكون التطبيق في المقدّمة على الجهاز. اطّلِع على التفاصيل الخاصة بأجهزة
iOS وAndroid.
القيود المفروضة على جدار حماية الشبكة: إذا كانت مؤسستك تستخدم جدار حماية يقيّد الزيارات من الإنترنت أو إليه، عليك ضبطه للسماح بالاتصال بـ FCM كي تتمكّن تطبيقات عميل Firebase Cloud Messaging من تلقّي الرسائل. المنافذ المطلوب فتحها هي:
يستخدم FCM عادةً الرقم 5228، ولكنّه يستخدم أحيانًا الرقمين 5229 و5230.
لا يوفّر FCM عناوين IP محدّدة، لذا عليك السماح لجدار الحماية بقبول الاتصالات الصادرة لجميع عناوين IP المضمّنة في مجموعات عناوين IP الواردة في رقم النظام المستقل (ASN) 15169 الخاص بـ Google.
لماذا لا يتم استدعاء onMessageReceived في تطبيق Android؟
عندما يكون تطبيقك في الخلفية، يتم عرض رسائل الإشعارات في لوحة النظام، ولا يتم استدعاء onMessageReceived. بالنسبة إلى رسائل الإشعارات التي تتضمّن حمولة بيانات، يتم عرض رسالة الإشعار في علبة النظام، ويمكن استرداد البيانات التي تم تضمينها في رسالة الإشعار من الغرض الذي تم إطلاقه عندما ينقر المستخدم على الإشعار.
لمزيد من المعلومات، يُرجى الاطّلاع على تلقّي الرسائل والتعامل معها.
لماذا يظهر الخطأ 404 عند إرسال رسائل إلى نسخة نشطة من التطبيق تم استعادتها من نسخة احتياطية؟
معرّف التثبيت في Firebase (FID) هو معرّف نسخة التطبيق. يتم تلقائيًا الاحتفاظ بنسخة احتياطية من بيانات تثبيت Firebase واستعادتها. لذلك، في حالة الاستعادة، يتشارك مثيل التطبيق المستعاد ومثيل التطبيق الأصلي معرّف FID نفسه. بما أنّ FCM لا يخزّن سوى رمز مميّز واحد لكل معرّف FID، إذا كان كل من مثيل التطبيق الأصلي ومثيل التطبيق الذي تم استعادته قيد الاستخدام، وعندما يسجّل أحد مثيلَي التطبيق باستخدام FCM، تتم إزالة الرمز المميّز لمثيل التطبيق الآخر، ما يؤدي إلى حدوث أخطاء 404.
ننصح المطوّرين باتّخاذ الإجراءات التالية في تطبيقاتهم:
- استبعاد
بيانات تثبيت Firebase من النسخة الاحتياطية يتم تخزين بيانات تثبيت Firebase في ملف
PersistedInstallation....json. اسم الملف هو قيمة ثابتة لأحد التطبيقات، مثل <exclude domain="file" path="PersistedInstallation.W0R...GQ.json"
/>
أعلنت Apple عن إيقاف بروتوكول APNs الثنائي القديم نهائيًا. هل عليّ اتّخاذ أي إجراء؟
لا، Firebase Cloud Messaging تم التبديل إلى بروتوكول APNs المستند إلى HTTP/2 في عام 2017.
إذا كنت تستخدم FCM لإرسال إشعارات إلى أجهزة iOS، ليس عليك اتّخاذ أي إجراء.
حصص واستخدام FCM
كيف يمكنني إرسال إشعار إلى قاعدة عملاء كبيرة خلال دقيقتَين؟
لا يمكننا توفير الدعم لحالة الاستخدام هذه. يجب توزيع عدد الزيارات على مدار 5 دقائق.
يُرسل تطبيقي إشعارات للمستخدمين بشأن الأحداث، ويجب تسليم هذه الرسائل على الفور لدعم نموذج عملي. هل يمكنني الحصول على حصة أكبر؟
لا يمكننا الموافقة على طلبات زيادة الحصة لهذا السبب. يجب توزيع عدد الزيارات على مدار 5 دقائق لتجنُّب الزيارات المفاجئة.
تتعلّق رسائلي بفعاليات مجدولة. كيف يمكنني إرسال جميع الزيارات في بداية كل ساعة؟
ننصحك ببدء إرسال الإشعارات قبل 5 دقائق على الأقل من موعد الحدث. يمكنك بدلاً من ذلك إرسال رسائل البيانات وتنفيذ النسخة المشابهة لمعالج onMessageReceived في منصتك لجدولة الإشعارات المحلية مسبقًا.
من الصعب عليّ وعلى مؤسستي التعامل مع أخطاء 429. هل يمكنني الحصول على إعفاء أو حصة أكبر لتجنُّب تلقّي الرمز 429؟
ندرك أنّ حدود الحصة قد تكون صعبة، ولكنّها ضرورية للحفاظ على موثوقية الخدمة، ولا يمكننا منح استثناءات. استخدِم عمليات إعادة المحاولة للتعامل بشكل صحيح مع أخطاء 429.
ما المدة التي سيستغرقها تنفيذ طلب زيادة الحصة؟
يعتمد طلب زيادة الحصة
المخصّصة على
استخدامك FCM. في أي حال، يمكنك توقُّع تلقّي ردّ في غضون بضعة أيام عمل. في بعض الحالات، قد يكون هناك بعض المراسلات بشأن استخدامك
FCM والظروف المختلفة، ما قد يؤدي إلى إطالة العملية. في حال استيفاء جميع
المتطلبات، ستتم معالجة معظم الطلبات في غضون أسبوعَين.
هل يمكنني الحصول على حصة أكبر لفعالية مؤقتة؟
يمكنك طلب حصة إضافية لاستيعاب حدث يستمر لمدة شهر واحد كحد أقصى.
يجب تقديم الطلب قبل شهر واحد على الأقل من موعد الفعالية مع توضيح تفاصيل موعدَي البدء والانتهاء، وستبذل FCM كل جهد ممكن لتلبية الطلب. وفي حال الموافقة على طلبات زيادة الحصة، سيتم إلغاء هذه الزيادات بعد تاريخ انتهاء الحدث.
FCM إيقاف واجهات برمجة التطبيقات القديمة نهائيًا
إيقاف واجهات برمجة التطبيقات من جهة الخادم نهائيًا في سبتمبر 2026
ما هي واجهات برمجة التطبيقات والميزات التي تم إيقافها نهائيًا وسيتم إيقافها؟ ماذا يجب أن أفعل إذا كنت أستخدم واجهات برمجة التطبيقات هذه؟
تم إيقاف جميع واجهات برمجة التطبيقات لخادم InstanceId وميزة مجموعات الأجهزة نهائيًا، وسيتم إيقافها بالكامل في 29 سبتمبر 2027. يعرض الجدول التالي تفاصيل إضافية حول واجهات برمجة التطبيقات/الميزات المتوقّفة والإجراء المطلوب.
| اسم واجهة برمجة التطبيقات
|
نقطة النهاية لواجهة برمجة التطبيقات
|
الاستخدام المقصود
|
تأثير العميل
|
يجب اتّخاذ إجراء
|
| InstanceId info API
|
https://iid.googleapis.com/iid/info
|
الحصول على معلومات ذات صلة برقم تعريف مثيل أو رمز مميّز لمراسلة Firebase السحابية
|
سيتعذّر إرسال الطلبات إلى واجهة برمجة التطبيقات هذه بعد 29 سبتمبر 2027.
|
بالنسبة إلى العملاء الذين يستخدمون واجهة برمجة التطبيقات للتحقّق من صحة الرمز المميّز، استخدِم FCM V1 send API واضبط validate_only على "صحيح".
بالنسبة إلى العملاء الذين يستخدمون واجهة برمجة التطبيقات للحصول على معلومات حول الاشتراك في المواضيع، يجب الانتقال إلى واجهة برمجة التطبيقات الجديدة للاشتراك في المواضيع.
|
| InstanceId topic subscription API
|
https://iid.googleapis.com/iid/v1/…/rel/topics
https://iid.googleapis.com/iid/v1:batchAdd
https://iid.googleapis.com/iid/v1:batchRemove
|
الاشتراك في موضوع باستخدام الرموز المميزة من خلال واجهة برمجة التطبيقات القديمة للاشتراك في المواضيع
|
سيتعذّر إرسال الطلبات إلى واجهات برمجة التطبيقات هذه بعد 29 سبتمبر 2027.
|
انتقِل إلى الخادم الجديد FCMالخاص بالاشتراك في المواضيع
والذي يوفّر واجهة برمجة التطبيقات
للاشتراك في المواضيع وإلغاء الاشتراك فيها.
|
| InstanceId batch import API
|
https://iid.googleapis.com/iid/v1:batchImport
|
إنشاء رموز FCM المميّزة لنظام التشغيل iOS في مجموعة من جهة الخادم
|
سيتعذّر إرسال الطلبات إلى واجهة برمجة التطبيقات هذه بعد 29 سبتمبر 2027.
لن يكون من الممكن إنشاء عمليات تسجيل FCM من رموز APNs على جهة الخادم.
|
يمكنك استخدام خدمة APNs من Apple لإرسال الإشعارات باستخدام رموز APNs المميزة.
للحصول على مزايا إضافية توفّرها FCM، يمكنك دمج تطبيقك مع حزمة تطوير البرامج (SDK) لنظام التشغيل iOS في FCM، ما سيؤدي إلى إنشاء عمليات تسجيل FCM على العميل.
|
| واجهة برمجة التطبيقات لإدارة مجموعات الأجهزة
|
https://fcm.googleapis.com/fcm/notification
https://fcm.googleapis.com/gcm/notification
https://fcm.googleapis.com/iid/notification
https://fcm.googleapis.com/notification
|
إضافة أعضاء مجموعة الأجهزة أو إزالتهم أو استردادهم
|
سيتعذّر إرسال الطلبات إلى واجهة برمجة التطبيقات هذه بعد 29 سبتمبر 2027.
|
راجِع الإرشادات لنقل البيانات من هذه الميزة.
سيظل بإمكانك إرسال الرسائل إلى عمليات التسجيل الفردية FCM بدلاً من رموز المجموعة المميزة.
|
| إرسال إلى مجموعة أجهزة
|
https://fcm.googleapis.com/v1/projects/…/messages:send
|
إرسال الرسائل إلى مجموعات الأجهزة باستخدام group notification_key
|
ستستمر واجهة برمجة التطبيقات هذه في العمل، ولكن لن تتوافق مع رموز مجموعات الأجهزة بعد 29 سبتمبر 2027.
|
إذا كنت أستخدم حزمة Firebase Admin SDK لإدارة الاشتراكات في المواضيع، هل سأتأثر بإيقافها نهائيًا؟ ماذا يجب أن أفعل؟
إذا كنت تستخدم إصدارات سابقة من حزمة Firebase Admin SDK لإدارة الاشتراكات في المواضيع، سيتأثر حسابك بإيقاف هذه الميزة نهائيًا.
يجب ترقية حزمة تطوير البرامج (SDK) الخاصة بخدمة Firebase Admin إلى الإصدارات التالية:
| النظام الأساسي
|
إصدار حزمة تطوير البرامج (SDK) للمشرف المتأثّر
|
إصدار حزمة تطوير البرامج (SDK) الخاصة بالمشرف المطلوب الترقية إليه
|
| Node.js
|
<=14.4.0
|
14.5.0 أو إصدار أحدث
|
| Python
|
<=7.6.0
|
7.7.0 أو إصدار أحدث
|
| Java
|
<=9.10.0
|
قريبًا
|
| متابعة
|
<=4.21.0
|
4.22.0 أو إصدار أحدث
|
| .NET
|
<=3.6.0
|
قريبًا
|
هل سيتم خفض مستوى الخدمة قبل 29 سبتمبر 2027؟
لا، لديك 12 شهرًا لنقل البيانات من واجهات برمجة التطبيقات المتوقّفة نهائيًا إلى بدائل بدون أي خفض في مستوى الخدمة. ننصحك بشدة بالتخطيط لعملية نقل البيانات في أقرب وقت ممكن حتى لا تتأثر بإيقاف الخدمة نهائيًا.
من المتوقّع أن تتلقّى أخطاء عند طلب البيانات من واجهات برمجة التطبيقات المتوقّف نهائيًا بعد 29 أيلول (سبتمبر) 2027.
هل يمكن للمستخدمين الجدد استخدام واجهات برمجة التطبيقات أو الميزات المتوقّفة نهائيًا قبل إيقافها؟
يمكن للمستخدمين الجدد استخدام واجهات برمجة التطبيقات أو الميزات المتوقّفة نهائيًا قبل 1 يناير 2027.
بعد 1 يناير 2027، لن يتمكّن المستخدمون الجدد من استخدام واجهات برمجة التطبيقات المتوقّفة نهائيًا.
يمكن للمستخدمين الذين يستخدمون واجهات برمجة التطبيقات المتوقّفة نهائيًا مواصلة استخدامها حتى 29 سبتمبر 2027.