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

Bu sayfa, yerleşik Play Integrity sağlayıcısını kullanarak bir Android uygulamasında Uygulama Kontrolü'nü nasıl etkinleştireceğinizi gösterir. Uygulama Kontrolü'nü etkinleştirdiğinizde projenizin Firebase kaynaklarına yalnızca uygulamanızın erişebilmesini sağlamaya yardımcı olursunuz. Bu özelliğe Genel Bakış'a bakın.

Şu anda yerleşik Play Integrity sağlayıcısı yalnızca Google Play tarafından dağıtılan Android uygulamalarını desteklemektedir. Play Integrity'nin Play dışı özelliklerini kullanmak veya Uygulama Kontrolü'nü kendi özel sağlayıcınızla kullanmak için Özel bir Uygulama Kontrolü sağlayıcısı uygulama konusuna bakın.

1. Firebase projenizi kurun

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

  2. Play Integrity API'yi etkinleştirin:

    1. Google Play Console'da uygulamanızı seçin veya henüz yapmadıysanız ekleyin.

    2. Sürüm bölümünde Uygulama bütünlüğü'nü tıklayın.

    3. Sayfanın Play Integrity API bölümüne gidin, Cloud projesini bağlayın'ı tıklayın ve ardından Google Cloud projeleri listesinden Firebase projenizi seçin. Burada seçtiğiniz proje, uygulamanızı kaydettiğiniz projeyle aynı Firebase projesi olmalıdır (sonraki adıma bakın).

  3. Firebase konsolunun Uygulama Kontrolü bölümünde Uygulama Kontrolü'nü kullanmak için uygulamalarınızı Play Integrity sağlayıcısına kaydedin. Uygulamanızın imzalama sertifikasının SHA-256 parmak izini sağlamanız gerekecektir.

    Genellikle projenizin tüm uygulamalarını kaydetmeniz gerekir; çünkü 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şebilir.

  4. İsteğe bağlı : Uygulama kayıt ayarlarında, sağlayıcı tarafından verilen Uygulama Kontrolü belirteçleri için özel bir yaşam 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 ödünleşimlere dikkat edin:

    • Güvenlik: Daha kısa TTL'ler daha güçlü güvenlik sağlar çünkü sızdırılan veya ele geçirilen bir token'ın bir saldırgan tarafından kötüye kullanılabileceği pencereyi azaltır.
    • Performans: Daha kısa TTL'ler, uygulamanızın daha sık doğrulama gerçekleştireceği anlamına gelir. Uygulama doğrulama süreci, her gerçekleştirilişinde ağ isteklerine gecikme kattığı için kısa bir TTL, uygulamanızın performansını etkileyebilir.
    • Kota ve maliyet: Daha kısa TTL'ler ve sık sık yeniden doğrulama, kotanızı daha hızlı tüketir ve ücretli hizmetler için potansiyel olarak daha fazla maliyete neden olur. Bkz . Kotalar ve sınırlar .

    Varsayılan 1 saatlik TTL çoğu uygulama için makuldür. Uygulama Denetimi kitaplığının belirteçleri TTL süresinin yaklaşık yarısında yenilediğini unutmayın.

2. Uygulama Kontrolü kitaplığını uygulamanıza ekleyin

Modülünüzde (uygulama düzeyi) Gradle dosyanızda (genellikle <project>/<app-module>/build.gradle.kts veya <project>/<app-module>/build.gradle ), Uygulama Kontrolü bağımlılığını ekleyin Android için kütüphane. Kitaplık sürümlerini kontrol etmek için Firebase Android BoM'yi kullanmanızı öneririz.

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

    // 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")
}

Firebase Android BoM'yi kullandığınızda uygulamanız her zaman Firebase Android kitaplıklarının uyumlu sürümlerini kullanır.

(Alternatif) BoM'yi kullanmadan Firebase kitaplığı bağımlılıklarını ekleyin

Firebase BoM'yi kullanmamayı tercih ederseniz her Firebase kitaplığı sürümünü bağımlılık satırında belirtmeniz gerekir.

Uygulamanızda birden fazla Firebase kitaplığı kullanıyorsanız kitaplık sürümlerini yönetmek için tüm sürümlerin uyumlu olmasını sağlayan BoM'yi kullanmanızı önemle tavsiye ederiz.

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:17.1.2")
}
Kotlin'e özgü bir kütüphane modülü mü arıyorsunuz? Ekim 2023'ten (Firebase BoM 32.5.0) itibaren hem Kotlin hem de Java geliştiricileri ana kütüphane modülüne güvenebilecekler (ayrıntılar için bu girişimle ilgili SSS bölümüne bakın).

3. Uygulama Kontrolünü Başlatın

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

Kotlin+KTX

Firebase.initialize(context = this)
Firebase.appCheck.installAppCheckProviderFactory(
    PlayIntegrityAppCheckProviderFactory.getInstance(),
)

Java

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

Sonraki adımlar

Uygulama Kontrolü kitaplığı uygulamanıza yüklendikten sonra güncellenen uygulamayı kullanıcılarınıza dağıtmaya başlayın.

Güncellenen istemci uygulaması, Firebase'e yaptığı her istekle birlikte Uygulama Kontrolü jetonları göndermeye başlayacaktır, ancak Firebase ürünleri, Firebase konsolunun Uygulama Kontrolü bölümünde zorunlu kılmayı etkinleştirene kadar jetonların geçerli olmasını gerektirmeyecektir.

Metrikleri izleyin ve uygulamayı etkinleştirin

Ancak yaptırımı etkinleştirmeden önce, bunu yapmanın mevcut meşru kullanıcılarınızı aksatmayacağından emin olmalısınız. Öte 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ı olması için kullandığınız hizmetlere ilişkin Uygulama Kontrolü metriklerine bakabilirsiniz:

Uygulama Kontrolü yaptırımını etkinleştir

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

Hata ayıklama ortamlarında Uygulama Kontrolü'nü kullanın

Uygulamanızı Uygulama Kontrolü için kaydettirdikten sonra uygulamanızı, geliştirme sırasındaki bir öykünücü gibi Uygulama Kontrolü'nün normalde geçerli olarak sınıflandırmayacağı bir ortamda veya sürekli entegrasyon (CI) ortamında çalıştırmak istiyorsanız, şunları yapabilirsiniz: Uygulamanızın, gerçek bir doğrulama sağlayıcısı yerine Uygulama Denetimi hata ayıklama sağlayıcısını kullanan bir hata ayıklama yapısı oluşturun.

Bkz. Android'de hata ayıklama sağlayıcısıyla Uygulama Kontrolü'nü kullanma .