Pierwsze kroki ze Sprawdzaniem aplikacji w ramach Play Integrity na Androidzie

Na tej stronie 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 aplikacja ma dostęp do zasobów Firebase projektu. Zobacz Omówienie tej funkcji.

Obecnie wbudowany dostawca Play Integrity obsługuje tylko aplikacje na Androida rozpowszechniane w Google Play. Jeśli chcesz używać funkcji Play Integrity poza Google Play lub sprawdzania aplikacji u własnego dostawcy niestandardowego, przeczytaj artykuł o implementowaniu 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. W Konsoli Google Play wybierz aplikację lub dodaj ją, jeśli jeszcze jej nie masz.

    2. W sekcji Wersja kliknij Integralność aplikacji.

    3. Otwórz na stronie sekcję Play Integrity API, kliknij Połącz z projektem Cloud i wybierz 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. W sekcji Sprawdzanie aplikacji w konsoli Firebase możesz zarejestrować swoje aplikacje w celu korzystania z funkcji Sprawdzania aplikacji u dostawcy Play Integrity. Musisz podać odcisk cyfrowy SHA-256 certyfikatu podpisywania aplikacji.

    Zwykle konieczne jest zarejestrowanie wszystkich aplikacji projektu, ponieważ po włączeniu wymuszania dla usługi Firebase tylko zarejestrowane aplikacje będą miały dostęp do zasobów backendu usługi.

  4. Opcjonalnie: w ustawieniach rejestracji aplikacji ustaw niestandardowy czas życia danych (TTL) dla tokenów Sprawdzania aplikacji wystawionych przez dostawcę. TTL możesz ustawić na dowolną wartość z zakresu od 30 minut do 7 dni. Podczas zmiany tej wartości pamiętaj o tych wadach:

    • Bezpieczeństwo: krótsza wartość TTL zapewnia silniejsze zabezpieczenia, ponieważ skraca okno, przez które atakujący może wykorzystać wyciek lub przechwycony token.
    • Wydajność: krótsze wartości TTL oznaczają, że aplikacja będzie częściej wykonywać poświadczanie. Ponieważ proces atestu aplikacji wydłuża czas oczekiwania na żądania sieciowe przy każdym wykonaniu, krótki czas TTL może mieć wpływ na wydajność aplikacji.
    • Limit i koszt: krótszy czas TTL i częste ponowne poświadczanie sprawiają, że limit szybciej się wyczerpuje, a usługi płatne mogą kosztować więcej. Zobacz Limity.

    Domyślna wartość TTL wynosząca 1 godzinę jest uzasadniona w przypadku większości aplikacji. Pamiętaj, że biblioteka sprawdzania aplikacji odświeża tokeny około połowy czasu TTL.

2. Dodawanie biblioteki Sprawdzania aplikacji do aplikacji

W pliku Gradle na poziomie modułu (na poziomie aplikacji) (zwykle <project>/<app-module>/build.gradle.kts lub <project>/<app-module>/build.gradle) dodaj zależność do biblioteki sprawdzania aplikacji na Androida. Do kontrolowania obsługi wersji biblioteki zalecamy używanie BOM Firebase na Androida.

dependencies {
    // Import the BoM for the Firebase platform
    implementation(platform("com.google.firebase:firebase-bom:33.1.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")
}

Dzięki wykorzystaniu BM od Firebase Android Twoja aplikacja zawsze będzie używała zgodnych wersji bibliotek Firebase na Androida.

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

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

Pamiętaj, że jeśli w aplikacji używasz wielu bibliotek Firebase, zdecydowanie zalecamy korzystanie z BoM do zarządzania wersjami biblioteki. Zapewni to zgodność wszystkich wersji.

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 dotyczącego konkretnego narzędzia Kotlin? Od października 2023 r. (Firebase BoM w wersji 32.5.0) deweloperzy korzystający z Kotlin i Javy mogą korzystać z modułu biblioteki głównej (szczegółowe informacje znajdziesz w odpowiedziach na najczęstsze pytania na temat tej inicjatywy).

3. Zainicjuj Sprawdzanie aplikacji

Dodaj ten kod inicjowania do aplikacji, aby działała 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

Po zainstalowaniu biblioteki Sprawdzania aplikacji rozpocznij rozpowszechnianie zaktualizowanej aplikacji wśród użytkowników.

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

Monitorowanie wskaźników i włączanie egzekwowania zasad

Zanim jednak włączysz egzekwowanie zasad, upewnij się, że nie wpłynie to na działanie usługi dla dotychczasowych, uprawnionych użytkowników. Z drugiej strony, jeśli zauważysz podejrzane zasoby aplikacji, możesz je włączyć jak najszybciej.

Aby ułatwić sobie decyzję, możesz przyjrzeć się danym funkcji Sprawdzanie aplikacji dla używanych przez Ciebie usług:

Włącz wymuszanie Sprawdzania aplikacji

Gdy już dowiesz się, 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 w Sprawdzaniu aplikacji chcesz ją uruchomić w środowisku, którego Sprawdzanie aplikacji normalnie nie sklasyfikowałoby jako prawidłowego, np. w emulatorze w trakcie 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 rzeczywistego dostawcy atestu.

Zapoznaj się z artykułem na temat korzystania ze Sprawdzania aplikacji przy pomocy dostawcy debugowania na urządzeniu z Androidem.