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

Bu sayfada, yerleşik Play Integrity sağlayıcısını kullanarak bir Android uygulamasında Uygulama Kontrolü'nün nasıl etkinleştirileceği gösterilmektedir. Uygulama Kontrolü'nü etkinleştirerek, projenizin Firebase kaynaklarına yalnızca uygulamanızın erişebildiğinden emin olabilirsiniz. Bu özelliğe Genel Bakış'ı inceleyin.

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

1. Firebase projenizi oluşturma

  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 eklemediyseniz 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 projesi bağla'yı 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. Uygulama Kontrolü'nü kullanmak için Firebase konsolunun Uygulama Kontrolü bölümünde Play Integrity sağlayıcısıyla uygulamalarınızı kaydedin. Uygulamanızın imzalama sertifikasının SHA-256 parmak izini sağlamanız gerekir.

    Bir Firebase ürünü için zorunlu kılmayı etkinleştirdiğinizde yalnızca kayıtlı uygulamalar ürünün arka uç kaynaklarına erişebilir. Bu nedenle genellikle projenizin tüm uygulamalarını kaydetmeniz gerekir.

  4. İsteğe bağlı: Uygulama kaydı ayarlarında, sağlayıcının verdiği Uygulama Kontrolü jetonları için özel bir geçerlilik süresi (TTL) belirleyin. 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 ele geçirilen bir jetonun bir saldırgan tarafından kötüye kullanılabileceği zaman aralığını kısalttığı için daha güçlü güvenlik sağlar.
    • Performans: Daha kısa TTL'ler, uygulamanızın onay işlemini daha sık gerçekleştireceği anlamına gelir. Uygulama onay süreci, her gerçekleştirildiğinde ağ isteklerine gecikme eklediğinden, kısa bir TTL uygulamanızın performansını etkileyebilir.
    • Kota ve maliyet: Daha kısa TTL'ler ve sık yeniden doğrulama, kotanızı daha hızlı tüketir. Ücretli hizmetler için bu maliyet potansiyel olarak daha yüksek olur. Kotalar ve sınırlar bölümüne bakın.

    1 saatlik varsayılan TTL, çoğu uygulama için makuldür. Uygulama Kontrolü kitaplığının, jetonları TTL süresinin yaklaşık yarısında yenilediğini unutmayın.

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

Modül (uygulama düzeyi) Gradle dosyanıza (genellikle <project>/<app-module>/build.gradle.kts veya <project>/<app-module>/build.gradle), Android için App Check kitaplığının bağımlılığını ekleyin. Kitaplık sürümü oluşturmayı kontrol etmek için Firebase Android BoM'u kullanmanızı öneririz.

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

Firebase Android BoM kullanıldığında uygulamanız Firebase Android kitaplıklarının her zaman uyumlu sürümlerini kullanır.

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

Firebase BoM'yi kullanmamayı seçerseniz her Firebase kitaplık 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ğlamak için BoM kullanmanızı kesinlikle öneririz.

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")
}
Kotlin'e özel bir kitaplık modülü mü arıyorsunuz? Ekim 2023'ten (Firebase BoM 32.5.0) itibaren, hem Kotlin hem de Java geliştiricileri ana kitaplık modülüne başvurabilir. (Ayrıntılar için Bu girişimle ilgili sık sorulan sorular bölümüne göz atı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

Uygulamanıza Uygulama Kontrolü kitaplığı yüklendikten sonra, güncellenmiş 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şlar ancak Firebase ürünleri, Firebase konsolunun Uygulama Kontrolü bölümünde zorunlu kılmayı etkinleştirmediğiniz sürece jetonların geçerli olmasını gerektirmez.

Metrikleri izleyin ve zorunlu kılmayı etkinleştirin

Ancak yaptırımı etkinleştirmeden önce bu işlemin mevcut meşru kullanıcılarınızın çalışmasını kesintiye uğratmayacağından 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ın daha erken yapılmasını isteyebilirsiniz.

Bu kararı vermenize yardımcı olması için kullandığınız hizmetlerle ilgili Uygulama Kontrolü metriklerine bakabilirsiniz:

Uygulama Kontrolü zorunluluğunu 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ü'nün zorunlu kılınmasını etkinleştirebilirsiniz:

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

Uygulamanızı Uygulama Kontrolü'ne kaydettikten sonra, uygulamanızı normalde Uygulama Kontrolü'nün geçerli olarak sınıflandıramayacağı bir ortamda (örneğin, geliştirme sırasında emülatörde veya sürekli entegrasyon (CI) ortamından) çalıştırmak isterseniz gerçek bir onay sağlayıcısı yerine Uygulama Kontrolü hata ayıklama sağlayıcısını kullanan bir hata ayıklama derlemesi oluşturabilirsiniz.

Android'de hata ayıklama sağlayıcısıyla Uygulama Kontrolü'nü kullanma başlıklı makaleyi inceleyin.