استخدام ميزة "فحص التطبيقات" مع موفِّر تصحيح الأخطاء على أنظمة 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; في قائمة &quot;وحدة تحكّم Firebase&quot;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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