تقدّم هذه الصفحة مساعدة في تحديد المشاكل وحلّها وإجابات عن الأسئلة الشائعة حول Cloud Messaging.
ما الفرق بين "منشئ الإشعارات" وFCM؟
توفّر خدمة Firebase Cloud Messaging مجموعة كاملة من إمكانات المراسلة من خلال حِزم تطوير البرامج (SDK) للعملاء وبروتوكول خادم HTTP. إذا كانت عمليات النشر تتضمّن متطلبات مراسلة أكثر تعقيدًا،
تكون خدمة FCM هي الخيار المناسب.
"أداة إنشاء الإشعارات" هي حلّ خفيف الوزن للمراسلة بدون خادم يستند إلى Firebase Cloud Messaging. من خلال وحدة تحكّم رسومية سهلة الاستخدام ومتطلبات ترميز أقل، تتيح أداة إنشاء الإشعارات للمستخدمين إرسال رسائل لإعادة جذب المستخدمين والاحتفاظ بهم وتعزيز نمو التطبيق ودعم الحملات التسويقية.
| الإمكانات |
|
منشئ الإشعارات |
Cloud Messaging |
| Target |
جهاز واحد |
|
|
|
العملاء المشتركون في مواضيع معيّنة
(مثل الطقس) |
|
|
|
العملاء في شريحة مستخدمين محدّدة مسبقًا (التطبيق والإصدار واللغة) |
|
|
|
العملاء في شرائح جمهور محدّدة في "إحصاءات 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 Installation واستعادتها. لذلك، في حالة الاستعادة، يتشارك مثيل التطبيق الذي تمت استعادته ومثيل التطبيق الأصلي رقم تعريف المثيل نفسه. بما أنّ 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، سيتعذّر إرسال الطلبات إلى واجهة برمجة التطبيقات هذه.
|
بالنسبة إلى العملاء الذين يستخدمون واجهة برمجة التطبيقات للتحقّق من صحة الرموز المميّزة، استخدِموا واجهة برمجة التطبيقات V1 send API الخاصة بـ FCM واضبطوا validate_only على "صحيح".
بالنسبة إلى العملاء الذين يستخدمون واجهة برمجة التطبيقات للحصول على معلومات حول الاشتراك في المواضيع، يجب الانتقال إلى واجهة برمجة التطبيقات الجديدة للاشتراك في المواضيع.
|
| واجهة برمجة التطبيقات InstanceId للاشتراك في المواضيع
|
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
|
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
|
إرسال الرسائل إلى مجموعات الأجهزة باستخدام notification_key للمجموعة
|
ستبقى واجهة برمجة التطبيقات هذه متاحة، ولكنّها لن تتيح استخدام رموز مجموعات الأجهزة بعد 29 سبتمبر 2027.
|
إذا كنت أستخدم مدير SDK في Firebase لإدارة الاشتراكات في المواضيع، هل سأتأثر بعملية الإيقاف النهائي؟ ماذا يجب أن أفعل؟
إذا كنت تستخدم إصدارات سابقة من مدير SDK في Firebase لإدارة الاشتراكات في المواضيع، سيتأثر حسابك بعملية الإيقاف النهائي.
يجب ترقية حزمة Firebase Admin SDK إلى الإصدارات التالية:
| النظام الأساسي
|
إصدار Admin SDK المتأثر
|
إصدار مدير SDK المطلوب الترقية إليه
|
| Node.js
|
<=14.4.0
|
>=14.5.0
|
| Python
|
<=7.6.0
|
7.7.0 أو إصدار أحدث
|
| Java
|
<=9.10.0
|
>=9.11.0
|
| متابعة
|
<=4.21.0
|
>=4.22.0
|
| .NET
|
<=3.6.0
|
>=3.7.0
|
هل سيتم خفض مستوى الخدمة قبل 29 سبتمبر 2027؟
لا، لديك 12 شهرًا لنقل البيانات من واجهات برمجة التطبيقات المتوقّفة نهائيًا إلى بدائل بدون أي خفض في مستوى الخدمة. ننصحك بشدة بالتخطيط لعملية نقل البيانات في أقرب وقت ممكن حتى لا تتأثر بإيقاف الخدمة نهائيًا.
من المتوقّع أن تتلقّى أخطاء عند طلب البيانات من واجهات برمجة التطبيقات المتوقّف نهائيًا بعد 29 أيلول (سبتمبر) 2027.
هل يمكن للمستخدمين الجدد استخدام واجهات برمجة التطبيقات أو الميزات المتوقّفة نهائيًا قبل إيقافها؟
يمكن للمستخدمين الجدد استخدام واجهات برمجة التطبيقات أو الميزات المتوقّفة نهائيًا قبل 1 يناير 2027.
بعد 1 يناير 2027، لن يتمكّن المستخدمون الجدد من استخدام واجهات برمجة التطبيقات المتوقّفة نهائيًا.
يمكن للمستخدمين الذين يستخدمون واجهات برمجة التطبيقات المتوقفة نهائيًا مواصلة استخدامها حتى 29 سبتمبر 2027.