| Выберите платформу: | iOS+ Android Web Flutter |
На этой странице рассказывается, как настроить App Check в приложении для Android с помощью поставщика reCAPTCHA Enterprise. App Check помогает обеспечить доступ к внутренним ресурсам проекта только для вашего приложения. Подробнее о App Check…
App Check требует использования ключей reCAPTCHA на основе оценки, что делает его невидимым для пользователей. Это означает, что поставщик reCAPTCHA Enterprise не будет требовать от пользователей проходить проверку.
Если вам нужны функции reCAPTCHA Enterprise, не реализованные в App Check, или вы хотите использовать App Check с собственным поставщиком, ознакомьтесь с разделом Как реализовать собственный поставщик App Check.
1. Как настроить проект Firebase
Если вы ещё этого не сделали, добавьте Firebase в проект для Android.
В консоли Google Cloud перейдите на страницу Защита от мошенничества и выполните следующие действия для поставщика reCAPTCHA Enterprise:
Убедитесь, что вы находитесь в нужном проекте (см. меню выбора проекта в верхней части экрана).
Если появится запрос, включите reCAPTCHA Enterprise API.
Создайте ключ типа Android и укажите название пакета приложения (например,
com.example.my_app).Убедитесь, что вы указали то же название пакета, которое ввели при создании приложения Android в проекте Firebase. В названии пакета учитывается регистр.
Для App Check каждое название пакета может соответствовать только одному ключу reCAPTCHA.
Подробные инструкции приведены в статье Как создать ключи reCAPTCHA на основе оценки.
Запишите этот ключ. Вам нужно будет добавить его в процесс регистрации в консоли Firebase.
В консоли Firebase выберите Security (Безопасность) > App Check (Проверка приложений).
На вкладке Apps (Приложения) зарегистрируйте приложения Android, чтобы использовать App Check с поставщиком reCAPTCHA Enterprise. Вам нужно будет указать ключ, полученный в консоли Google Cloud.
Необязательно. Установите время жизни токена (TTL).
В настройках регистрации приложения задайте пользовательское время жизни (TTL) для токенов App Check, выпущенных поставщиком. Вы можете задать любое значение TTL в диапазоне от 30 минут до 7 дней. При изменении этого значения учитывайте следующее:
- Безопасность. Более короткое время жизни обеспечивает более высокий уровень безопасности, поскольку сокращает период, в течение которого злоумышленник может использовать утекший или перехваченный токен.
- Производительность. Чем меньше TTL, тем чаще приложение будет выполнять проверку. Поскольку процесс проверки приложения добавляет задержку к сетевым запросам при каждом выполнении, короткий TTL может повлиять на производительность вашего приложения.
- Квота и стоимость. Короткие TTL и частая повторная аттестация быстрее исчерпывают квоту и могут привести к дополнительным расходам на платные сервисы. Подробнее о квотах и лимитах…
Значение TTL по умолчанию (1 час) подходит для большинства приложений. Обратите внимание, что библиотека App Check обновляет токены примерно через половину времени TTL.
Необязательно. Задайте расширенные настройки.
Нажмите Сохранить.
(Необязательно) Задайте расширенные настройки
Когда пользователь открывает приложение, reCAPTCHA Enterprise оценивает уровень риска взаимодействия с пользователем по ключу и возвращает оценку от 0,0 до 1,0 с шагом 0,1.
- Оценка 0,0 указывает на то, что взаимодействие представляет высокий риск и может быть мошенническим.
- Оценка 1,0 означает, что взаимодействие представляет низкий риск и, скорее всего, является допустимым.
App Check позволяет настроить пороговое значение риска приложения, чтобы вы могли задать допустимый уровень риска.
В большинстве случаев рекомендуется использовать пороговое значение по умолчанию – 0, 5. Если вам нужно изменить это значение, вы можете сделать это для каждого приложения в консоли Firebase (выберите Security (Безопасность) > App Check (Проверка приложений)). Обязательно разверните и изучите раздел Важные примечания о настройке порогового значения риска для приложений ниже.
2. Добавьте в приложение App Check SDK
Чтобы использовать поставщика reCAPTCHA Enterprise, необходимо добавить соответствующую зависимость.
В модульном файле Gradle на уровне приложения (обычно<project>/<app-module>/build.gradle.kts или <project>/<app-module>/build.gradle) добавьте зависимость для библиотеки App Check reCAPTCHA для Android. Для управления версиями библиотек рекомендуем использовать Firebase Android BoM.
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:35.1.0")) // Add the dependency for the App Check reCAPTCHA library // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-appcheck-recaptcha") }
Благодаря Firebase Android BoM в вашем приложении всегда будут использоваться совместимые версии библиотек Firebase Android.
(Альтернативный вариант) Добавьте зависимости библиотеки Firebase без использования BoM.
Если вы не хотите использовать Firebase BoM, то должны указать версию каждой библиотеки Firebase в строке зависимости.
Если вы используете в приложении несколько библиотек Firebase, настоятельно рекомендуем управлять их версиями с помощью BoM. Это обеспечит совместимость всех версий.
dependencies { // Add the dependency for the App Check reCAPTCHA library // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-appcheck-recaptcha:20.0.0") }
3. Инициализация App Check
Прежде чем использовать другие сервисы Firebase, необходимо инициализировать App Check в приложении.
Kotlin
Firebase.initialize(context = this)
Firebase.appCheck.installAppCheckProviderFactory(
RecaptchaAppCheckProviderFactory.getInstance("SITE_KEY")
)
Java
FirebaseApp.initializeApp(/*context=*/ this);
FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance();
firebaseAppCheck.installAppCheckProviderFactory(
RecaptchaAppCheckProviderFactory.getInstance("SITE_KEY"));
4. Отслеживайте показатели и включите принудительное применение
После настройки App Check в приложении начните распространять обновленное приложение среди пользователей.
Обновленное клиентское приложение начнет отправлять токены App Check с каждым запросом к Firebase. Однако App Check не будет блокировать запросы с недействительными токенами, пока не будет принудительно применена App Check.
Отслеживание показателей
Прежде чем включить принудительное применение, убедитесь, что это не помешает вашим существующим пользователям. Однако если вы заметили подозрительное использование ресурсов приложения, то можете включить принудительное применение раньше.
Чтобы принять решение, вы можете посмотреть показатели App Check для сервисов, которые вы используете:
- Отслеживайте показатели запросов App Check для Firebase AI Logic, SQL Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, Google Identity для iOS, Maps JavaScript API и Places API (New).
- Отслеживайте показатели запросов App Check для Cloud Functions.
Включить меры App Check
Когда вы поймете, как App Check повлияет на пользователей, и будете готовы продолжить, вы сможете включить принудительное применение App Check:
- Включите принудительное применение App Check для Firebase AI Logic, SQL Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, Google Identity для iOS, Maps JavaScript API и Places API (New).
- Включите принудительное применение App Check для Cloud Functions.
Используйте App Check в средах отладки
App Check классифицирует некоторые среды как недопустимые, например запросы от эмулятора или симулятора во время разработки или из среды непрерывной интеграции.
Чтобы запускать приложение в таких средах после того, как App Check станет обязательной, вам нужно создать отладочную сборку приложения, которая использует отладочный поставщик App Check вместо рабочего поставщика проверки.
Подробнее о том, как использовать App Check с отладочным поставщиком на Android…
Цены
App Check создает оценку от вашего имени, чтобы проверять токен ответа пользователя каждый раз, когда ваше приложение обновляет токен App Check. С вашего проекта Firebase будет взиматься плата за каждую оценку, созданную сверх бесплатной квоты. Подробнее о ценах на reCAPTCHA…
По умолчанию приложение обновляет этот токен дважды в час. Чтобы контролировать, как часто приложение обновляет токены App Check (и, следовательно, как часто создаются новые оценки), вы можете настроить TTL токена.