استفاده از «بررسی برنامه» با ارائه‌دهنده اشکال‌زدایی در پلاتفرم‌های 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. دستورالعمل‌های روی صفحه را برای ثبت کردن کد اشکال‌زدایی دنبال کنید.

    نماگرفت از گزینه منو «مدیریت کردن کدهای اشکال‌زدایی» در کنسول Firebase

پس‌از اینکه کد را با App Check ثبت کردید، سرویس‌های پسین شما آن را به‌عنوان کد معتبر می‌پذیرند.

این کد امکان دسترسی به سرویس‌های پسین شما را بدون دستگاه معتبر فراهم می‌کند، بنابراین بسیار مهم است که آن را خصوصی نگه دارید. آن را به مخزن عمومی ارسال نکنید یا در نسخه‌های تولیدی برنامه‌تان قرار ندهید. اگر یک توکن ثبت‌شده به خطر افتاد، فوراً آن را بااستفاده از مدیریت توکن‌های اشکال‌زدایی در کنسول Firebase حذف کنید.

استفاده از ارائه‌کننده اشکال‌زدایی در محیط CI

نحوه استفاده از ارائه‌کننده اشکال‌زدایی برای آزمایش واحد در محیط ادغام مداوم (CI) در زیر آمده است:

  1. در کنسول Firebase، یک کد اشکال‌زدایی ایجاد کنید:

    1. در کنسول Firebase، به برگه امنیت > بررسی برنامه > برنامه‌ها بروید.

    2. برنامه‌تان را پیدا کنید، روی منوِ سه‌نقطه‌ای سرریز () کلیک کنید، و سپس مدیریت کردن کدهای اشکال‌زدایی را انتخاب کنید.

    3. دستورالعمل‌های روی صفحه را برای ایجاد کردن یک کد اشکال‌زدایی جدید دنبال کنید.

    این کد امکان دسترسی به سرویس‌های پسین شما را بدون دستگاه معتبر فراهم می‌کند، بنابراین بسیار مهم است که آن را خصوصی نگه دارید. آن را به مخزن عمومی ارسال نکنید یا در نسخه‌های تولیدی برنامه‌تان قرار ندهید. اگر یک توکن ثبت‌شده به خطر افتاد، فوراً آن را بااستفاده از مدیریت توکن‌های اشکال‌زدایی در کنسول Firebase حذف کنید.

    نماگرفت گزینه منو «مدیریت کردن کدهای اشکال‌زدایی»

  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 اجرا می‌شود، سرویس‌های پسای شما ژتونی را که ارسال می‌کند به‌عنوان ژتون معتبر می‌پذیرد.