Z tej strony dowiesz się, jak włączyć funkcję App Check w aplikacji na Androida za pomocą z wbudowanym dostawcą Play Integrity. Gdy włączysz usługę App Check, będziesz mieć pewność, aby dostęp do zasobów Firebase projektu miał tylko aplikacja. Zobacz Omówienie tej funkcji.
Obecnie wbudowany dostawca Play Integrity obsługuje tylko aplikacje na Androida rozpowszechniana przez Google Play. Aby korzystać z funkcji Play Integrity poza Google Play App Check z własnym dostawcą niestandardowym – zobacz Zaimplementuj niestandardowego dostawcę App Check.
1. Skonfiguruj projekt Firebase
Dodaj Firebase do swojego projektu na Androida, jeśli jeszcze nie zostało to zrobione. jeśli już to zrobili.
Włącz interfejs Play Integrity API:
W Konsoli Google Play: wybierz aplikację lub dodaj ją, jeśli nie została jeszcze dodana.
W sekcji Wersja kliknij Integralność aplikacji.
W sekcji Play Integrity API kliknij Połącz z projektem Cloud. a następnie wybierz swój projekt Firebase z listy projektów Google Cloud. Projekt, który wybierzesz w tym miejscu, musi być tym samym projektem Firebase co w którym jest zarejestrowana aplikacja (patrz następny krok).
Zarejestruj swoje aplikacje, aby używać App Check z dostawcą Play Integrity sekcja App Check w konsoli Firebase. Musisz podać odcisk cyfrowy SHA-256. certyfikatu podpisywania aplikacji.
Zwykle konieczne jest zarejestrowanie wszystkich aplikacji związanych z projektem, ponieważ włączysz egzekwowanie zasad dla usługi Firebase, tylko zarejestrowane aplikacje będą mogły na dostęp do zasobów backendu usługi.
Opcjonalnie: w ustawieniach rejestracji aplikacji ustaw niestandardowy czas życia danych (TTL) dla App Check tokenów wystawionych przez dostawcę. Możesz ustawić wartość TTL na dowolną wartość z zakresu od 30 minut do 7 dni. Zmieniając tę wartość, pamiętaj o tych wadach:
- Bezpieczeństwo: krótsze wartości TTL zapewniają silniejsze zabezpieczenia, ponieważ zmniejszają okno, w którym ujawniony lub przechwycony token może zostać wykorzystany przez atakującego.
- Wydajność: krótsze wartości TTL oznaczają większą wydajność atestu aplikacji często. Ponieważ proces poświadczania aplikacji zwiększa opóźnienie sieci. żądań przy każdym wykonaniu, krótki czas TTL może wpływać na wydajność Twojej aplikacji.
- Limit i koszt: krótsze wartości TTL i częsta ponowna atestacja powodują wyczerpywanie się przyśpieszać limity, a w przypadku usług płatnych może to być wyższe. Zobacz Limity i .
Domyślna wartość TTL 1 godzina jest rozsądny w przypadku większości aplikacji. Pamiętaj, że biblioteka App Check jest odświeżana tokeny z mniej więcej połowę czasu TTL.
2. Dodaj bibliotekę App Check do aplikacji
w pliku Gradle (na poziomie aplikacji) modułu, (zwykle<project>/<app-module>/build.gradle.kts
lub
<project>/<app-module>/build.gradle
),
dodaj zależność z biblioteką App Check na Androida. Zalecamy użycie metody
Firebase Android BoM
aby kontrolować obsługę wersji biblioteki.
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.1.2")) // 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") }
Korzystając z narzędzia Firebase Android BoM, Twoja aplikacja zawsze używa zgodnych wersji bibliotek Firebase na Androida.
(Wersja alternatywna) Dodaj zależności biblioteki Firebase bez użycia komponentu BoM
Jeśli nie chcesz używać biblioteki Firebase BoM, musisz określić każdą wersję biblioteki Firebase w wierszu zależności.
Pamiętaj, że jeśli używasz wielu bibliotek Firebase w aplikacji, zalecamy korzystanie z BoM do zarządzania wersjami biblioteki. Dzięki temu wszystkie wersje są zgodne.
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") }
3. Zainicjuj instancję App Check
Dodaj ten kod inicjowania do swojej aplikacji, aby uruchamiała się przed użyciem inne pakiety SDK Firebase:
Kotlin+KTX
Firebase.initialize(context = this) Firebase.appCheck.installAppCheckProviderFactory( PlayIntegrityAppCheckProviderFactory.getInstance(), )
Java
FirebaseApp.initializeApp(/*context=*/ this); FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance(); firebaseAppCheck.installAppCheckProviderFactory( PlayIntegrityAppCheckProviderFactory.getInstance());
Dalsze kroki
Po zainstalowaniu biblioteki App Check w aplikacji zacznij rozpowszechniać zaktualizowane aplikacje.
Zaktualizowana aplikacja kliencka zacznie wysyłać App Check tokeny wraz z każdym wysyła żądanie jej do Firebase, ale usługi Firebase nie będą wymagać tokenów będzie ważna do momentu włączenia egzekwowania w sekcji App Check konsoli Firebase.
Monitorowanie wskaźników i włączanie wymuszania
Zanim jednak włączysz wymuszanie, upewnij się, że nie zakłócać działanie istniejących prawidłowych użytkowników. Z drugiej strony, jeśli widzisz podejrzane wykorzystanie zasobów aplikacji, warto włączyć wymuszanie szybciej.
W podjęciu decyzji może pomóc kilka informacji (App Check): używanych usług:
- Monitoruj dane żądań (App Check) dotyczące Realtime Database, Cloud Firestore, Cloud Storage i Authentication (beta).
- Monitoruj dane dotyczące żądań (App Check) związanych z Cloud Functions.
Włącz egzekwowanie zasady App Check
Gdy zrozumiesz, jak App Check wpłynie na Twoich użytkowników, możesz zacząć kontynuuj, możesz włączyć egzekwowanie zasady App Check:
- Włącz egzekwowanie App Check w przypadku Realtime Database, Cloud Firestore, Cloud Storage i Authentication (beta).
- Włącz egzekwowanie App Check w domenie Cloud Functions.
Używaj narzędzia App Check w środowiskach debugowania
Jeśli po zarejestrowaniu aplikacji w usłudze App Check chcesz ją uruchomić w środowisku, którego App Check normalnie nie sklasyfikowałby jako prawidłowe, np. za pomocą emulatora w trakcie programowania lub w ramach integracji ciągłej (CI) możesz utworzyć kompilację do debugowania aplikacji wykorzystującą App Check dostawca debugowania zamiast prawdziwego dostawcy atestu.
Zapoznaj się z sekcją Używanie App Check z dostawcą debugowania na Androidzie.