Z tej strony dowiesz się, jak włączyć Sprawdzanie aplikacji w aplikacji na Androida przy użyciu wbudowanego dostawcy Play Integrity. Włączenie Sprawdzania aplikacji daje pewność, że tylko Twoja aplikacja ma dostęp do zasobów Firebase projektu. Zapoznaj się z omówieniem tej funkcji.
Obecnie wbudowany dostawca Play Integrity obsługuje tylko aplikacje na Androida rozpowszechniane w Google Play. Aby dowiedzieć się, jak korzystać z funkcji Play Integrity poza Google Play lub używać Sprawdzania aplikacji z własnym dostawcą niestandardowym, przeczytaj artykuł Implementowanie niestandardowego dostawcy Sprawdzania aplikacji.
1. Skonfiguruj projekt Firebase
Dodaj Firebase do swojego projektu na Androida, jeśli jeszcze go nie masz.
Włącz interfejs Play Integrity API:
Wybierz swoją aplikację w Konsoli Google Play lub dodaj ją, jeśli jeszcze jej nie masz.
W sekcji Wersja kliknij Integralność aplikacji.
Otwórz na tej stronie sekcję Play Integrity API, kliknij Połącz z projektem Cloud, a potem wybierz swój projekt Firebase z listy projektów Google Cloud. Wybrany tutaj projekt musi być tym samym projektem Firebase co projekt, w którym rejestrujesz aplikację (patrz następny krok).
Zarejestruj swoje aplikacje, aby używać Sprawdzania aplikacji z dostawcą Play Integrity w sekcji Sprawdzanie aplikacji w konsoli Firebase. Musisz podać odcisk cyfrowy SHA-256 certyfikatu podpisywania aplikacji.
Zwykle musisz zarejestrować wszystkie aplikacje projektu, ponieważ po włączeniu egzekwowania zasad w usłudze Firebase tylko zarejestrowane aplikacje będą miały dostęp do zasobów backendu tej usługi.
Opcjonalnie: w ustawieniach rejestracji aplikacji ustaw niestandardowy czas życia (TTL) dla tokenów Sprawdzania aplikacji wystawionych przez dostawcę. TTL możesz ustawić na dowolną wartość z zakresu od 30 minut do 7 dni. Zmieniając tę wartość, pamiętaj o tych kompromisach:
- Bezpieczeństwo: krótsze wartości TTL to większe bezpieczeństwo, ponieważ zmniejszają okno, w którym ujawniony lub przechwycony token może zostać wykorzystany przez atakującego.
- Wydajność: krótsze wartości TTL oznaczają, że aplikacja będzie wykonywać atest częściej. Proces poświadczania aplikacji zwiększa opóźnienie żądań sieciowych za każdym razem, dlatego krótki czas TTL może wpływać na wydajność aplikacji.
- Limit i koszt: krótsze wartości TTL i częste ponowne atesty szybciej wyczerpują limit, a w przypadku usług płatnych mogą kosztować więcej. Zobacz Limity.
Domyślny czas TTL wynoszący 1 godzinę jest rozsądny w przypadku większości aplikacji. Pamiętaj, że biblioteka Sprawdzania aplikacji odświeża tokeny z około połowę czasu TTL.
2. Dodawanie biblioteki Sprawdzania aplikacji do aplikacji
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ą Sprawdzania aplikacji na Androida. Do kontrolowania obsługi wersji biblioteki zalecamy używanie funkcji Firebase Android BoM.
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") }
Dzięki użyciu BoM Firebase Android BoM Twoja aplikacja zawsze używa zgodnych wersji bibliotek Firebase na Androida.
(Alternatywnie) Dodawanie zależności bibliotek Firebase bez korzystania z BM
Jeśli nie chcesz używać Firebase BoM, musisz określić każdą wersję biblioteki Firebase w wierszu zależności.
Pamiętaj, że jeśli w swojej aplikacji używasz wielu bibliotek Firebase, zdecydowanie zalecamy korzystanie z BoM do zarządzania wersjami bibliotek. Dzięki temu będziesz mieć pewność, że 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 Sprawdzanie aplikacji
Dodaj do swojej aplikacji poniższy kod inicjowania, aby uruchamiała się przed użyciem innych pakietów 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
Gdy zainstalujesz w aplikacji bibliotekę Sprawdzanie aplikacji, zacznij rozpowszechniać zaktualizowaną aplikację wśród użytkowników.
Zaktualizowana aplikacja kliencka zacznie wysyłać tokeny Sprawdzania aplikacji wraz z każdym żądaniem do Firebase, ale usługi Firebase nie będą wymagały ważności tokenów, dopóki nie włączysz wymuszania w sekcji Sprawdzanie aplikacji w konsoli Firebase.
Monitorowanie wskaźników i włączanie wymuszania
Zanim jednak włączysz egzekwowanie, upewnij się, że nie zakłóci to działania istniejących prawidłowych użytkowników. Jeśli natomiast zauważysz podejrzane wykorzystanie zasobów aplikacji, możesz szybciej włączyć egzekwowanie.
Aby ułatwić sobie podjęcie tej decyzji, możesz przejrzeć wskaźniki Sprawdzania aplikacji dotyczące używanych przez Ciebie usług:
- Monitorowanie wskaźników żądań Sprawdzania aplikacji dotyczących Bazy danych czasu rzeczywistego, Cloud Firestore, Cloud Storage i uwierzytelniania (w wersji beta).
- Monitorowanie wskaźników żądań Sprawdzania aplikacji w Cloud Functions
Włącz wymuszanie Sprawdzania aplikacji
Gdy zrozumiesz, jak Sprawdzanie aplikacji wpłynie na Twoich użytkowników, możesz włączyć wymuszanie Sprawdzania aplikacji:
- Włącz wymuszanie Sprawdzania aplikacji w przypadku Bazy danych czasu rzeczywistego, Cloud Firestore, Cloud Storage i uwierzytelniania (w wersji beta).
- Włącz wymuszanie Sprawdzania aplikacji w Cloud Functions.
Używanie Sprawdzania aplikacji w środowiskach debugowania
Jeśli po zarejestrowaniu aplikacji na potrzeby Sprawdzania aplikacji chcesz uruchamiać ją w środowisku, którego Sprawdzanie aplikacji zwykle nie klasyfikowałoby jako prawidłowe, np. w emulatorze podczas programowania lub w środowisku ciągłej integracji (CI), możesz utworzyć kompilację do debugowania aplikacji, która korzysta z dostawcy debugowania Sprawdzania aplikacji zamiast prawdziwego dostawcy atestu.
Zapoznaj się z artykułem na temat używania Sprawdzania aplikacji z dostawcą debugowania na Androidzie.