Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

Zacznij korzystać z App Check z Play Integrity na Androidzie

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.

Na tej stronie pokazano, jak włączyć sprawdzanie aplikacji w aplikacji na Androida przy użyciu wbudowanego dostawcy Play Integrity. Po włączeniu Kontroli aplikacji zapewniasz, że tylko Twoja aplikacja ma dostęp do zasobów Firebase 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 korzystać z funkcji App Check z własnym niestandardowym dostawcą, zobacz Implementowanie niestandardowego dostawcy App Check .

1. Skonfiguruj projekt Firebase

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

  2. Włącz interfejs Play Integrity API:

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

    2. W sekcji Wydanie kliknij kolejno Konfiguracja > Integralność aplikacji .

    3. Na stronie Integrity API kliknij Połącz projekt , a następnie wybierz swój projekt Firebase z listy projektów Google Cloud.

      Wybrany tutaj projekt musi być tym samym projektem Firebase, w którym rejestrujesz swoją aplikację (patrz następny krok).

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

    Zwykle musisz zarejestrować wszystkie aplikacje swojego projektu, ponieważ po włączeniu wymuszania dla produktu Firebase tylko zarejestrowane aplikacje będą miały 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 wydanych przez dostawcę. Możesz ustawić TTL na dowolną wartość z zakresu od 30 minut do 7 dni. Zmieniając tę ​​wartość, pamiętaj o następujących kompromisach:

    • Bezpieczeństwo: Krótsze TTL zapewniają większe bezpieczeństwo, ponieważ zmniejszają okno, w którym przeciek lub przechwycony token może zostać nadużyty przez atakującego.
    • Wydajność: krótsze czasy TTL oznaczają, że Twoja aplikacja będzie częściej przeprowadzać atestację. Ponieważ proces zaświadczania aplikacji zwiększa opóźnienie żądań sieciowych za każdym razem, gdy jest wykonywany, krótki czas TTL może wpłynąć na wydajność aplikacji.
    • Limit i koszt: krótsze czasy oczekiwania i częste ponowna atestacja szybciej zmniejszają Twój limit, a w przypadku usług płatnych potencjalnie kosztują więcej. Zobacz Kontyngenty i limity .

    Domyślny czas TTL wynoszący 1 godzinę jest rozsądny dla większości aplikacji. Zwróć uwagę, że biblioteka App Check odświeża tokeny po około połowie czasu TTL.

2. Dodaj bibliotekę App Check do swojej aplikacji

W pliku Gradle modułu (na poziomie aplikacji) (zwykle <project>/<app-module>/build.gradle ) dodaj zależność dla biblioteki App Check Android. Zalecamy używanie Firebase Android BoM do kontrolowania wersji bibliotek.

Java

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

    // Add the dependency for the App Check library
    // 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 używać zgodnych wersji bibliotek Firebase na Androida.

(Alternatywnie) Dodaj zależności biblioteki Firebase bez korzystania z BoM

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

Pamiętaj, że jeśli korzystasz z wielu bibliotek Firebase w swojej aplikacji, zdecydowanie zalecamy używanie BoM do zarządzania wersjami bibliotek, co zapewnia zgodność wszystkich wersji.

dependencies {
    // Add the dependency for the App Check library
    // When NOT using the BoM, you must specify versions in Firebase library dependencies
    implementation 'com.google.firebase:firebase-appcheck-playintegrity:16.0.2'
}

Kotlin+KTX

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

    // Add the dependency for the App Check library
    // 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 używać zgodnych wersji bibliotek Firebase na Androida.

(Alternatywnie) Dodaj zależności biblioteki Firebase bez korzystania z BoM

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

Pamiętaj, że jeśli korzystasz z wielu bibliotek Firebase w swojej aplikacji, zdecydowanie zalecamy używanie BoM do zarządzania wersjami bibliotek, co zapewnia zgodność wszystkich wersji.

dependencies {
    // Add the dependency for the App Check library
    // When NOT using the BoM, you must specify versions in Firebase library dependencies
    implementation 'com.google.firebase:firebase-appcheck-playintegrity:16.0.2'
}

3. Zainicjuj sprawdzanie aplikacji

Dodaj następujący kod inicjujący do swojej aplikacji, aby działała przed użyciem innych pakietów SDK Firebase:

Java

FirebaseApp.initializeApp(/*context=*/ this);
FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance();
firebaseAppCheck.installAppCheckProviderFactory(
        PlayIntegrityAppCheckProviderFactory.getInstance());

Kotlin+KTX

FirebaseApp.initializeApp(/*context=*/this)
val firebaseAppCheck = FirebaseAppCheck.getInstance()
firebaseAppCheck.installAppCheckProviderFactory(
    PlayIntegrityAppCheckProviderFactory.getInstance()
)

Następne kroki

Po zainstalowaniu biblioteki Sprawdzanie aplikacji w Twojej 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 wysł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łącz egzekwowanie

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

Aby pomóc w podjęciu tej decyzji, możesz przyjrzeć się wskaźnikom Kontroli aplikacji dla usług, z których korzystasz:

Włącz wymuszanie sprawdzania aplikacji

Gdy zrozumiesz, w jaki sposób Kontrola aplikacji wpłynie na użytkowników i będziesz gotowy do kontynuowania, możesz włączyć wymuszanie kontroli aplikacji:

Użyj sprawdzania aplikacji w środowiskach debugowania

Jeśli po zarejestrowaniu aplikacji do sprawdzania aplikacji chcesz uruchomić aplikację w środowisku, którego Sprawdzanie aplikacji normalnie nie klasyfikuje jako prawidłowe, takim jak emulator podczas opracowywania lub ze środowiska ciągłej integracji (CI), możesz utwórz kompilację debugowania swojej aplikacji, która używa dostawcy debugowania sprawdzania aplikacji zamiast rzeczywistego dostawcy poświadczania.

Zobacz Używanie sprawdzania aplikacji z dostawcą debugowania w systemie Android .