| Выберите платформу: | 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 :
Убедитесь, что вы находитесь в правильном проекте (см. окно выбора проекта в верхней части экрана).
При появлении запроса включите API reCAPTCHA Enterprise .
Создайте ключ типа Android и укажите имя пакета вашего приложения (например,
com.example.my_app).Убедитесь, что вы указали то же имя пакета, что и при создании приложения Firebase для Android в вашем проекте Firebase. Имя пакета чувствительно к регистру.
В App Check каждому имени пакета может соответствовать только один ключ reCAPTCHA .
Подробные инструкции см. в разделе «Создание ключей reCAPTCHA на основе оценок» .
Запишите этот ключ. Вам потребуется добавить его в процесс регистрации в консоли Firebase .
В консоли Firebase перейдите в раздел Безопасность > Проверка приложений .
На вкладке «Приложения» зарегистрируйте свои приложения Android для использования App Check с поставщиком reCAPTCHA Enterprise . Вам потребуется указать ключ, полученный в консоли Google Cloud .
Необязательно : установите время жизни токена (TTL).
В настройках регистрации приложения установите пользовательское время жизни (TTL) для токенов App Check выданных провайдером. Вы можете установить TTL на любое значение от 30 минут до 7 дней. При изменении этого значения следует учитывать следующие компромиссы:
- Безопасность: Более короткие значения TTL обеспечивают более высокую безопасность, поскольку сокращают период времени, в течение которого утечка или перехват токена могут быть использованы злоумышленником в корыстных целях.
- Производительность: Более короткие значения 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 (перейдите в раздел Безопасность > Проверка приложений ). Обязательно ознакомьтесь с важными моментами, касающимися настройки порога риска для приложений, приведенными ниже.
App Check использует настроенный вами пороговый уровень риска приложения в качестве минимального балла reCAPTCHA Enterprise необходимого для того, чтобы взаимодействие с пользователем считалось легитимным. Все баллы reCAPTCHA Enterprise , строго ниже настроенного вами порога, будут отклонены. При настройке порогового уровня риска приложения учитывайте следующее:
Если ваш проект Firebase использует бесплатный тарифный план Spark, то из 11 возможных уровней оценки reCAPTCHA Enterprise доступны только следующие четыре: 0,1, 0,3, 0,7 и 0,9.
В течение этого времени App Check будет принимать только пороговые значения риска для приложений 0,1, 0,3, 0,5, 0,7 и 0,9. Пороговое значение риска 0,5 по-прежнему рекомендуется для большинства случаев использования.
Чтобы включить все 11 уровней оценки reCAPTCHA Enterprise , свяжите учетную запись Cloud Billing с вашим проектом (это означает, что вы обновляете свой проект Firebase до тарифного плана Blaze с оплатой по мере использования ). После обновления проекта App Check позволит вам настроить любые пороговые значения риска приложения в диапазоне от 0,0 до 1,0 с шагом 0,1.
Чтобы отслеживать распределение высоких и низких оценок reCAPTCHA Enterprise для вашего приложения, перейдите на страницу reCAPTCHA Enterprise в консоли Google Cloud и выберите ключ, используемый вашим приложением.
Установите для своего приложения соответствующий допустимый уровень риска:
Если вы готовы к высокому уровню риска, связанного с вашим приложением, переместите ползунок вправо, чтобы снизить пороговое значение риска.
- Значение 0,0 не рекомендуется, поскольку эта настройка отключает защиту от злоупотреблений.
Если вы не готовы к высокому уровню риска, связанного с вашим приложением, переместите ползунок влево, чтобы повысить пороговое значение риска.
- Значение 1,0 не рекомендуется, поскольку этот параметр может также потенциально заблокировать доступ для законных пользователей, которые не соответствуют этому высокому порогу доверия.
Для получения более подробной информации ознакомьтесь с документацией reCAPTCHA Enterprise .
2. Добавьте SDK App Check в ваше приложение.
Для использования поставщика 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:34.17.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:19.2.0") }
3. Инициализация App Check
В вашем приложении необходимо инициализировать App Check перед использованием любых других сервисов Firebase.
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 for iOS, Maps JavaScript API и Places API (новая функция).
- Отслеживайте метрики запросов 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 for iOS, Maps JavaScript API и Places API (новая функция).
- Включите принудительное применение App Check для Cloud Functions .
Используйте App Check в средах отладки.
App Check классифицирует некоторые среды как недопустимые, например, запросы от эмулятора/симулятора во время разработки или от среды непрерывной интеграции (CI).
Чтобы запустить ваше приложение в подобных средах после внедрения App Check , вам необходимо создать отладочную сборку приложения, использующую отладочный поставщик App Check вместо производственного поставщика аттестации.
Для получения более подробной информации см. раздел «Использование App Check с помощью отладчика на Android» .
Цены
App Check создает от вашего имени проверку для подтверждения токена ответа пользователя каждый раз, когда ваше приложение обновляет свой токен App Check . За каждую проверку, созданную сверх бесплатного лимита, с вашего проекта Firebase будет взиматься плата. Подробности см. в разделе «Цены reCAPTCHA .
По умолчанию ваше приложение будет обновлять этот токен дважды в час . Чтобы контролировать частоту обновления токенов App Check (и, следовательно, частоту создания новых тестов), вы можете настроить значение TTL токена .