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ğin Genel Bakışına 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 App Check'i kendi özel sağlayıcınızla kullanmak için bkz. Özel bir App Check sağlayıcısı uygulama .
1. Firebase projenizi kurun
Henüz yapmadıysanız Firebase'i Android projenize ekleyin .
Play Integrity API'yi etkinleştirin:
Google Play Console'da uygulamanızı seçin veya henüz yapmadıysanız ekleyin.
Sürüm bölümünde, Uygulama bütünlüğü ' ne tıklayın.
Sayfanın Play Integrity API bölümüne gidin, Link Cloud projesini 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).
Firebase konsolunun Uygulama Kontrolü bölümünde Play Integrity sağlayıcısı ile Uygulama Kontrolünü kullanmak için uygulamalarınızı kaydedin. Uygulamanızın imza sertifikasının SHA-256 parmak izini sağlamanız gerekecektir.
Bir Firebase ürünü için zorlamayı 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.
İ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 dengelere dikkat edin:
- Güvenlik: Daha kısa TTL'ler, sızan veya ele geçirilen bir jetonun bir saldırgan tarafından suistimal edilebileceği pencereyi azalttığı için daha güçlü güvenlik sağlar.
- Performans: Daha kısa TTL'ler, uygulamanızın tasdik işlemini daha sık gerçekleştireceği anlamına gelir. Uygulama doğrulama işlemi, 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 onaylama, kotanızı daha hızlı tüketir ve ücretli hizmetler için potansiyel olarak daha yüksek maliyetlidir. Bkz . Kotalar ve sınırlar .
1 saatlik varsayılan TTL, çoğu uygulama için uygundur. Uygulama Kontrolü 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 (uygulama düzeyinde) Gradle dosyanızda (genellikle<project>/<app-module>/build.gradle.kts
veya <project>/<app-module>/build.gradle
), Uygulama Kontrolü için bağımlılığı ekleyin Android kitaplığı. Kitaplık sürüm oluşturmayı kontrol etmek için Firebase Android BoM'yi kullanmanızı öneririz. Kotlin+KTX
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:32.3.1")) // 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")
implementation("com.google.firebase:firebase-appcheck-ktx") }
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 kullanmadan Firebase kitaplığı bağımlılıkları ekleyin
Firebase BoM'yi kullanmamayı seçerseniz, her bir Firebase kitaplığı sürümünü bağımlılık satırında belirtmeniz gerekir.
Uygulamanızda birden çok 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ı 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:17.0.1")
implementation("com.google.firebase:firebase-appcheck-ktx:17.0.1") }
Java
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:32.3.1")) // 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 kullanmadan Firebase kitaplığı bağımlılıkları ekleyin
Firebase BoM'yi kullanmamayı seçerseniz, her bir Firebase kitaplığı sürümünü bağımlılık satırında belirtmeniz gerekir.
Uygulamanızda birden çok 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ı 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:17.0.1") }
3. Uygulama Kontrolünü Başlatın
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( 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üncellenmiş uygulamayı kullanıcılarınıza dağıtmaya başlayın.
Güncellenen istemci uygulaması, Firebase'e yaptığı her istekle birlikte Uygulama Kontrolü belirteçleri göndermeye başlayacak, ancak Firebase ürünleri, siz Firebase konsolunun Uygulama Kontrolü bölümünde zorlamayı etkinleştirene kadar belirteçlerin geçerli olmasını gerektirmeyecektir.
Metrikleri izleyin ve yaptırımı etkinleştirin
Ancak yaptırımı etkinleştirmeden önce, bunu yapmanın mevcut yasal kullanıcılarınızı kesintiye uğratmayacağı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 hizmetler için Uygulama Kontrolü ölçümlerine bakabilirsiniz:
- Realtime Database, Cloud Firestore, Cloud Storage ve Authentication (beta) için App Check istek ölçümlerini izleyin .
- Bulut İşlevleri için Uygulama Kontrolü istek ölçümlerini izleyin .
Uygulama Kontrolü zorlaması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ü uygulamasını etkinleştirebilirsiniz:
- Realtime Database, Cloud Firestore, Cloud Storage ve Authentication (beta) için App Check zorlamasını etkinleştirin .
- Cloud Functions için App Check zorlamasını etkinleştirin .
Hata ayıklama ortamlarında Uygulama Kontrolü kullanın
Uygulamanızı Uygulama Kontrolü için kaydettirdikten sonra, uygulamanızı Uygulama Kontrolü'nün normalde geçerli olarak sınıflandırmadığı bir ortamda, örneğin geliştirme sırasında öykünücü veya sürekli tümleştirme (CI) ortamından çalıştırmak isterseniz, şunları yapabilirsiniz: uygulamanızın gerçek bir doğrulama sağlayıcısı yerine Uygulama Kontrolü hata ayıklama sağlayıcısını kullanan bir hata ayıklama yapısı oluşturun.
Bkz. Uygulama Denetimini Android'de hata ayıklama sağlayıcısıyla kullanma .