Check out what’s new from Firebase at Google I/O 2022. Learn more

استكشاف أخطاء خيارات التهيئة وإصلاحها

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

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

تتطلب خدمات Firebase المختلفة خيارات Firebase مختلفة لتعمل بشكل صحيح ، لكن جميع خدمات Firebase تتطلب خيارات Firebase التالية:

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

استكشاف أخطاء تطبيقات Android وإصلاحها

لتحسين الأمان ، تم تحديث Firebase SDK في 27 فبراير وبعد ذلك استبدلت خدمة معرف مثيل Firebase بالاعتماد على Firebase Installations API .

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

Firebase Cloud Messaging (FCM) مع معرف مثيل Firebase (IID)

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

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

نتيجة لذلك ، ستتعطل خدمات Firebase مثل Firebase Cloud Messaging للمستخدمين النهائيين الذين قاموا بتثبيت تطبيقك بعد إصداره باستخدام حزم Firebase SDK المحدثة. بالإضافة إلى ذلك ، قد تؤدي طلبات الإخفاق المتكررة إلى Firebase إلى إبطاء تجربة المستخدم النهائي لتطبيقك.

ما الذي أنا بحاجة لفعله؟

لإصلاح خلل في خدمات Firebase لتطبيقاتك:

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

استكشاف أخطاء تطبيقات Apple وإصلاحها

لتحسين الأمان ، تم تحديث Firebase SDK في 14 كانون الثاني (يناير ) وبعد ذلك استبدلت خدمة معرف مثيل Firebase بالاعتماد على Firebase Installations API .

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

Firebase Cloud Messaging (FCM) مع معرف مثيل Firebase (IID)

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

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

نتيجة لذلك ، ستتعطل خدمات Firebase مثل Firebase Cloud Messaging للمستخدمين النهائيين الذين قاموا بتثبيت تطبيقك بعد إصداره باستخدام حزم Firebase SDK المحدثة. بالإضافة إلى ذلك ، قد تؤدي طلبات الإخفاق المتكررة إلى Firebase إلى إبطاء تجربة المستخدم النهائي لتطبيقك.

ما الذي أنا بحاجة لفعله؟

لإصلاح خلل في خدمات Firebase لتطبيقاتك:

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

مفاتيح خادم FCM

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

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