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

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

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

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

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

    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. في قسم App Check من وحدة تحكّم Firebase، اختَر إدارة الرموز المميّزة لتصحيح الأخطاء من قائمةoverflow (العناصر الإضافية) في تطبيقك. بعد ذلك، سجِّل الرمز المميّز لتصحيح الأخطاء الذي سجّلت الدخول باستخدامه في الخطوة السابقة.

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

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

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

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

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

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

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

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

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

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

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

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

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

    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 على الرمز المميّز الذي يرسله كرمز صالح.