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

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

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

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

  • مفتاح API - ملاحظة: هذا ليس مفتاح خادم FCM، راجع مفاتيح خادم FCM .
    قيمة المثال: 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 وإصلاحها

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

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

المراسلة السحابية من Firebase (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 أو "App Id").
    • عملية التهيئة الافتراضية باستخدام ملف تهيئة Firebase : قم بتنزيل ملف تهيئة google-services.json من وحدة تحكم Firebase، ثم استبدل الملف الموجود في تطبيقك.
    • التهيئة البرمجية باستخدام كائن FirebaseOptions : قم بتنزيل ملف التكوين google-services.json من وحدة تحكم Firebase للعثور على مفتاح API ومعرف المشروع ومعرف التطبيق، ثم قم بتحديث هذه القيم في كائن FirebaseOptions في تطبيقك.
  2. قم بإصدار نسخة جديدة من تطبيقك إلى متجر Play.

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

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

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

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

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

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

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

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

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

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

مفاتيح خادم FCM

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

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