Apple platformlarında hata ayıklama sağlayıcısıyla Uygulama Kontrolü'nü kullanma

Uygulamanızı App Check'e kaydettikten sonra uygulamanızı App Check'in normalde geçerli olarak sınıflandırmayacağı bir ortamda (ör. geliştirme sırasında bir simülatör veya cihaz) veya sürekli entegrasyon (CI) ortamında çalıştırmak istiyorsanız gerçek bir doğrulama sağlayıcı yerine App Check hata ayıklama sağlayıcısını kullanan uygulamanızın hata ayıklama derlemesini oluşturabilirsiniz.

Geliştirme aşamasında hata ayıklama sağlayıcıyı kullanma

Uygulamanızı etkileşimli olarak çalıştırırken (ör. geliştirme sırasında) hata ayıklama sağlayıcıyı kullanmak için aşağıdakileri yapın:

  1. Hata ayıklama derlemenizde, herhangi bir Firebase arka uç hizmetini kullanmadan önce App Check hata ayıklama sağlayıcı fabrikasını oluşturup ayarlayın:

    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 projenizde (11.0 veya daha yeni sürümler) hata ayıklama günlük kaydını etkinleştirin:

    1. Ürün > Şema > Şemayı düzenle'yi açın.
    2. Sol menüden Çalıştır'ı, ardından Parametreler sekmesini seçin.
    3. Başlatma sırasında iletilen bağımsız değişkenler bölümüne -FIRDebugEnabled ekleyin.
  3. Uygulamayı başlatın. SDK arka uçta istek göndermeye çalıştığında yerel bir hata ayıklama jetonu günlüğe kaydedilir. Örneğin:

    [Firebase/AppCheck][I-FAA001001] Firebase App Check Debug Token:
    123a4567-b89c-12d3-e456-789012345678
  4. Firebase konsolunun App Check bölümünde, uygulamanızın taşma menüsünden Hata ayıklama jetonlarını yönet'i seçin. Ardından, önceki adımda kaydettiğiniz hata ayıklama jetonunu kaydedin.

    Hata Ayıklama Jetonlarını Yönet menüsü öğesinin ekran görüntüsü

Jetonu kaydettikten sonra Firebase arka uç hizmetleri jetonu geçerli olarak kabul eder.

Bu jeton, geçerli bir cihaz olmadan Firebase kaynaklarınıza erişime izin verdiği için jetonu gizli tutmanız çok önemlidir. Anahtarı herkese açık bir depoya kaydetmeyin ve kayıtlı bir jetonun güvenliği ihlal edilirse jetonu Firebase konsolundan hemen iptal edin.

Hata ayıklama sağlayıcısını CI ortamında kullanma

Hata ayıklama sağlayıcısını sürekli entegrasyon (CI) ortamında kullanmak için aşağıdakileri yapın:

  1. Firebase konsolunun App Check bölümünde, uygulamanızın taşma menüsünden Hata ayıklama jetonlarını yönet'i seçin. Ardından yeni bir hata ayıklama jetonu oluşturun. Sonraki adımda jetona ihtiyacınız olacak.

    Bu jeton, geçerli bir cihaz olmadan Firebase kaynaklarınıza erişime izin verdiğinden, jetonu gizli tutmanız çok önemlidir. Jetonu herkese açık bir depoya göndermeyin. Kayıtlı bir jetonun güvenliği ihlal edilirse Firebase konsolunda hemen iptal edin.

    Hata Ayıklama Jetonlarını Yönet menü öğesinin ekran görüntüsü

  2. Yeni oluşturduğunuz hata ayıklama jetonunu CI sisteminizin güvenli anahtar deposuna ekleyin (ör. GitHub Actions'ın şifrelenmiş gizli bilgileri veya Travis CI'nın şifrelenmiş değişkenleri).

  3. Gerekirse hata ayıklama jetonunuzu CI ortamında ortam değişkeni olarak kullanacak şekilde CI sisteminizi yapılandırın. Değişkeni APP_CHECK_DEBUG_TOKEN_FROM_CI gibi bir adla adlandırın.

  4. Xcode'da, test şemanıza FIRAAppCheckDebugToken adlı ve değeri $(APP_CHECK_DEBUG_TOKEN) gibi bir şey olan bir ortam değişkeni ekleyin.

  5. CI test komut dosyanızı, hata ayıklama jetonunu ortam değişkeni olarak iletecek şekilde yapılandırın. Örneğin:

    xcodebuild test -scheme YourTestScheme -workspace YourProject.xcworkspace \
    APP_CHECK_DEBUG_TOKEN=$(APP_CHECK_DEBUG_TOKEN_FROM_CI)
  6. Hata ayıklama derlemenizde, herhangi bir Firebase arka uç hizmetini kullanmadan önce App Check hata ayıklama sağlayıcı fabrikasını oluşturup ayarlayın:

    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];

Uygulamanız bir CI ortamında çalışırken Firebase arka uç hizmetleri, gönderdiği jetonu geçerli olarak kabul eder.