Kısa süre önce duyurduğumuz gibi, Play Integrity API kararlarını daha hızlı, saldırılara karşı daha dayanıklı ve kullanıcılar için daha gizli hale getirmek üzere güçlendirdik. Ayrıca, başka güvenlik iyileştirmeleri de yaptık.
Değişiklik özeti
Değişikliklerin ayrıntılı özetini ve sık sorulan soruları bu belgenin ilerleyen bölümlerinde bulabilirsiniz. Mayıs 2025'teki karar değişiklikleri şu şekildeydi:
Ne | Neler değişti? | Tahmini etki* | Hangi cihazlar? |
---|---|---|---|
Play Integrity API istekleri gönderen tüm geliştiricileri etkileyen değişiklikler | |||
Cihaz kararı yanıtı: meets-device-integrity | Donanım destekli, olumlu bir doğrulanmış başlatma kararı olması gerekir. | Play Integrity API, Android 13 veya sonraki sürümlerdeki cihazlarda (~%0,4) donanım destekli güvenlik sinyallerini kullandığı için minimum etki | Android 13 ve sonraki sürümler |
Uygulama bütünlüğü yanıtı: Uygulama tanıma kararı | Değiştirmedi | Minimum etki. Bu, cihaz kararı değişikliğini yansıtır (~%0,4). | Android 13 ve sonraki sürümler |
Hesap ayrıntıları yanıtı: Play lisans kararı | İstek gönderen uygulama, Google Play tarafından yüklenmiş veya güncellenmiş olmalıdır. | Lisanslı yanıtlarda küçük bir düşüş (~%2,5) | Android 6 ve sonraki sürümler |
Yalnızca Play Console geliştiricilerini ve isteğe bağlı özellikleri kullanan Play SDK Console geliştiricilerini etkileyen değişiklikler | |||
Cihaz kararı yanıtı: meets-basic-integrity | Android Platform Key Attestation'ın olması gerekir ancak başlatma durumu doğrulanabilir veya doğrulanmayabilir. | Temel yanıtlarda küçük bir düşüş (~%0,4) | Android 13 ve sonraki sürümler |
Cihaz kararı yanıtı: meets-strong-integrity | Son bir yıl içinde güvenlik güncellemesi yapılmış olması gerekir. | Güçlü yanıtlarda azalma (~%14,5) | Android 13 ve sonraki sürümler |
Tüm isteğe bağlı sinyaller (cihaz özellikleri hariç)** | İstek gönderen uygulama, Google Play tarafından yüklenmiş veya güncellenmiş olmalıdır. | İsteğe bağlı sinyaller içeren yanıtların yüzdesinde düşüş (~%7) | Android 13 ve sonraki sürümler |
*Daha önce bahsedilen tüm tahmini etki yüzdeleri ortalamalara dayanıyordu ve farklı uygulamalar, yükleme tabanlarına bağlı olarak daha küçük veya daha büyük değişiklikler görmüş olabilir.
**İsteğe bağlı sinyaller (cihaz özellikleri hariç):
meets-basic-integrity
, meets-strong-integrity
, son cihaz etkinliği,
cihaz geri çağırma (beta), Play Protect durumu ve uygulama erişim riski.
Sık sorulan sorular
Genel Bakış
Play Integrity API nedir?
Play Integrity API, cihaz, uygulama ve kullanıcı hakkında bilgi edinerek kullanıcının uygulama ortamının güvenilirliğini değerlendirmenize yardımcı olur. Böylece, olası kötüye kullanım ve saldırıları tespit edip bunlara yanıt verebilirsiniz.
Play Integrity API hangi sinyalleri sağlar?
Play Integrity API, istekte bulunan uygulamanın kimliğini, istekte bulunan uygulamanın Google Play tarafından yüklenip yüklenmediğini ve cihazın orijinal ve sertifikalı bir Android cihaz olup olmadığını içerir. Bu sinyaller varsayılan olarak sağlanır. Bu sinyalleri uygulamanızın arka uç sunucusunda okuyabilir ve uygulamanızın nasıl yanıt vereceğine karar verebilirsiniz. Google Play geliştiricileri, daha fazla bilgi görmek için Play yüklemelerinde ek sinyaller almayı etkinleştirebilir.
Android Platform Anahtar Onayı nedir?
Android Platform Key Attestation uygulamaların cihazın durumunu doğrulamasını ve donanım destekli başlatma bütünlüğüyle ilgili güçlü bir sinyal almasını sağlar. Google tarafından cihazın donanım destekli anahtar deposunda sağlanan bir anahtara bağlıdır. Play Integrity API, bazı cihazlarda donanım destekli güvenlik sinyalleri almak için anahtar onayı kullanmaktadır ve artık Android 13 veya sonraki sürümlerin yüklü olduğu tüm cihazlarda bu sinyalleri daha derinlemesine entegre edecektir.
Karar değişiklikleri
Android 13 veya sonraki sürümlerin yüklü olduğu cihazlarda Play Integrity API kararlarında hangi değişiklikler yapıldı?
Play Integrity API artık tüm entegrasyon kararları için donanım destekli güvenlik sinyalleri gerektiriyor:
meets-device-integrity
Cihaz tanıma kararı, uygulamanın üzerinde çalıştığı cihazın orijinal ve sertifikalı bir Android cihaz olduğunu gösterir. Bu karar, cihazın bootloader'ının kilitlenmesini ve yüklenen Android işletim sisteminin sertifikalı bir cihaz üreticisi görüntüsü olmasını gerektirir.meets-strong-integrity
cihaz tanıma değerlendirmesi, yakın zamanda güvenlik güncellemesi almış orijinal ve sertifikalı bir Android cihazı gösterir. Bu karar, Android işletim sistemi bölümü yaması ve tedarikçi bölümü yaması dahil olmak üzere cihazın tüm bölümleri için son bir yıldameets-device-integrity
ve güvenlik güncellemeleri yapılmasını gerektirir. Bu koşul gelecekte değişebilir.meets-basic-integrity
Cihaz tanıma değerlendirmesi, kontrolün fiziksel bir Android cihazda yapıldığını gösterir. Cihazın bootloader'ı kilitli veya kilidi açık olabilir ve başlatma durumu doğrulanabilir veya doğrulanmayabilir. Cihaz sertifikalı olmayabilir. Bu durumda Google, güvenlik, gizlilik veya uygulama uyumluluğuyla ilgili herhangi bir güvence veremez ve cihazın, Android'in sanal bir örneği gibi bir proxy görevi görmediğini garanti edemez. Bu, anahtar onayı olduğu sürece root erişimli cihazların dameets-basic-integrity
döndürmeye uygun olduğu anlamına gelir.
Bu değişiklikler, meets-virtual-integrity
döndürmeye devam edecek olan PC için Play Games'deki Play Integrity API'yi etkilemez.
Android 13 veya sonraki sürümlerin yüklü olduğu cihazlarda Play Integrity API kararları neden değiştirildi?
Play Integrity API, Android 12 ve önceki sürümlerde donanım destekli güvenlik sinyallerini kısmen kullanıyordu. Play Integrity API değerlendirmeleri, Android 13 ve sonraki sürümlerde donanım destekli güvenlik gerektirerek saldırganlara karşı daha dayanıklı, uygulamalar için daha yüksek performanslı ve kullanıcılar için daha gizli hale gelir. Android 13 veya sonraki sürümleri çalıştıran cihazlarda geliştiricileri aşağıdaki iyileştirmeler bekliyor:
- Google sunucularında varsayılan kararı oluşturmak için toplanması ve değerlendirilmesi gereken cihaz sinyallerinde yaklaşık %90 oranında azalma. İsteğe bağlı sinyaller ek sinyallerin toplanmasını gerektirmeye devam edecektir.
- En kötü durumdaki standart isteklerde karar gecikmesinde% 80'e varan iyileşme ve varsayılan kararı almak için tüm klasik isteklerde% 80'e varan iyileşme. İsteğe bağlı sinyaller gecikmeyi artırabilir.
- Cep telefonları, tabletler, katlanabilir cihazlar, TV, Auto, Wear OS ve ChromeOS dahil olmak üzere tüm Android form faktörleri için tutarlı güvenilirlik ve anahtar onayı desteği.
- Cihaz tanıma kararındaki her cihaz etiketi arasında daha fazla farklılaşma:
meets-strong-integrity
,meets-device-integrity
vemeets-basic-integrity
.
PC için Play Games'deki Play Integrity API kararı değiştirilmeyecek ve Android 12 ile önceki sürümlerde Android 13 ve sonraki sürümlerdekiyle aynı olacak.
Uygulamamın arka uç mantığını, bütünlük değerlendirmelerinde Android SDK sürümünü dikkate alacak şekilde nasıl güncelleyebilirim?
Uygulamanızın arka uç sunucusunda Android SDK sürümüne göre farklı bir mantık kullanmak istiyorsanız karardaki yeni cihaz özellikleri alanını kullanabilirsiniz. Bu işlemi yapma örneğini aşağıda görebilirsiniz:
Kotlin
val deviceIntegrity = JSONObject(payload).getJSONObject("deviceIntegrity") val sdkVersion = if (deviceIntegrity.has("deviceAttributes")) { deviceIntegrity.getJSONObject("deviceAttributes").getInt("sdkVersion") } else { 0 } if (sdkVersion >= 30) { // Provide Android R+ specific experience to the user. }
Java
JSONObject deviceIntegrity = new JSONObject(payload).getJSONObject("deviceIntegrity"); int sdkVersion = deviceIntegrity.has("deviceAttributes") ? deviceIntegrity.getJSONArray("deviceAttributes").getInt("sdkVersion") : 0; if (sdkVersion >= 30) { // Provide Android R+ specific experience to the user. }
Eski meets-strong-integrity
etiket tanımını tüm Android SDK sürümlerinde nasıl kullanabilirim?
Bunu, uygulamanızın arka uç mantığını, Android SDK sürümünü içeren karardaki yeni cihaz özellikleri alanını kullanarak Android 13 öncesi bir cihaz olduğunda meets-strong-integrity
, Android 13 veya sonraki bir sürümü çalıştıran cihaz olduğunda ise meets-device-integrity
kullanacak şekilde güncelleyerek yapabilirsiniz. Bununla ilgili bir örneği aşağıda görebilirsiniz:
Kotlin
val deviceRecognitionVerdict = if (deviceIntegrity.has("deviceRecognitionVerdict")) { deviceIntegrity.getJSONArray("deviceRecognitionVerdict").toString() } else { "" } val deviceIntegrityToCheckFor = sdkVersion < 33 ? "MEETS_STRONG_INTEGRITY" : "MEETS_DEVICE_INTEGRITY"; if (deviceRecognitionVerdict.contains(deviceIntegrityToCheckFor)) { // Looks good! }
Java
JSONObject deviceIntegrity = new JSONObject(payload).getJSONObject("deviceIntegrity"); String deviceRecognitionVerdict = deviceIntegrity.has("deviceRecognitionVerdict") ? deviceIntegrity.getJSONArray("deviceRecognitionVerdict").toString() : ""; String deviceIntegrityToCheckFor = sdkVersion < 33 ? "MEETS_STRONG_INTEGRITY" : "MEETS_DEVICE_INTEGRITY"; if (deviceRecognitionVerdict.contains(deviceIntegrityToCheckFor)) { // Looks good! }
Aynı zamanda donanım destekli bir sinyal olduğu için cihaz özellikleri alanı, Android 13 ve sonraki sürümleri çalıştıran cihazlarda en güvenilir olanıdır.
Başka hangi karar değişiklikleri yapıldı?
Play Integrity API'deki mevcut sinyalleri daha güvenilir hale getirmek için sürekli yatırım yapıyoruz ve geliştiricilerin ortaya çıkan tehditler ve yeni kullanım alanlarıyla başa çıkmasına yardımcı olmak için düzenli olarak yeni özellikler kullanıma sunuyoruz. Yaptığımız diğer karar iyileştirmeleri şunlardır:
- Play lisanslı yanıtı: Play Integrity API, Play lisanslı yanıtı döndürmek için artık istekte bulunan uygulamanın her zaman Google Play'den yüklenmesini veya güncellenmesini zorunlu kılıyor. Bu sayede bazı uç durumlar düzeltilir ve yanıtın geliştiriciler tarafından yorumlanması kolaylaşır.
- İsteğe bağlı sinyallerin kullanılabilirliği: Google Play Console veya Play SDK Console'u kullanan geliştiricilerin yararlanabileceği tüm isteğe bağlı sinyaller (cihaz özellikleri hariç), artık istekte bulunan uygulamanın Android 13 veya sonraki sürümlerde Google Play tarafından yüklenmesini ya da güncellenmesini gerektiriyor.
meets-strong-integrity
,meets-basic-integrity
, son cihaz etkinliği, cihaz geri çağırma (beta), uygulama erişimi risk kararı ve Play Protect kararı bu kapsamdadır. Diğer tüm Play Integrity API isteklerini, cihaz kontrolü (yalnızcameets-device-integrity
etiketiyle), yükleyici kontrolü, uygulama bütünlüğü kontrolü ve cihaz özelliklerini (etkinse) alacak şekilde standartlaştırdık. - Belirli cihazlar için değerlendirme değişiklikleri: Play Integrity API, tüm Android SDK sürümlerinde uygulamaları daha erken korumak için cihaz değerlendirmelerini daha fazla senaryoda otomatik olarak değiştiriyor. Örneğin, aşırı etkinlik veya anahtarın ele geçirilmesiyle ilgili kanıt olduğunda bu değişiklikler yapılıyor. Donanım destekli sinyaller kullanılamadığında Play'in, kullanıcılar için geçici cihaz kararları oluşturmak üzere diğer sinyallere geri dönme özelliği de buna dahildir. Geliştiricilerin, bütünlük değerlendirmesiyle ilgili sorunları düzeltmek için uygulama içi Play çözüm iletişimlerini kullanmaları veya kullanıcıları Play Store uygulamasına yönlendirmeleri önerilir. Bu iletişim kutuları zaman içinde daha fazla senaryoyu ele alacak ve kullanıcılara cihazlarına veya hesaplarına göre düzeltmeleri gereken sorunlar hakkında özel talimatlar verecek.
How do I report issues with integrity verdicts?
Play Integrity API'den gelen yanıtlardaki sorunları (sorun, geçmiş değerlendirmelerle veya yenileriyle ilgili olsa da) bildirmek için destek sayfasındaki talimatları uygulayın.
Kullanılabilirlik
Play Integrity API'nin çalışması için ne gerekir?
Play Integrity API'nin kullanılabilmesi için Google Play Store ve Google Play Hizmetleri'nin bir cihaza yüklenmesi gerekir. Bu cihazlar arasında Android cihazlar ve Google Play Games for PC yer alır. Klasik istekler için Android 4.4 (API düzeyi 19) veya sonraki sürümler, standart istekler için ise Android 5.0 (API düzeyi 21) veya sonraki sürümler gereklidir. Android 13 (API düzeyi 33) ve sonraki sürümlerin yüklü olduğu cihazlarda Play Integrity API artık mobil cihazlar, tabletler, katlanabilir cihazlar, TV, Auto, Wear OS ve ChromeOS dahil olmak üzere tüm Android form faktörlerinde aynı güvenilirlik düzeyine ve temel onay desteğine sahip olacak.
Play Integrity API neden farklı cihazlar için farklı kararlar veriyor?
Play Integrity API, farklı kullanım alanları ve risk toleransları olan geliştiricilerin ihtiyaçlarını karşılamak ve katmanlı bir yaptırım stratejisi uygulamak için birden fazla cihaz kararı sunar. Örneğin, uygulama ve cihaz daha güvenilir olduğunda geliştirici, kullanıcı doğrulama adımlarını basitleştirebilir. Cihaz bilinmediğinde ise geliştirici, korumalı veya hassas işlemler gerçekleştirilmeden önce ek kullanıcı doğrulaması isteyebilir. Bu, kötüye kullanımı ve saldırıları azaltmak için etkili bir yöntem olabilir.
Sertifikalı Android cihaz nedir?
Sertifikalı bir Android cihaz (Play Protect sertifikalı Android cihaz olarak da bilinir), Google'ın yüzlerce uyumluluk testinden geçmiş, Android güvenlik ve izin modeline uyan ve Google Play Protect kötü amaçlı yazılımlara karşı koruma özellikleriyle birlikte gönderilen öngörülebilir yazılımların çalıştığı bir cihazdır. Play Integrity API, bir cihazın orijinal ve sertifikalı bir Android cihaz olduğunu doğrulayabildiğinde cihaz tanıma değerlendirmesinde meets-device-integrity
yanıtını döndürür.
meets-basic-integrity
cihaz nedir?
Play Integrity API, cihaz değerlendirmesinde isteğe bağlı bir yanıt da döndürür.
meets-basic-integrity
. Bir cihaz yalnızca meets-basic-integrity
kararını meets-device-integrity
veya meets-strong-integrity
olmadan döndürüyorsa Android OS doğrulanamıyor ancak anahtar doğrulaması mevcut demektir. Bu, kontrolün fiziksel bir Android destekli cihazda yapıldığını gösterir ancak Google, cihazın güvenliği, gizliliği veya uygulama uyumluluğu konusunda garanti veremez ve cihazın, Android'in sanal bir örneği gibi bir proxy görevi görmediğini garanti edemez. Geliştiriciler, kullanım alanlarına ve risk toleranslarına bağlı olarak uygulamalarının bu cihazlarda nasıl çalışmasını istediklerine karar verebilir.
Play Integrity API'yi tüm geliştiriciler kullanabilir mi?
Evet, herhangi bir Android geliştirici, varsayılan bütünlük değerlendirmelerini almak için Play Integrity API istekleri gönderebilir. Kullanım, dağıtım kanalından bağımsız olarak günlük 10.000 istek ile sınırlıdır. Uygulamalarını diğer dağıtım kanallarının yanı sıra Google Play'de yayınlayan geliştiriciler de günlük kotalarını artırma isteğinde bulunabilir.
Herhangi bir geliştirici Android Platform Key Attestation'ı kullanabilir mi?
Evet, tüm Android geliştiriciler, Google'ın doğrulama kök anahtarının herkese açık sertifikasıyla doğrulayabilecekleri bir anahtar doğrulama kaydı almak için Android Platform Key Attestation'ı kullanabilir. Play Integrity API, geliştiricilere anahtar onayıyla entegrasyonun tüm karmaşıklığı olmadan anahtar onayı ve ek özelliklerin avantajlarını sunar.
Yaptırım
Geliştiriciler, Play Integrity API kararlarını nasıl kullanır?
Play Integrity API kararlarının kullanılıp kullanılmayacağına ve nasıl kullanılacağına geliştiriciler karar verir. Bazı geliştiriciler, kötüye kullanımı önlemeye yönelik dahili analiz için sinyalleri toplarken diğer geliştiriciler, uygulamalarının nasıl davranacağıyla ilgili kararları karara göre verir. Örneğin, geliştiriciler, daha az güvenilen cihazların hesap oluştururken ek kullanıcı doğrulama adımları gerçekleştirmesini zorunlu kılabilir veya daha az güvenilen cihazların aynı çok oyunculu sunucuda birlikte oynaması gerektiğini belirleyebilir.
Play Integrity API, kullanıcıları veya cihazları engeller mi?
Hayır, Play Integrity API herhangi bir işlevselliğe erişimi engellemez. Bu, sinyaller sağlayan isteğe bağlı bir geliştirici hizmetidir ve geliştiriciler bu sinyallerle ilgili nasıl işlem yapacaklarını seçer.
Cihazları Play Integrity API cihaz kontrollerinden geçemeyen kullanıcılar ne yapmalıdır?
Kullanıcılar cihazlarındaki Play Store uygulamasına gidip Ayarlar menüsünü açabilir, Hakkında bölümüne kaydırabilir ve Play Protect sertifikası bölümüne bakabilir. Kullanıcıların cihazının Play Protect sertifikasıyla ilgili bir sorun varsa sorunu düzeltmeye çalışmak için kullanabilecekleri bir düğme gösterilir. Bu işlem, cihazın sertifika durumunu yeniler ve düzeltilmesi gereken noktalar konusunda sizi yönlendirir.