Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

Начните использовать проверку приложений в приложениях Flutter

Оптимизируйте свои подборки Сохраняйте и классифицируйте контент в соответствии со своими настройками.

На этой странице показано, как включить проверку приложений в приложении Flutter, используя поставщиков по умолчанию: Play Integrity на Android, проверка устройств на платформах Apple и reCAPTCHA v3 в Интернете. Включив проверку приложений, вы гарантируете, что только ваше приложение может получить доступ к ресурсам Firebase вашего проекта. См. Обзор этой функции.

1. Настройте свой проект Firebase

  1. Установите и инициализируйте FlutterFire , если вы еще этого не сделали.

  2. Зарегистрируйте свои приложения для использования проверки приложений с поставщиками Play Integrity, Device Check и reCAPTCHA в разделе «Настройки проекта» > «Проверка приложений » консоли Firebase.

    Обычно вам необходимо зарегистрировать все приложения вашего проекта, потому что после включения принудительного применения для продукта Firebase только зарегистрированные приложения смогут получить доступ к внутренним ресурсам продукта.

  3. Необязательно : в настройках регистрации приложения установите пользовательское время жизни (TTL) для токенов проверки приложений, выпущенных провайдером. Вы можете установить TTL на любое значение от 30 минут до 7 дней. При изменении этого значения помните о следующих компромиссах:

    • Безопасность: более короткие значения TTL обеспечивают более высокий уровень безопасности, поскольку они уменьшают окно, в котором злоумышленник может злоупотребить утечкой или перехваченным токеном.
    • Производительность. Чем короче TTL, тем чаще ваше приложение будет выполнять аттестацию. Поскольку процесс аттестации приложения добавляет задержку к сетевым запросам каждый раз, когда он выполняется, короткий TTL может повлиять на производительность вашего приложения.
    • Квота и стоимость. Более короткие значения TTL и частая повторная аттестация истощают вашу квоту быстрее, а платные услуги могут стоить дороже. См. Квоты и лимиты .

    Значение TTL по умолчанию подходит для большинства приложений. Обратите внимание, что библиотека App Check обновляет токены примерно вдвое меньше TTL.

2. Добавьте библиотеку App Check в свое приложение.

  1. В корне вашего проекта Flutter выполните следующую команду, чтобы установить плагин:

    flutter pub add firebase_app_check
    
  2. После завершения перестройте приложение Flutter:

    flutter run
    

3. Инициализировать проверку приложений

Добавьте следующий код инициализации в свое приложение, чтобы оно запускалось до использования каких-либо служб Firebase, таких как хранилище, но после вызова Firebase.initializeApp() ;

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',
    // Default provider for Android is the Play Integrity provider. You can use the "AndroidProvider" enum to choose
    // your preferred provider. Choose from:
    // 1. debug provider
    // 2. safety net provider
    // 3. play integrity provider
    androidProvider: AndroidProvider.debug,
  );
  runApp(App());
}

Следующие шаги

После того, как библиотека App Check будет установлена ​​в вашем приложении, начните распространять обновленное приложение среди своих пользователей.

Обновленное клиентское приложение начнет отправлять токены проверки приложений вместе с каждым запросом, который он отправляет в Firebase, но продукты Firebase не будут требовать, чтобы токены были действительными, пока вы не включите принудительное применение в разделе «Проверка приложений» консоли Firebase.

Отслеживайте показатели и включайте принудительное применение

Однако, прежде чем включить принудительное применение, вы должны убедиться, что это не нарушит работу ваших существующих законных пользователей. С другой стороны, если вы наблюдаете подозрительное использование ресурсов вашего приложения, возможно, вы захотите включить принудительное применение раньше.

Чтобы помочь вам принять это решение, вы можете просмотреть метрики App Check для используемых вами сервисов:

Включить принудительную проверку приложений

Когда вы поймете, как проверка приложений повлияет на ваших пользователей, и будете готовы продолжить, вы можете включить принудительную проверку приложений:

Используйте проверку приложений в средах отладки

Если после того, как вы зарегистрировали свое приложение для проверки приложений, вы хотите запустить свое приложение в среде, которую проверка приложений обычно не классифицирует как допустимую, например, в эмуляторе во время разработки или в среде непрерывной интеграции (CI), вы можете создайте сборку отладки вашего приложения, которая использует поставщик отладки App Check вместо реального поставщика аттестации.

См. раздел Использование проверки приложений с поставщиком отладки в приложениях Flutter .