استفاده از «بررسی برنامه» با ارائه‌دهنده اشکال‌زدایی در پلاتفرم‌های 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 اجرا می‌شود، خدمات زیرینه شما نشانه ارسالی آن را به‌عنوان معتبر می‌پذیرد.