| Wybierz platformę: | iOS+ Android Web Flutter |
Na tej stronie dowiesz się, jak skonfigurować App Check w aplikacji na Androida przy użyciu dostawcy reCAPTCHA Enterprise. App Check pomaga zapewnić, że tylko Twoja aplikacja będzie miała dostęp do zasobów backendu projektu. Więcej informacji znajdziesz w omówieniu App Check.
App Check wymaga użycia kluczy reCAPTCHA opartych na wynikach, dzięki czemu jest niewidoczna dla użytkowników. Oznacza to, że dostawca reCAPTCHA Enterprise nie będzie wymagać od użytkowników wykonania zadania.
Jeśli Twój przypadek użycia wymaga funkcji reCAPTCHA Enterprise, które nie są zaimplementowane przez App Check, lub jeśli chcesz używać App Check z własnym dostawcą niestandardowym, zapoznaj się z artykułem Implementowanie niestandardowego dostawcy App Check.
1. Konfigurowanie projektu w Firebase
Dodaj Firebase do projektu aplikacji na Androida, jeśli nie korzystasz w nim jeszcze z tej usługi.
W konsoli Google Cloud otwórz stronę Fraud Defense i wykonaj te czynności dla dostawcy reCAPTCHA Enterprise:
Upewnij się, że jesteś w odpowiednim projekcie (patrz selektor projektów u góry ekranu).
Jeśli pojawi się taka prośba, włącz interfejs reCAPTCHA Enterprise API.
Utwórz klucz typu Android i podaj nazwę pakietu aplikacji (np.
com.example.my_app).Pamiętaj, aby wpisać tę samą nazwę pakietu, która została podana podczas tworzenia aplikacji na Androida w projekcie w Firebase. W wartości nazwy pakietu wielkość liter ma znaczenie.
W przypadku App Check każda nazwa pakietu może odpowiadać tylko 1 kluczowi reCAPTCHA.
Szczegółowe instrukcje znajdziesz w artykule Tworzenie kluczy reCAPTCHA opartych na wynikach.
Zapisz ten klucz. Musisz dodać go do procesu rejestracji w konsoli Firebase.
W konsoli Firebase otwórz Zabezpieczenia > Sprawdzanie aplikacji.
Na karcie Aplikacje zarejestruj aplikacje na Androida, aby używać App Check z dostawcą reCAPTCHA Enterprise. Musisz podać klucz uzyskany w konsoli Google Cloud.
Opcjonalnie: ustaw czas życia danych (TTL) tokena.
W ustawieniach rejestracji aplikacji ustaw niestandardowy czas życia (TTL) tokenów App Check wydawanych przez dostawcę. Możesz ustawić TTL na dowolną wartość od 30 minut do 7 dni. Zmieniając tę wartość, pamiętaj o tych kompromisach:
- Bezpieczeństwo: krótsze wartości TTL zapewniają większe bezpieczeństwo, ponieważ skracają czas, w którym haker może wykorzystać przejęty lub przechwycony token.
- Wydajność: krótsze wartości TTL oznaczają, że aplikacja będzie częściej przeprowadzać atestację. Proces atestacji aplikacji zwiększa czas oczekiwania na żądania sieciowe przy każdym wykonaniu, więc krótki czas TTL może wpływać na wydajność aplikacji.
- Limit i koszt: krótsze wartości TTL i częste ponowne atestowanie szybciej wyczerpują limit, a w przypadku usług płatnych mogą potencjalnie kosztować więcej. Zobacz Limity i ograniczenia.
Domyślna wartość TTL wynosząca 1 godzinę jest odpowiednia dla większości aplikacji. Pamiętaj, że biblioteka App Check odświeża tokeny po upływie mniej więcej połowy czasu TTL.
Opcjonalnie: skonfiguruj ustawienia zaawansowane.
Kliknij Zapisz.
(Opcjonalnie) Konfigurowanie ustawień zaawansowanych
Gdy użytkownik otwiera aplikację, reCAPTCHA Enterprise ocenia poziom ryzyka, jaki stwarza interakcja użytkownika z kluczem, i zwraca wynik z zakresu od 0,0 do 1,0 z przyrostem co 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 niewielkim ryzykiem i jest bardzo prawdopodobnie uzasadniona.
App Check umożliwia skonfigurowanie progu ryzyka związanego z aplikacją, dzięki czemu możesz dostosować swoją tolerancję na to ryzyko.
W większości przypadków zalecana jest domyślna wartość progowa 0, 5. Jeśli Twój przypadek użycia wymaga dostosowania, możesz skonfigurować tę wartość dla każdej aplikacji w konsoli Firebase (kliknij Bezpieczeństwo > Sprawdzanie aplikacji). Rozwiń i przeczytaj poniżej ważne informacje o konfigurowaniu progu ryzyka aplikacji.
2. Dodaj pakiet SDK App Check do aplikacji
Aby używać 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ść z biblioteką App Check reCAPTCHA na Androida. Zalecamy używanie Firebase Android BoM do kontrolowania obsługi wersji biblioteki.
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") }
Gdy korzystasz z Firebase Android BoM, aplikacja zawsze używa zgodnych wersji bibliotek Firebase na Androida.
(Alternatywa) Dodaj zależności biblioteki Firebase bez używania BoM
Jeśli nie zdecydujesz się na użycie Firebase BoM, musisz określić każdą wersję biblioteki Firebase w jej wierszu zależności.
Jeśli w aplikacji używasz kilku bibliotek Firebase, zdecydowanie zalecamy korzystanie z BoM do zarządzania wersjami bibliotek, co zapewni 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:20.0.0") }
3. Zainicjuj App Check
Zanim zaczniesz korzystać z innych usług Firebase, musisz zainicjować App Check w aplikacji.
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 wskaźników i włączanie egzekwowania zasad
Po skonfigurowaniu App Check w aplikacji zacznij rozpowszechniać jej zaktualizowaną wersję wśród użytkowników.
Zaktualizowana aplikacja kliencka zacznie wysyłać tokeny App Check wraz z każdym żądaniem wysyłanym do Firebase. Jednak App Check nie będzie blokować żądań z nieprawidłowymi tokenami, dopóki nie zostanie wymuszona App Check.
Monitorowanie danych
Zanim włączysz egzekwowanie, upewnij się, że nie zakłóci to działania aplikacji u obecnych, uprawnionych użytkowników. Jeśli jednak zauważysz podejrzane wykorzystanie zasobów aplikacji, możesz włączyć egzekwowanie wcześniej.
Aby podjąć decyzję, możesz sprawdzić dane App Check dotyczące usług, z których korzystasz:
- Monitorowanie danych o żądaniach App Check w przypadku Firebase AI Logic, SQL Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, Google Identity na iOS, Maps JavaScript API i Places API (nowego).
- Monitorowanie danych żądań App Check dla Cloud Functions.
Włącz egzekwowanie zasad App Check
Gdy zrozumiesz, jak App Check wpłynie na użytkowników, i będziesz gotowy(-a) do dalszych działań, możesz włączyć egzekwowanie App Check:
- Włącz egzekwowanie zasad App Check w przypadku: Firebase AI Logic, SQL Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, Google Identity na iOS, Maps JavaScript API i Places API (nowy).
- Włącz egzekwowanie App Check dla: Cloud 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 lub ze środowiska trybu ciągłej integracji (CI).
Aby po wprowadzeniu App Check uruchamiać aplikację w tego typu środowiskach, musisz utworzyć kompilację do debugowania, która zamiast produkcyjnego dostawcy atestu będzie używać dostawcy debugowania App Check.
Więcej informacji znajdziesz w artykule Korzystanie z 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 obciążony Twój projekt w Firebase. Więcej informacji znajdziesz w artykule o cenach reCAPTCHA.
Domyślnie aplikacja będzie odświeżać ten token 2 razy na 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.