تحديد مشاكل خيارات الإعداد وحلّها

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

خيارات Firebase هي مجموعة من المَعلمات التي تتطلّبها الخدمات للتواصل بنجاح مع واجهات برمجة تطبيقات خوادم Firebase وربط بيانات العميل بمشروعك على Firebase وتطبيق Firebase. تعتمد خدمات Firebase على خيارات Firebase الصالحة التي تتوفّر من المكتبة الأساسية أو المكتبة المشتركة في Firebase التي تم إنشاؤها أثناء إعداد Firebase.

تتطلب خدمات Firebase المختلفة خيارات مختلفة لتعمل بشكلٍ سليم، إلا أن جميع خدمات Firebase تتطلب خيارات Firebase التالية:

  • مفتاح واجهة برمجة التطبيقات: ملاحظة: هذا ليس مفتاح خادم المراسلة عبر السحابة الإلكترونية من Firebase. راجِع مفاتيح خادم المراسلة عبر السحابة الإلكترونية من Firebase.
    مثال على القيمة: AIzaSyDOCAbC123dEf456GhI789jKl012-MnO
  • رقم تعريف المشروع - مثال على القيمة: myapp-project-123.
  • معرّف التطبيق ("AppID"): معرّف فريد لتطبيقك يعتمد تنسيقه على النظام الأساسي:
    • بالنسبة إلى نظام التشغيل Android: mobilesdk_app_id: ملاحظة: هذا ليس اسم حزمة Android.
      مثال على القيمة: 1:1234567890:android:321abc456def7890
    • بالنسبة إلى +iOS: GOOGLE_APP_ID: ملاحظة: هذا ليس معرِّف حزمة Apple.
      مثال على القيمة: 1:1234567890:ios:321abc456def7890

تحديد مشاكل تطبيقات Android وحلّها

لتحسين مستوى الأمان، تم تحديث حزمة تطوير البرامج (SDK) لمنصّة Firebase اعتبارًا من 27 شباط (فبراير) وبعد ذلك تم استبدال خدمة معرّف مثيل Firebase بخدمة تعتمد على واجهة برمجة تطبيقات عمليات تثبيت Firebase.

تفرض عمليات تثبيت Firebase توفّر مفتاح واجهة برمجة التطبيقات لخيارات Firebase ورقم تعريف المشروع ومعرّف التطبيق الإلزامية وصلاحيتها من أجل ربط بيانات العميل بمشروع Firebase. يمكنك الانتقال إلى FirebaseOptions للاطّلاع على مزيد من المعلومات.

خدمة المراسلة عبر السحابة الإلكترونية من Firebase (FCM) مع معرّف مثيل Firebase (IID)

إذا واجه المستخدمون الجدد لتطبيقك مشاكل مع ميزة "المراسلة عبر السحابة الإلكترونية من Firebase"، من الممكن أنّك تعمل على إعداد Firebase بدون المجموعة المطلوبة من خيارات Firebase.

قد يستخدم تطبيقك ملف إعداد google-services.json غير مكتمل أو خاطئ، أو أنّ تطبيقك يجري إعداد Firebase آليًا بدون المجموعة الكاملة من خيارات Firebase المطلوبة.

ونتيجةً لذلك، سيتوقّف عمل خدمات Firebase، مثل "المراسلة عبر السحابة الإلكترونية من Firebase"، لدى المستخدمين النهائيين الذين ثبّتوا تطبيقك بعد طرحه باستخدام حِزم تطوير البرامج (SDK) المعدّلة من Firebase. بالإضافة إلى ذلك، قد يؤدي إخفاق الطلبات المتكررة إلى Firebase إلى إبطاء تجربة المستخدم النهائي لتطبيقك.

ما هو الإجراء المطلوب اتّخاذه؟

لإصلاح خدمات Firebase المعطَّلة لتطبيقاتك:

  1. يمكنك تعديل تطبيقك عن طريق إعداد Firebase باستخدام مفتاح واجهة برمجة تطبيقات صالح لمشروعك ورقم تعريف مشروع صالح ومعرّف تطبيق صالح (mobilesdk_app_id أو "رقم تعريف التطبيق").
    • عملية الإعداد التلقائية باستخدام ملف إعداد Firebase: عليك تنزيل ملف الإعداد google-services.json من وحدة تحكُّم Firebase، ثم استبدال الملف الحالي في تطبيقك.
    • الإعداد الآلي باستخدام عنصر FirebaseOptions: يمكنك تنزيل ملف الإعداد google-services.json من "وحدة تحكُّم Firebase" للعثور على مفتاح واجهة برمجة التطبيقات ومعرّف المشروع ومعرّف التطبيق، ثم تعديل هذه القيم في عنصر FirebaseOptions في تطبيقك.
  2. أطلِق إصدارًا جديدًا من تطبيقك على "متجر Play".

تحديد مشاكل تطبيقات Apple وحلّها

لتحسين مستوى الأمان، تم تحديث حزمة تطوير البرامج (SDK) لمنصة Firebase اعتبارًا من 14 كانون الثاني (يناير) وبعد ذلك، استبدلت خدمة معرّف النسخة الافتراضية من Firebase بخدمة معرّف النسخة الافتراضية من Firebase وتعتمد على واجهة برمجة تطبيقات عمليات تثبيت Firebase.

تفرض عمليات تثبيت Firebase توفّر مفتاح واجهة برمجة التطبيقات لخيارات Firebase ورقم تعريف المشروع ومعرّف التطبيق الإلزامية وصلاحيتها من أجل ربط بيانات العميل بمشروع Firebase. يمكنك الانتقال إلى FIROptions للاطّلاع على مزيد من المعلومات.

خدمة المراسلة عبر السحابة الإلكترونية من Firebase (FCM) مع معرّف مثيل Firebase (IID)

إذا واجه المستخدمون الجدد لتطبيقك مشاكل مع ميزة "المراسلة عبر السحابة الإلكترونية من Firebase"، من الممكن أنّك تعمل على إعداد Firebase بدون المجموعة المطلوبة من خيارات Firebase.

قد يكون تطبيقك يستخدم ملف إعداد GoogleService-Info.plist غير مكتمل أو غير صالح، أو يعمل تطبيقك على إعداد Firebase آليًا بدون المجموعة الكاملة من خيارات Firebase المطلوبة.

ونتيجةً لذلك، سيتوقّف عمل خدمات Firebase، مثل "المراسلة عبر السحابة الإلكترونية من Firebase" لدى المستخدمين النهائيين الذين ثبَّتوا تطبيقك بعد إصداره باستخدام حِزم تطوير البرامج (SDK) المحدَّثة من Firebase. بالإضافة إلى ذلك، قد يؤدي تعذُّر إرسال الطلبات إلى Firebase بشكل متكرر إلى إبطاء تجربة المستخدم النهائي لتطبيقك.

ما هو الإجراء المطلوب اتّخاذه؟

لإصلاح خدمات Firebase المعطَّلة لتطبيقاتك:

  1. يمكنك تعديل تطبيقك عن طريق إعداد Firebase باستخدام مفتاح واجهة برمجة تطبيقات صالح لمشروعك ورقم تعريف مشروع صالح ومعرّف تطبيق صالح (GOOGLE_APP_ID أو "رقم تعريف التطبيق").
    1. عملية الإعداد التلقائية باستخدام ملف إعداد Firebase: عليك تنزيل ملف الإعداد GoogleService-Info.plist من وحدة تحكُّم Firebase، ثم استبدال الملف الحالي في تطبيقك.
    2. الإعداد الآلي باستخدام عنصر FIROptions: يمكنك تنزيل ملف الإعداد GoogleService-Info.plist من "وحدة تحكُّم Firebase" للعثور على مفتاح واجهة برمجة التطبيقات ومعرّف المشروع ومعرّف التطبيق، ثم تعديل هذه القيم في عنصر FIROptions في تطبيقك.
  2. أطلِق إصدارًا جديدًا من تطبيقك على App Store.

مفاتيح خادم "المراسلة عبر السحابة الإلكترونية من Firebase"

إذا كان تطبيقك يستخدم مفتاح خادم المراسلة عبر السحابة الإلكترونية من Firebase بدلاً من مفتاح Cloud API، قد يتسبّب ذلك في حدوث ثغرة أمنية في حال استخدام مفتاح خادم المراسلة عبر السحابة الإلكترونية من Firebase نفسه لإرسال الإشعارات الفورية عبر خدمة "المراسلة عبر السحابة الإلكترونية من Firebase". في هذه الحالة، ننصحك بشدّة بمراجعة الطريقة التي يصادق فيها خادمك على إرسال الطلبات إلى خدمة "المراسلة عبر السحابة الإلكترونية من Firebase".

ملاحظة: يجب عدم تضمين مفاتيح خادم خدمة "المراسلة عبر السحابة الإلكترونية من Firebase" (التي تختلف عن مفاتيح Firebase أو Cloud API) في التطبيقات، لأنّه يمكن إساءة استخدامها لإرسال إشعارات فورية باسم مشروعك.