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

بعد فرض استخدام 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. احصل على رمز تصحيح الأخطاء باتّباع الخطوات التالية:

    1. شغِّل تطبيقك في المحاكي أو على جهاز الاختبار.

    2. افتح وحدة تحكّم Xcode وابحث عن رمز تصحيح الأخطاء App Check. على سبيل المثال:

      <Warning> [AppCheckCore][I-GAC004001] App Check debug token: '123a4567-b89c-12d3-e456-789012345678'.
      
    3. انسخ الرمز المميّز (مثلاً، 123a4567-b89c-12d3-e456-789012345678).

  3. سجِّل رمز تصحيح الأخطاء في App Check باتّباع الخطوات التالية:

    1. في وحدة تحكّم Firebase، انتقِل إلى علامة التبويب الأمان > فحص التطبيقات > التطبيقات.

    2. ابحث عن تطبيقك، وانقر على قائمة الخيارات الإضافية ()، ثم اختَر إدارة رموز تصحيح الأخطاء.

    3. اتّبِع التعليمات الظاهرة على الشاشة لتسجيل رمز تصحيح الأخطاء.

    لقطة شاشة لعنصر القائمة &quot;إدارة رموز تصحيح الأخطاء&quot; في وحدة تحكّم Firebase

بعد تسجيل الرمز المميّز باستخدام App Check، ستقبله خدمات الخلفية باعتباره صالحًا.

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

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

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

  1. في وحدة تحكّم Firebase، أنشئ رمزًا مميّزًا لتصحيح الأخطاء:

    1. في وحدة تحكّم Firebase، انتقِل إلى علامة التبويب الأمان > فحص التطبيقات > التطبيقات.

    2. ابحث عن تطبيقك، وانقر على قائمة الخيارات الإضافية ()، ثم اختَر إدارة رموز تصحيح الأخطاء.

    3. اتّبِع التعليمات الظاهرة على الشاشة لإنشاء رمز تصحيح أخطاء جديد.

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

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

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

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

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

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

    xcodebuild test -scheme YOUR_TEST_SCHEME -workspace YOUR_PROJECT.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، ستقبل خدمات الخلفية الرمز المميز الذي ترسله على أنّه صالح.