アプリを App Check に登録した後、開発中のシミュレーターや継続的インテグレーション (CI) 環境など、App Check が通常は有効と分類しない環境でアプリを実行する場合は、次のことができます。実際の構成証明プロバイダーの代わりに App Check デバッグ プロバイダーを使用するアプリのデバッグ ビルドを作成します。
シミュレーターでデバッグ プロバイダーを使用する
アプリをシミュレーターでインタラクティブに実行しているときに (開発中などに) デバッグ プロバイダーを使用するには、次の手順を実行します。
デバッグ ビルドでは、Firebase バックエンド サービスを使用する前に、App Check デバッグ プロバイダ ファクトリを作成して設定します。
迅速
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];
Xcode プロジェクト (v11.0 以降) でデバッグ ログを有効にします。
- 製品 > スキーム > スキームの編集 を開きます。
- 左側のメニューから [実行] を選択し、[引数] タブを選択します。
- [起動時に渡される引数] セクションで、
-FIRDebugEnabled
を追加します。
アプリを起動します。 SDK がバックエンドにリクエストを送信しようとすると、ローカル デバッグ トークンがログに記録されます。例えば:
[Firebase/AppCheck][I-FAA001001] Firebase App Check Debug Token: 123a4567-b89c-12d3-e456-789012345678
Firebase コンソールの [ App Check ] セクションで、アプリのオーバーフロー メニューから[Manage debug tokens ] を選択します。次に、前の手順でログに記録したデバッグ トークンを登録します。
トークンを登録すると、Firebase バックエンド サービスはそれを有効なものとして受け入れます。
このトークンを使用すると、有効なデバイスがなくても Firebase リソースにアクセスできるため、非公開にしておくことが重要です。公開リポジトリにコミットしないでください。登録済みのトークンが侵害された場合は、Firebase コンソールですぐに取り消してください。
CI 環境でデバッグ プロバイダーを使用する
継続的インテグレーション (CI) 環境でデバッグ プロバイダーを使用するには、次の手順を実行します。
Firebase コンソールの [ App Check ] セクションで、アプリのオーバーフロー メニューから[Manage debug tokens ] を選択します。次に、新しいデバッグ トークンを作成します。次のステップでトークンが必要になります。
このトークンを使用すると、有効なデバイスがなくても Firebase リソースにアクセスできるため、非公開にしておくことが重要です。公開リポジトリにコミットしないでください。登録済みのトークンが侵害された場合は、Firebase コンソールですぐに取り消してください。
作成したばかりのデバッグ トークンを CI システムのセキュア キー ストアに追加します (たとえば、GitHub Actions の暗号化されたシークレットまたは Travis CI の暗号化された変数)。
必要に応じて、デバッグ トークンを CI 環境内で環境変数として使用できるように CI システムを構成します。変数に
APP_CHECK_DEBUG_TOKEN_FROM_CI
のような名前を付けます。Xcode で、名前
FIRAAppCheckDebugToken
で、値が$(APP_CHECK_DEBUG_TOKEN)
のような環境変数をテスト スキームに追加します。デバッグ トークンを環境変数として渡すように CI テスト スクリプトを構成します。例えば:
xcodebuild test -scheme YourTestScheme -workspace YourProject.xcworkspace \ APP_CHECK_DEBUG_TOKEN=$(APP_CHECK_DEBUG_TOKEN_FROM_CI)
デバッグ ビルドでは、Firebase バックエンド サービスを使用する前に、App Check デバッグ プロバイダ ファクトリを作成して設定します。
迅速
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 環境で実行されると、Firebase バックエンド サービスは、送信されたトークンを有効なものとして受け入れます。