Android'de SafetyNet ile Uygulama Kontrolü'nü kullanmaya başlayın

Bu sayfada, yerleşik SafetyNet sağlayıcısını kullanarak bir Android uygulamasında App Check'ün nasıl etkinleştirileceği gösterilmektedir. App Check seçeneğini etkinleştirdiğinizde, projenizin Firebase kaynaklarına yalnızca uygulamanızın erişebilmesini sağlarsınız. Bu özelliğe genel bakış

App Check hizmetini kendi özel sağlayıcınızla kullanmak istiyorsanız Özel App Check sağlayıcısı uygulama başlıklı makaleyi inceleyin.

1. Firebase projenizi ayarlama

  1. Henüz yapmadıysanız Firebase'i Android projenize ekleyin.

  2. App Check kullanmak için uygulamalarınızı Firebase konsolunun App Check bölümünde SafetyNet sağlayıcısı ile kaydedin. Uygulamanızın imzalama sertifikasının SHA-256 parmak izini sağlamanız gerekir.

    Bir Firebase ürünü için yaptırımı etkinleştirdiğinizde yalnızca kayıtlı uygulamalar ürünün arka uç kaynaklarına erişebileceğinden genellikle projenizin tüm uygulamalarını kaydetmeniz gerekir.

  3. İsteğe bağlı: Uygulama kaydı ayarlarında, sağlayıcı tarafından verilen App Check jetonları için özel bir geçerlilik süresi (TTL) ayarlayın. TTL'yi 30 dakika ile 7 gün arasında herhangi bir değere ayarlayabilirsiniz. Bu değeri değiştirirken aşağıdaki dengeleri göz önünde bulundurun:

    • Güvenlik: Daha kısa TTL'ler, sızdırılan veya müdahale edilen jetonun bir saldırgan tarafından kötüye kullanılabileceği süreyi kısalttığı için daha güçlü güvenlik sağlar.
    • Performans: Daha kısa TTL'ler, uygulamanızın doğrulamayı daha sık gerçekleştireceği anlamına gelir. Uygulama doğrulama süreci her gerçekleştirildiğinde ağ isteklerine gecikme süresi eklediğinden, kısa bir TTL uygulamanızın performansını etkileyebilir.
    • Kota ve maliyet: Daha kısa TTL'ler ve sık sık yapılan yeniden doğrulama, kotanızı daha hızlı tüketir ve ücretli hizmetler için daha fazla maliyete neden olabilir. Bkz. Kotalar ve sınırlar.

    1 saat olan varsayılan TTL, çoğu uygulama için uygundur. App Check kitaplığının jetonları yaklaşık olarak TTL süresinin yarısında yenilediğini unutmayın.

2. App Check kitaplığını uygulamanıza ekleyin

Modülünüzde (uygulama düzeyinde) Gradle dosyanızda (genellikle app/build.gradle), Android için App Check kitaplığına bağımlılığı bildirin:

dependencies {
    implementation 'com.google.firebase:firebase-appcheck-safetynet:16.1.2'
}

3. App Check başlatılıyor

Diğer Firebase SDK'larını kullanmadan önce çalışması için uygulamanıza aşağıdaki başlatma kodunu ekleyin:

Kotlin+KTX

Firebase.initialize(context = this)
Firebase.appCheck.installAppCheckProviderFactory(
    SafetyNetAppCheckProviderFactory.getInstance()
)

Java

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

Sonraki adımlar

App Check kitaplığı uygulamanıza yüklendikten sonra güncellenmiş uygulamayı kullanıcılarınıza dağıtmaya başlayın.

Güncellenen istemci uygulaması, Firebase'e gönderdiği her istekle birlikte App Check jetonları göndermeye başlar. Ancak Firebase konsolunun App Check bölümünde yaptırımı etkinleştirene kadar Firebase ürünleri, jetonların geçerli olmasını gerektirmez.

Metrikleri izleme ve yaptırımı etkinleştirme

Ancak, zorunlu kılmayı etkinleştirmeden önce, bu işlemin mevcut meşru kullanıcılarınızın çalışmasını engellemediğinden emin olmanız gerekir. Diğer yandan, uygulama kaynaklarınızın şüpheli bir şekilde kullanıldığını görüyorsanız yaptırımı daha erken etkinleştirmek isteyebilirsiniz.

Bu kararı vermenize yardımcı olmak için, kullandığınız hizmetlerdeki App Check metriklerine bakabilirsiniz:

App Check yaptırımını etkinleştirme

App Check'ün kullanıcılarınızı nasıl etkileyeceğini anladıktan ve devam etmeye hazır olduğunuzda App Check yaptırımını etkinleştirebilirsiniz:

  • Realtime Database, Cloud Firestore, Cloud Storage, Authentication (beta) ve Vertex AI in Firebase için App Check yaptırımını etkinleştirin.
  • Cloud Functions için App Check yaptırımını etkinleştirin.

Hata ayıklama ortamlarında App Check kullanma

Uygulamanızı App Check'e kaydettikten sonra, uygulamanızı App Check'in normalde geçerli olarak sınıflandırmayacağı bir ortamda (ör. geliştirme sırasındaki bir emülatör) veya sürekli entegrasyon (CI) ortamında çalıştırmak istiyorsanız gerçek bir doğrulama sağlayıcısı yerine App Check hata ayıklama sağlayıcısını kullanan uygulamanızın hata ayıklama derlemesini oluşturabilirsiniz.

Android'de hata ayıklama sağlayıcısıyla App Check'i kullanma başlıklı makaleyi inceleyin.