Pierwsze kroki ze Sprawdzaniem aplikacji za pomocą Play Integrity na Androidzie

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

  1. Dodaj Firebase do swojego projektu na Androida, jeśli jeszcze go nie masz.

  2. Włącz interfejs Play Integrity API:

    1. Wybierz swoją aplikację w Konsoli Google Play lub dodaj ją, jeśli jeszcze jej nie masz.

    2. W sekcji Wersja kliknij Integralność aplikacji.

    3. 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).

  3. 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.

  4. 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")
}
Szukasz modułu biblioteki korzystającego z usługi Kotlin? Od października 2023 r. (Firebase BoM 32.5.0) zarówno deweloperzy aplikacji Kotlin, jak i języki Java mogą korzystać z modułu biblioteki głównej (więcej informacji znajdziesz w odpowiedziach na najczęstsze pytania o tę inicjatywę).

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:

Włącz wymuszanie Sprawdzania aplikacji

Gdy zrozumiesz, jak Sprawdzanie aplikacji wpłynie na Twoich użytkowników, możesz włączyć wymuszanie Sprawdzania aplikacji:

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.