После того, как вы зарегистрировали свое приложение для проверки приложений, ваше приложение обычно не будет работать в эмуляторе или в среде непрерывной интеграции (CI), поскольку эти среды не считаются допустимыми устройствами. Если вы хотите запускать свое приложение в такой среде во время разработки и тестирования, вы можете создать отладочную сборку своего приложения, которая использует поставщик отладки App Check вместо реального поставщика аттестации.
Платформы Apple
Чтобы использовать поставщика отладки при интерактивном запуске приложения в симуляторе (например, во время разработки), выполните следующие действия.
В файле
ios/Runner/AppDelegate.swift
(илиAppDelegate.m
) создайте и задайте фабрику поставщика отладки проверки приложений в сборках отладки:Быстрый
import UIKit import Flutter import Firebase // Add the Firebase import. @UIApplicationMain @objc class AppDelegate: FlutterAppDelegate { override func application( _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? ) -> Bool { // Use the debug provider in Debug builds: #if DEBUG let providerFactory = AppCheckDebugProviderFactory() AppCheck.setAppCheckProviderFactory(providerFactory) #endif GeneratedPluginRegistrant.register(with: self) return super.application(application, didFinishLaunchingWithOptions: launchOptions) } }
Цель-C
#import "AppDelegate.h" #import "GeneratedPluginRegistrant.h" @import Firebase; // Add the Firebase import. @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Use the debug provider in Debug builds: #if DEBUG FIRAppCheckDebugProviderFactory *providerFactory = [[FIRAppCheckDebugProviderFactory alloc] init]; [FIRAppCheck setAppCheckProviderFactory:providerFactory]; #endif [GeneratedPluginRegistrant registerWithRegistry:self]; // Override point for customization after application launch. return [super application:application didFinishLaunchingWithOptions:launchOptions]; } @end
Включите ведение журнала отладки в вашем проекте Xcode (v11.0 или новее):
- Откройте Продукт > Схема > Редактировать схему .
- Выберите «Выполнить» в меню слева, затем перейдите на вкладку «Аргументы» .
- В разделе «Аргументы, передаваемые при запуске» добавьте
-FIRDebugEnabled
.
Откройте
ios/Runner.xcworkspace
с помощью Xcode и запустите приложение в симуляторе. Ваше приложение будет печатать локальный токен отладки в выводе отладки, когда Firebase попытается отправить запрос серверной части. Например:[Firebase/AppCheck][I-FAA001001] Firebase App Check Debug Token: 123a4567-b89c-12d3-e456-789012345678
В разделе «Проверка приложений» консоли Firebase выберите «Управление токенами отладки» в дополнительном меню вашего приложения. Затем зарегистрируйте токен отладки, который вы зарегистрировали на предыдущем шаге.
После того, как вы зарегистрируете токен, серверные службы Firebase примут его как действительный.
Поскольку этот токен позволяет получить доступ к вашим ресурсам Firebase без действительного устройства, крайне важно, чтобы вы сохраняли его конфиденциальность. Не отправляйте его в общедоступный репозиторий, и если зарегистрированный токен когда-либо будет скомпрометирован, немедленно отзовите его в консоли Firebase.
Андроид
Чтобы использовать поставщика отладки при запуске приложения Flutter в среде Android, внедрите в приложение Flutter следующий код:
import 'package:flutter/material.dart';
import 'package:firebase_core/firebase_core.dart';
// Import the firebase_app_check plugin
import 'package:firebase_app_check/firebase_app_check.dart';
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
await FirebaseAppCheck.instance.activate(
webRecaptchaSiteKey: 'recaptcha-v3-site-key',
// Set androidProvider to `AndroidProvider.debug`
androidProvider: AndroidProvider.debug,
);
runApp(App());
}
Ваше приложение будет печатать локальный токен отладки в выводе отладки, когда Firebase попытается отправить запрос серверной части. Например:
D DebugAppCheckProvider: Enter this debug secret into the allow list in the Firebase Console for your project: 123a4567-b89c-12d3-e456-789012345678
В разделе «Проверка приложений» консоли Firebase выберите «Управление токенами отладки» в дополнительном меню вашего приложения. Затем зарегистрируйте токен отладки, который вы зарегистрировали на предыдущем шаге.
После того, как вы зарегистрируете токен, серверные службы Firebase примут его как действительный.
Интернет
Чтобы использовать поставщика отладки при запуске приложения с localhost
(например, во время разработки), выполните следующие действия.
В файле
web/index.html
включите режим отладки, установив дляself.FIREBASE_APPCHECK_DEBUG_TOKEN
значениеtrue
:<body> <script> self.FIREBASE_APPCHECK_DEBUG_TOKEN = true; </script> ... </body>
Запустите веб-приложение локально и откройте инструмент разработчика браузера. В консоли отладки вы увидите токен отладки:
AppCheck debug token: "123a4567-b89c-12d3-e456-789012345678". You will need to safelist it in the Firebase console for it to work.
Этот токен хранится локально в вашем браузере и будет использоваться всякий раз, когда вы используете свое приложение в том же браузере на том же компьютере. Если вы хотите использовать токен в другом браузере или на другом компьютере, установите для
self.FIREBASE_APPCHECK_DEBUG_TOKEN
строку токена вместоtrue
.В разделе «Проверка приложений» консоли Firebase выберите «Управление токенами отладки» в дополнительном меню вашего приложения. Затем зарегистрируйте токен отладки, который вы зарегистрировали на предыдущем шаге.
После того, как вы зарегистрируете токен, серверные службы Firebase примут его как действительный.
Поскольку этот токен позволяет получить доступ к вашим ресурсам Firebase без действительного устройства, крайне важно, чтобы вы сохраняли его конфиденциальность. Не отправляйте его в общедоступный репозиторий, и если зарегистрированный токен когда-либо будет скомпрометирован, немедленно отзовите его в консоли Firebase.