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

Z tej strony dowiesz się, jak włączyć funkcję App Check w aplikacji na Androida za pomocą z wbudowanym dostawcą Play Integrity. Gdy włączysz usługę App Check, będziesz mieć pewność, aby dostęp do zasobów Firebase projektu miał tylko aplikacja. Zapoznaj się z omówieniem tej funkcji.

Obecnie wbudowany dostawca Play Integrity obsługuje tylko aplikacje na Androida rozpowszechniana przez Google Play. Aby korzystać z funkcji Play Integrity poza Google Play App Check z własnym dostawcą niestandardowym – zobacz Zaimplementuj niestandardowego dostawcę App Check.

1. Skonfiguruj projekt Firebase

  1. Dodaj Firebase do projektu na Androida, jeśli nie zostało to jeszcze zrobione.

  2. Włącz interfejs Play Integrity API:

    1. W Konsoli Google Play: wybierz aplikację lub dodaj ją, jeśli nie została jeszcze dodana.

    2. W sekcji Wersja kliknij Integralność aplikacji.

    3. Przejdź do sekcji Interfejs Play Integrity API, kliknij Połącz z projektem Cloud, a następnie wybierz projekt Firebase z listy projektów Google Cloud. Projekt, który wybierzesz w tym miejscu, musi być tym samym projektem Firebase co w którym jest zarejestrowana aplikacja (patrz następny krok).

  3. Zarejestruj aplikacje, aby używać App Check u dostawcy Play Integrity w sekcji App Check w konsoli Firebase. Musisz dostarczyć odcisk cyfrowy SHA-256 certyfikatu podpisywania aplikacji.

    Zwykle konieczne jest zarejestrowanie wszystkich aplikacji związanych z projektem, ponieważ włączysz egzekwowanie zasad dla usługi Firebase, tylko zarejestrowane aplikacje będą mogły na dostęp do zasobów backendu usługi.

  4. Opcjonalnie: w ustawieniach rejestracji aplikacji ustaw niestandardowy czas życia danych (TTL) dla tokenów App Check wydanych przez dostawcę. Wartość TTL możesz ustawić na dowolną wartość od 30 minut do 7 dni. Zmieniając tę wartość, pamiętaj o tych wadach:

    • Bezpieczeństwo: krótsze wartości TTL zapewniają silniejsze zabezpieczenia, ponieważ zmniejszają okno, w którym ujawniony lub przechwycony token może zostać wykorzystany przez atakującego.
    • Wydajność: krótsze wartości TTL oznaczają większą wydajność atestu aplikacji często. Ponieważ proces poświadczania aplikacji zwiększa opóźnienie sieci. żądań przy każdym wykonaniu, krótki czas TTL może wpływać na wydajność Twojej aplikacji.
    • Limit i koszt: krótsze okresy ważności i częste ponowne uwierzytelnianie powodują szybsze wyczerpywanie limitu, a w przypadku płatnych usług mogą też zwiększać koszty. Zobacz Limity i .

    Domyślna wartość TTL, czyli 1 godzina, jest odpowiednia w przypadku większości aplikacji. Pamiętaj, że biblioteka App Check jest odświeżana tokeny z mniej więcej połowę czasu TTL.

2. Dodawanie biblioteki App Check do aplikacji

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

dependencies {
    // Import the BoM for the Firebase platform
    implementation(platform("com.google.firebase:firebase-bom:33.4.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 narzędzia Firebase Android BoM, Twoja aplikacja zawsze używa zgodnych wersji bibliotek Firebase na Androida.

(Wersja alternatywna) Dodaj zależności biblioteki Firebase bez użycia komponentu BoM

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

Pamiętaj, że jeśli używasz wielu bibliotek Firebase w aplikacji, zalecamy korzystanie z BoM do zarządzania wersjami biblioteki. Dzięki temu 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 dla Kotlina? Od października 2023 r. (Firebase BoM 32.5.0) deweloperzy Kotlina i Java mogą korzystać z głównego modułu biblioteki (szczegółowe informacje znajdziesz w często zadawanych pytaniach dotyczących tej inicjatywy).

3. Inicjowanie App Check

Dodaj ten kod inicjowania do swojej aplikacji, aby uruchamiała się przed użyciem inne pakiety 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 App Check w aplikacji zacznij rozpowszechniać zaktualizowane aplikacje.

Zaktualizowana aplikacja kliencka zacznie wysyłać App Check tokeny wraz z każdym wysyła żądanie jej do Firebase, ale usługi Firebase nie będą wymagać tokenów będzie ważna do momentu włączenia egzekwowania w sekcji App Check konsoli Firebase.

Monitorowanie danych i włączanie egzekwowania

Zanim jednak włączysz wymuszanie, upewnij się, że nie spowoduje to zakłócać działanie istniejących prawidłowych użytkowników. Z drugiej strony, jeśli widzisz podejrzane wykorzystanie zasobów aplikacji, warto włączyć wymuszanie szybciej.

W podjęciu decyzji może pomóc kilka informacji (App Check): używanych usług:

Włącz egzekwowanie zasady App Check

Gdy zrozumiesz, jak App Check wpłynie na Twoich użytkowników, możesz zacząć kontynuuj, możesz włączyć egzekwowanie zasady App Check:

Używanie App Check w środowiskach debugowania

Jeśli po zarejestrowaniu aplikacji w usłudze App Check chcesz ją uruchomić w środowisku, którego App Check normalnie nie sklasyfikowałby jako prawidłowe, np. za pomocą emulatora w trakcie programowania lub w ramach integracji ciągłej (CI) możesz utworzyć kompilację do debugowania aplikacji wykorzystującą App Check dostawca debugowania zamiast prawdziwego dostawcy atestu.

Zapoznaj się z sekcją Używanie App Check z dostawcą debugowania na Androidzie.