Zacznij korzystać z Sprawdzania aplikacji w Play Integrity na Androidzie

Na tej stronie pokazano, jak włączyć Sprawdzanie aplikacji w aplikacji na Androida, korzystając z wbudowanego dostawcy Play Integrity. Włączając Sprawdzanie aplikacji, możesz mieć pewność, że tylko Twoja aplikacja będzie miała dostęp do zasobów Firebase Twojego projektu. Zobacz przegląd tej funkcji.

Obecnie wbudowany dostawca Play Integrity obsługuje tylko aplikacje na Androida dystrybuowane przez Google Play. Aby korzystać z funkcji Play Integrity poza Play lub sprawdzać aplikację u własnego niestandardowego dostawcy, zobacz Implementowanie niestandardowego dostawcy sprawdzania aplikacji .

1. Skonfiguruj projekt Firebase

  1. Dodaj Firebase do swojego projektu na Androida, jeśli jeszcze tego nie zrobiłeś.

  2. Włącz interfejs API Play Integrity:

    1. W Konsoli Google Play wybierz swoją aplikację lub dodaj ją, jeśli jeszcze tego nie zrobiłeś.

    2. W sekcji Wersja kliknij Integralność aplikacji .

    3. Przejdź do sekcji Play Integrity API na stronie, kliknij opcję Połącz projekt Cloud , a następnie wybierz swój projekt Firebase z listy projektów Google Cloud. Projekt, który tutaj wybierzesz, musi być tym samym projektem Firebase, co ten, w którym rejestrujesz aplikację (patrz następny krok).

  3. Zarejestruj swoje aplikacje, aby móc korzystać z Sprawdzania aplikacji u dostawcy Play Integrity w sekcji Sprawdzanie aplikacji w konsoli Firebase. Musisz podać odcisk palca SHA-256 certyfikatu podpisywania aplikacji.

    Zwykle musisz zarejestrować wszystkie aplikacje w swoim projekcie, ponieważ po włączeniu wymuszania dla produktu Firebase tylko zarejestrowane aplikacje będą mogły uzyskać dostęp do zasobów zaplecza produktu.

  4. Opcjonalnie : w ustawieniach rejestracji aplikacji ustaw niestandardowy czas wygaśnięcia (TTL) dla tokenów Sprawdzania aplikacji wydawanych przez dostawcę. Można ustawić TTL na dowolną wartość z zakresu od 30 minut do 7 dni. Zmieniając tę ​​wartość, należy pamiętać o następujących kompromisach:

    • Bezpieczeństwo: Krótsze czasy TTL zapewniają większe bezpieczeństwo, ponieważ zmniejszają okno, w którym atakujący może wykorzystać wyciekający lub przechwycony token.
    • Wydajność: krótsze czasy TTL oznaczają, że aplikacja będzie częściej przeprowadzać atestację. Ponieważ proces zaświadczania aplikacji za każdym razem zwiększa opóźnienie żądań sieciowych, krótki czas TTL może mieć wpływ na wydajność aplikacji.
    • Limit i koszt: Krótsze TTL i częste ponowne atesty szybciej wyczerpują Twój limit, a w przypadku usług płatnych potencjalnie kosztują więcej. Zobacz Przydziały i limity .

    Domyślny TTL wynoszący 1 godzinę jest rozsądny w przypadku większości aplikacji. Należy pamiętać, że biblioteka sprawdzania aplikacji odświeża tokeny w przybliżeniu o połowę czasu trwania TTL.

2. Dodaj bibliotekę App Check do swojej 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ść dla App Check biblioteka dla Androida. Zalecamy używanie Firebase Android BoM do kontrolowania wersji bibliotek.

dependencies {
    // Import the BoM for the Firebase platform
    implementation(platform("com.google.firebase:firebase-bom:32.8.0"))

    // 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 Firebase Android BoM , Twoja aplikacja będzie zawsze korzystać z kompatybilnych wersji bibliotek Firebase Android.

(Alternatywa) Dodaj zależności biblioteki Firebase bez użycia BoM

Jeśli zdecydujesz się nie używać BoM Firebase, musisz określić każdą wersję biblioteki Firebase w jej wierszu zależności.

Pamiętaj, że jeśli używasz w swojej aplikacji wielu bibliotek Firebase, zdecydowanie zalecamy używanie BoM do zarządzania wersjami bibliotek, co gwarantuje, że wszystkie wersje będą kompatybilne.

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:17.1.2")
}
Szukasz modułu bibliotecznego specyficznego dla Kotlina? Począwszy od października 2023 r. (Firebase BoM 32.5.0) zarówno programiści Kotlin, jak i Java mogą polegać na głównym module biblioteki (więcej informacji można znaleźć w często zadawanych pytaniach dotyczących tej inicjatywy ).

3. Zainicjuj sprawdzanie aplikacji

Dodaj następujący kod inicjujący do swojej aplikacji, aby działała przed użyciem jakichkolwiek 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());

Następne kroki

Po zainstalowaniu biblioteki App Check w aplikacji rozpocznij dystrybucję zaktualizowanej aplikacji wśród użytkowników.

Zaktualizowana aplikacja kliencka zacznie wysyłać tokeny Sprawdzania aplikacji wraz z każdym żądaniem wysyłanym do Firebase, ale produkty Firebase nie będą wymagać, aby tokeny były ważne, dopóki nie włączysz wymuszania w sekcji Sprawdzanie aplikacji w konsoli Firebase.

Monitoruj metryki i włączaj egzekwowanie

Zanim jednak włączysz wymuszanie, upewnij się, że nie zakłóci to działania istniejących legalnych użytkowników. Z drugiej strony, jeśli zauważysz podejrzane wykorzystanie zasobów aplikacji, możesz wcześniej włączyć egzekwowanie zasad.

Aby pomóc w podjęciu tej decyzji, możesz sprawdzić dane App Check dotyczące usług, z których korzystasz:

Włącz wymuszanie sprawdzania aplikacji

Kiedy już zrozumiesz, jak Kontrola aplikacji wpłynie na Twoich użytkowników i będziesz gotowy, aby kontynuować, możesz włączyć wymuszanie Sprawdzania aplikacji:

Użyj sprawdzania aplikacji w środowiskach debugowania

Jeśli po zarejestrowaniu aplikacji w Kontroli aplikacji chcesz ją uruchomić w środowisku, którego weryfikacja aplikacji normalnie nie sklasyfikowałaby jako prawidłowe, na przykład w emulatorze podczas programowania lub w środowisku ciągłej integracji (CI), możesz utwórz kompilację debugowania swojej aplikacji, która korzysta z dostawcy debugowania App Check zamiast prawdziwego dostawcy zaświadczenia.

Zobacz Korzystanie z funkcji sprawdzania aplikacji u dostawcy debugowania w systemie Android .