アプリを App Check に登録した後に、開発中のシミュレータやデバイス、継続的インテグレーション(CI)など、通常は App Check が有効と分類しない環境でアプリを実行する場合は、実際の証明書プロバイダの代わりに App Check デバッグ プロバイダを使用するデバッグビルドのアプリを作成できます。
開発でデバッグ プロバイダを使用する
開発中など、アプリをンタラクティブに実行しているときにデバッグ プロバイダを使用するには、次の操作を行います。
デバッグビルドで Firebase バックエンド サービスを使用する前に、App Check デバッグ プロバイダの Factory を作成して設定します。
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];
Xcode プロジェクト(v11.0 以降)でデバッグ ロギングを有効にします。
- [Product] > [Scheme] > [Edit scheme] の順に開きます。
- 左側のメニューから [Run] を選択し、[Arguments] タブを選択します。
- [Arguments Passed on Launch] セクションで
-FIRDebugEnabled
を追加します。
アプリを起動します。SDK がバックエンドにリクエストを送信しようとすると、ローカル デバッグ トークンがロギングされます。次に例を示します。
[Firebase/AppCheck][I-FAA001001] Firebase App Check Debug Token: 123a4567-b89c-12d3-e456-789012345678
Firebase コンソールの [App Check] セクションで、アプリのオーバーフロー メニューから [デバッグ トークンを管理] を選択します。前の手順でロギングされたデバッグ トークンを登録します。
トークンを登録すると、Firebase バックエンド サービスはトークンを有効なものとして受け入れます。
このトークンを使用すると、有効なデバイスでなくても Firebase リソースにアクセスできます。このトークンは他に漏らさないように注意してください。公開リポジトリには commit しないでください。登録されたトークンが不正利用された場合は、直ちに Firebase コンソールでトークンを取り消してください。
CI 環境でデバッグ プロバイダを使用する
継続的インテグレーション(CI)環境でデバッグ プロバイダを使用するには、次の手順を行います。
Firebase コンソールの [App Check] セクションで、アプリのオーバーフロー メニューから [デバッグ トークンを管理] を選択します。新しいデバッグ トークンを作成します。このトークンは次の手順で必要になります。
このトークンを使用すると、有効なデバイスでなくても Firebase リソースにアクセスできます。このトークンは他に漏らさないように注意してください。公開リポジトリには commit しないでください。登録されたトークンが不正利用された場合は、直ちに 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 デバッグ プロバイダの Factory を作成して設定します。
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 環境でアプリを実行すると、Firebase バックエンド サービスは送信されたトークンを有効なトークンとして受け入れます。