| Wybierz platformę: | iOS+ Android Web Flutter |
Z tej strony dowiesz się, jak skonfigurować App Check w aplikacji na Androida za pomocą dostawcy reCAPTCHA Enterprise. App Check pomaga zapewnić że tylko Twoja aplikacja może uzyskiwać dostęp do zasobów backendu projektu. Więcej informacji znajdziesz w omówieniu App Check.
App Check wymaga użycia kluczy opartych na wyniku reCAPTCHA, które są niewidoczne dla użytkowników. Oznacza to, że reCAPTCHA Enterprise dostawca nigdy nie będzie wymagać od użytkowników rozwiązania zadania.
Jeśli Twój przypadek użycia wymaga funkcji reCAPTCHA Enterprise, które nie są zaimplementowane w App Check, lub jeśli chcesz używać App Check z własnym dostawcą niestandardowym , przeczytaj artykuł Implementowanie niestandardowego dostawcy App Check.
1. Konfigurowanie projektu w Firebase
Jeśli jeszcze tego nie zrobisz, dodaj Firebase do projektu aplikacji na Androida.
W konsoli Google Cloud otwórz stronę Fraud Defense, i wykonaj te czynności w przypadku dostawcy reCAPTCHA Enterprise:
Sprawdź, czy jesteś w odpowiednim projekcie (zobacz selektor projektów u góry ekranu).
Jeśli pojawi się prośba, włącz reCAPTCHA Enterprise API.
Utwórz klucz typu Android i podaj nazwę pakietu aplikacji (np.
com.example.my_app).Upewnij się, że wpisujesz tę samą nazwę pakietu, którą podano podczas tworzenia aplikacji Firebase na Androida w projekcie w Firebase. Wartość nazwy pakietu jest wrażliwa na wielkość liter.
W przypadku App Check każda nazwa pakietu może odpowiadać jednemu kluczowi reCAPTCHA.
Szczegółowe instrukcje znajdziesz w artykule Tworzenie kluczy opartych na wynikureCAPTCHA.
Zanotuj ten klucz. Musisz go dodać do procesu rejestracji w konsoli Firebase.
W konsoli Firebase otwórz Zabezpieczenia > Sprawdzanie aplikacji.
Na karcie Aplikacje zarejestruj aplikacje na Androida, aby korzystać z App Check z dostawcą reCAPTCHA Enterprise. Musisz podać klucz, który został pobrany w konsoli Google Cloud.
Opcjonalnie: ustaw czas życia tokena (TTL).
W ustawieniach rejestracji aplikacji ustaw niestandardowy czas życia (TTL) dla App Check tokenów wydawanych przez dostawcę. Możesz ustawić TTL na dowolną wartość od 30 minut do 7 dni. Podczas zmiany tej wartości pamiętaj o tych kompromisach:
- Bezpieczeństwo: krótsze TTL zapewniają większe bezpieczeństwo, ponieważ zmniejszają okno, w którym wyciekły lub przechwycony token może zostać wykorzystany przez atakującego.
- Skuteczność: krótsze TTL oznaczają, że aplikacja będzie częściej przeprowadzać atesty. Ponieważ proces atestowania aplikacji za każdym razem dodaje opóźnienie do żądań sieciowych, krótki TTL może wpłynąć na wydajność aplikacji.
- Limit i koszt: krótsze TTL i częste ponowne atestowanie szybciej wyczerpują limit, a w przypadku płatnych usług mogą kosztować więcej. Zobacz Limity.
Domyślny TTL wynoszący 1 godzinę jest odpowiedni dla większości aplikacji. Pamiętaj, że biblioteka App Check odświeża tokeny mniej więcej w połowie czasu TTL.
Opcjonalnie: Skonfiguruj ustawienia zaawansowane.
Kliknij Zapisz.
(Opcjonalnie) Konfigurowanie ustawień zaawansowanych
Gdy użytkownik otworzy Twoją aplikację, reCAPTCHA Enterprise oceni poziom ryzyka, jakie stwarza interakcja użytkownika z kluczem, i zwróci wynik od 0,0 do 1,0 z przyrostem 0,1.
- Wynik 0,0 oznacza, że interakcja wiąże się z wysokim ryzykiem i może być oszustwem.
- Wynik 1,0 oznacza, że interakcja wiąże się z niskim ryzykiem i jest bardzo prawdopodobnie uzasadniona.
App Check umożliwia skonfigurowanie progu ryzyka aplikacji , aby dostosować tolerancję na to ryzyko.
W większości przypadków zalecamy domyślną wartość progu 0, 5. Jeśli Twój przypadek użycia wymaga dostosowania, możesz skonfigurować tę wartość dla każdej aplikacji w konsoli Firebase (otwórz Zabezpieczenia > Sprawdzanie aplikacji). Rozwiń i zapoznaj się z ważnymi kwestiami dotyczącymi konfigurowania progu ryzyka aplikacji.
2. Dodawanie pakietu SDK App Check do aplikacji
Aby korzystać z dostawcy reCAPTCHA Enterprise, musisz dodać odpowiednią zależność.
W pliku Gradle modułu (na poziomie aplikacji) (zwykle<project>/<app-module>/build.gradle.kts lub
<project>/<app-module>/build.gradle)
dodaj zależność od biblioteki App Check reCAPTCHA na Androida. Do kontrolowania obsługi wersji biblioteki zalecamy używanie
Firebase Android BoM.
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:34.19.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") }
Gdy korzystamy z Firebase Android BoM, aplikacja zawsze używa zgodnych wersji bibliotek Firebase na Androida.
(Alternatywnie) Dodawanie zależności biblioteki Firebase bez użycia BoM
Jeśli nie chcesz używać Firebase BoM, musisz określić wersję każdej biblioteki Firebase w wierszu zależności.
Pamiętaj, że jeśli w aplikacji używasz wielu bibliotek Firebase, zdecydowanie zalecamy używanie BoM do zarządzania wersjami bibliotek, co zapewnia zgodność wszystkich wersji.
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.1") }
3. Inicjowanie App Check
Zanim zaczniesz korzystać z innych usług Firebase, musisz zainicjować 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. Monitorowanie danych i włączanie wymuszania
Po skonfigurowaniu App Check w aplikacji zacznij rozpowszechniać zaktualizowaną aplikację wśród użytkowników.
Zaktualizowana aplikacja kliencka zacznie wysyłać App Check tokeny wraz z każdym żądaniem wysyłanym do Firebase. Jednak App Check nie będzie blokować żądań z nieprawidłowymi tokenami, dopóki App Check nie zostanie włączone wymuszanie.
Monitorowanie danych
Zanim włączysz egzekwowanie, upewnij się, że nie zakłóci to działania dotychczasowych prawowitych użytkowników. Jeśli jednak zauważysz podejrzane korzystanie z zasobów aplikacji, możesz wcześniej włączyć wymuszanie.
Aby ułatwić podjęcie decyzji, możesz sprawdzić dane App Check dotyczące używanych usług:
- Monitoruj dane żądańApp Check dotyczące Firebase AI Logic, SQL Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, Google Identity for iOS, Maps JavaScript API i Places API (nowa wersja).
- Monitoruj dane żądań App Check dotyczące Cloud Functions.
Włączanie wymuszania App Check
Gdy zrozumiesz, jak App Check wpłynie na użytkowników, i będziesz gotowy(-a) do kontynuowania, możesz włączyć wymuszanie App Check:
- Włącz App Check egzekwowanie w przypadku Firebase AI Logic, SQL Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, Google Identity for iOS, Maps JavaScript API i Places API (nowa wersja).
- Włącz wymuszanie w przypadku App CheckCloud Functions.
Używanie App Check w środowiskach debugowania
App Check klasyfikuje niektóre środowiska jako nieprawidłowe, np. żądania z emulatora lub symulatora podczas programowania albo ze środowiska trybu ciągłej integracji (CI).
Aby uruchomić aplikację w tych środowiskach po wymuszeniu App Check, musisz utworzyć kompilację debugowania aplikacji, która używa App Check dostawcy debugowania zamiast dostawcy atestów produkcyjnych.
Więcej informacji znajdziesz w artykule Używanie App Check z dostawcą debugowania na Androidzie.
Ceny
App Check tworzy ocenę w Twoim imieniu, aby zweryfikować token odpowiedzi użytkownika za każdym razem, gdy aplikacja odświeża token App Check. Za każdą ocenę utworzoną powyżej bezpłatnego limitu zostanie naliczona opłata w projekcie w Firebase. Więcej informacji znajdziesz w reCAPTCHA cenniku.
Domyślnie aplikacja będzie odświeżać ten token 2 razy na 1 godzinę. Aby kontrolować, jak często aplikacja odświeża tokeny App Check (a tym samym, jak często tworzone są nowe oceny), możesz skonfigurować czas życia tokena.