استخدام ميزة "فحص التطبيقات" مع موفِّر تصحيح الأخطاء على منصات Apple الأساسية

بعد تسجيل تطبيقك في ميزة "فحص التطبيقات"، إذا أردت تشغيل تطبيقك في بيئة لا تصنّفها عادةً أداة "فحص التطبيقات" على أنّها صالحة، مثل جهاز محاكاة أو جهاز أثناء التطوير، أو من بيئة تكامل مستمر (CI)، يمكنك إنشاء إصدار تصحيح أخطاء لتطبيقك يستخدم موفّر تصحيح أخطاء التطبيق بدلاً من موفّر تصديق حقيقي.

استخدام موفر تصحيح الأخطاء في مرحلة التطوير

لاستخدام موفِّر خدمة تصحيح الأخطاء أثناء تشغيل تطبيقك بشكل تفاعلي (أثناء التطوير مثلاً)، عليك اتّباع الخطوات التالية:

  1. في إصدار تصحيح الأخطاء، قبل استخدام أي خدمة من خدمات Firebase الخلفية، عليك إنشاء وإعداد المصنع الخاص بمزود خدمة تصحيح أخطاء التطبيق:

    Swift

    let providerFactory = AppCheckDebugProviderFactory()
    AppCheck.setAppCheckProviderFactory(providerFactory)
    
    FirebaseApp.configure()

    Objective-C

    FIRAppCheckDebugProviderFactory *providerFactory =
          [[FIRAppCheckDebugProviderFactory alloc] init];
    [FIRAppCheck setAppCheckProviderFactory:providerFactory];
    
    // Use Firebase library to configure APIs
    [FIRApp configure];
  2. فعِّل تسجيل تصحيح الأخطاء في مشروع Xcode (الإصدار 11.0 أو إصدار أحدث):

    1. افتح المنتج > المخطط > تعديل المخطط.
    2. حدد تشغيل من القائمة اليمنى، ثم حدد علامة التبويب الوسيطات.
    3. في قسم الوسيطات التي تم تمريرها عند الإطلاق، أضِف -FIRDebugEnabled.
  3. شغِّل التطبيق. سيتم تسجيل رمز مميَّز محلي لتصحيح الأخطاء عندما تحاول حزمة تطوير البرامج (SDK) إرسال طلب إلى الواجهة الخلفية. على سبيل المثال:

    [Firebase/AppCheck][I-FAA001001] Firebase App Check Debug Token:
    123a4567-b89c-12d3-e456-789012345678
  4. في قسم فحص التطبيق ضمن وحدة تحكُّم Firebase، اختَر إدارة الرموز المميّزة لتصحيح الأخطاء من القائمة الكاملة لتطبيقك. ثم سجّل الرمز المميز لتصحيح الأخطاء الذي سجلته في الخطوة السابقة.

    لقطة شاشة لعنصر القائمة "Manage Debug Tokens" (إدارة الرموز المميّزة لتصحيح الأخطاء)

بعد تسجيل الرمز المميّز، ستقبله خدمات Firebase الخلفية على أنّه صالح.

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

استخدام موفِّر تصحيح الأخطاء في بيئة CI

لاستخدام موفِّر خدمة تصحيح الأخطاء في بيئة تكامل مستمر (CI)، عليك إجراء ما يلي:

  1. في قسم فحص التطبيق ضمن وحدة تحكُّم Firebase، اختَر إدارة الرموز المميّزة لتصحيح الأخطاء من القائمة الكاملة لتطبيقك. ثم أنشئ رمزًا مميزًا جديدًا لتصحيح الأخطاء. ستحتاج إلى الرمز المميز في الخطوة التالية.

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

    لقطة شاشة لعنصر القائمة "Manage Debug Tokens" (إدارة الرموز المميّزة لتصحيح الأخطاء)

  2. أضِف الرمز المميّز لتصحيح الأخطاء الذي أنشأته للتو إلى ملف تخزين المفاتيح الآمن في نظام CI (على سبيل المثال، الأسرار المشفرة في GitHub Actions أو المتغيّرات المشفَّرة من Travis CI).

  3. إذا لزم الأمر، اضبط نظام CI لإتاحة الرمز المميّز لتصحيح الأخطاء داخل بيئة CI كمتغير للبيئة. أدخِل اسمًا للمتغير بشيء مثل APP_CHECK_DEBUG_TOKEN_FROM_CI.

  4. في Xcode، أضِف متغيّر بيئة إلى مخطط الاختبار باسم FIRAAppCheckDebugToken وسمة مثل $(APP_CHECK_DEBUG_TOKEN) كقيمة.

  5. اضبط النص البرمجي لاختبار CI لتمرير الرمز المميّز لتصحيح الأخطاء كمتغيّر بيئة. على سبيل المثال:

    xcodebuild test -scheme YourTestScheme -workspace YourProject.xcworkspace \
    APP_CHECK_DEBUG_TOKEN=$(APP_CHECK_DEBUG_TOKEN_FROM_CI)
  6. في إصدار تصحيح الأخطاء، قبل استخدام أي خدمة من خدمات Firebase الخلفية، عليك إنشاء وإعداد المصنع الخاص بمزود خدمة تصحيح أخطاء التطبيق:

    Swift

    let providerFactory = AppCheckDebugProviderFactory()
    AppCheck.setAppCheckProviderFactory(providerFactory)
    
    FirebaseApp.configure()

    Objective-C

    FIRAppCheckDebugProviderFactory *providerFactory =
          [[FIRAppCheckDebugProviderFactory alloc] init];
    [FIRAppCheck setAppCheckProviderFactory:providerFactory];
    
    // Use Firebase library to configure APIs
    [FIRApp configure];

عند تشغيل تطبيقك في بيئة CI، ستقبل خدمات Firebase الخلفية الرمز المميّز الذي ترسله على أنّه صالح.