Начните использовать проверку приложений с помощью Play Integrity на Android

На этой странице показано, как включить App Check в приложении Android с помощью встроенного поставщика Play Integrity. Когда вы включаете App Check , вы помогаете гарантировать, что только ваше приложение может получить доступ к ресурсам Firebase вашего проекта. См. Обзор этой функции.

В настоящее время встроенный поставщик Play Integrity поддерживает только приложения Android, распространяемые Google Play. Чтобы использовать функции Play Integrity вне Play или использовать App Check с собственным поставщиком, см. раздел Внедрение поставщика App Check .

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

  1. Добавьте Firebase в свой проект Android, если вы этого еще не сделали.

  2. Включите API Play Integrity:

    1. В Google Play Console выберите свое приложение или добавьте его, если вы еще этого не сделали.

    2. В разделе «Выпуск» нажмите «Целостность приложения» .

    3. Перейдите в раздел Play Integrity API на странице, нажмите Link Cloud project , затем выберите свой проект Firebase из списка проектов Google Cloud. Выбранный здесь проект должен быть тем же проектом Firebase, в котором вы регистрируете свое приложение (см. следующий шаг).

  3. Зарегистрируйте свои приложения для использования App Check с поставщиком Play Integrity в разделе App Check консоли Firebase . Вам нужно будет предоставить отпечаток SHA-256 сертификата подписи вашего приложения.

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

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

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

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

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

В файле Gradle вашего модуля (уровня приложения) (обычно <project>/<app-module>/build.gradle.kts или <project>/<app-module>/build.gradle ) добавьте зависимость для библиотеки App Check для Android. Мы рекомендуем использовать Firebase Android BoM для управления версиями библиотеки.

dependencies {
    // Import the BoM for the Firebase platform
    implementation(platform("com.google.firebase:firebase-bom:33.15.0"))

    // Add the dependencies for the App Check libraries
    // When using the BoM, you don't specify versions in Firebase library dependencies
    implementation("com.google.firebase:firebase-appcheck-playintegrity")
}

Благодаря использованию Firebase Android BoM ваше приложение всегда будет использовать совместимые версии библиотек Firebase Android.

(Альтернатива) Добавьте зависимости библиотеки Firebase без использования BoM

Если вы решите не использовать Firebase BoM , вам необходимо указать каждую версию библиотеки Firebase в строке ее зависимостей.

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

dependencies {
    // Add the dependencies for the App Check libraries
    // When NOT using the BoM, you must specify versions in Firebase library dependencies
    implementation("com.google.firebase:firebase-appcheck-playintegrity:18.0.0")
}
Ищете модуль библиотеки, специфичный для Kotlin? Начиная с октября 2023 года ( Firebase BoM 32.5.0) разработчики Kotlin и Java смогут полагаться на основной модуль библиотеки (подробности см. в разделе часто задаваемых вопросов об этой инициативе ).

3. Инициализация App Check

Добавьте следующий код инициализации в свое приложение, чтобы оно запускалось до использования любых других Firebase SDK:

Kotlin

Firebase.initialize(context = this)
Firebase.appCheck.installAppCheckProviderFactory(
    PlayIntegrityAppCheckProviderFactory.getInstance(),
)

Java

FirebaseApp.initializeApp(/*context=*/ this);
FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance();
firebaseAppCheck.installAppCheckProviderFactory(
        PlayIntegrityAppCheckProviderFactory.getInstance());

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

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

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

Мониторинг показателей и обеспечение соблюдения

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

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

Включить принудительное выполнение App Check

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

Используйте App Check в отладочных средах

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

См. раздел Использование App Check с поставщиком отладки на Android .