Android 13 ve sonraki sürümlere sahip cihazlarda geliştirilmiş kararlar

Kısa süre önce, 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 amacıyla güçlendirdiğimizi ve diğer güvenlik iyileştirmelerini yaptığımızı duyurmuştuk.

Değişiklik özeti

Değişikliklerin ayrıntılı bir özetini ve sık sorulan soruları bu dokümanın ilerleyen bölümlerinde bulabilirsiniz. Mayıs 2025'te kararda yapılan değişiklikler şöyleydi:

Ne Neler değişti? Tahmini etki* Hangi cihazlar
Play Integrity API isteği 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 sonucuna sahip olması gerekir. Play Integrity API, Android 13 veya sonraki sürümleri çalıştıran cihazlarda zaten donanım destekli güvenlik sinyalleri kullandığından bu değişiklikten çok az etkileneceksiniz (~%0,4). 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ındaki değişikliği yansıtır (~%0,4). Android 13 ve sonraki sürümler
Hesap ayrıntıları yanıtı: Play lisans kararı İstekte bulunan 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 isteğe bağlı özellikleri kullanan Play Console geliştiricilerini ve Play SDK Console geliştiricilerini etkileyen değişiklikler
Cihaz kararı yanıtı: meets-basic-integrity Android Platform Anahtar Doğrulaması'na sahip olmak gerekir ancak başlatma durumu doğrulanabilir veya doğrulanmamış olabilir. 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ış olmalıdır. Güçlü yanıtlarda düşüş (~%14,5) Android 13 ve sonraki sürümler
Tüm isteğe bağlı sinyaller (cihaz özellikleri hariç)** İstekte bulunan 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 tahmini etki yüzdelerinin tümü ortalamalara dayalı olup 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ç) şunlardır: 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ımları ve saldırıları tespit edip bunlara yanıt verebilirsiniz.

Play Integrity API hangi sinyalleri sağlar?

Play Integrity API, istek gönderen uygulamanın kimliğini, istek gönderen uygulamanın Google Play tarafından yüklenip yüklenmediğini ve cihazın orijinal bir Play Protect sertifikalı 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 yanıt verip vermeyeceğine ve nasıl yanıt vereceğine karar verebilirsiniz. Google Play geliştiricileri, daha da fazla bilgi görmek için Play yüklemelerinde ek sinyaller almayı etkinleştirebilir.

Android Platform Anahtar Onayı nedir?

Android Platform Anahtar Onayı, uygulamaların cihazın durumunu doğrulamasına ve donanım destekli başlatma bütünlüğüyle ilgili güçlü bir sinyal almasına olanak tanır. Bu, cihazın donanım destekli anahtar deposunda Google tarafından temel hazırlığı yapılan bir anahtara bağlıdır. Play Integrity API, bazı cihazlarda donanım destekli güvenlik sinyalleri almak için zaten anahtar onayı kullanıyor ve artık Android 13 veya sonraki sürümlerin yüklü olduğu tüm cihazlarda bu sinyalleri daha derinlemesine entegre edecek.

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 bütünlük kararları için donanım destekli güvenlik sinyalleri gerektiriyor:

  • meets-device-integrity cihaz tanıma sonucu, uygulamanın çalıştığı cihazın orijinal bir Play Protect sertifikalı Android cihaz olduğunu gösterir. Bu karar için cihazın bootloader'ının kilitli olması ve yüklenen Android OS'in sertifikalı bir cihaz üreticisi resmi olması gerekir.
  • meets-strong-integrity cihaz tanıma sonucu, yakın zamanda güvenlik güncellemesi almış, Play Protect sertifikalı orijinal bir Android cihaz olduğunu gösterir. Bu karar için Android OS bölüm yaması ve tedarikçi firma bölüm yaması da dahil olmak üzere cihazın tüm bölümlerinde son bir yıl içinde meets-device-integrity ve güvenlik güncellemeleri yapılması gerekir. Bu durum gelecekte değişebilir.
  • meets-basic-integrity cihaz tanıma sonucu, kontrolün fiziksel bir Android cihazda gerçekleştiğini gösterir. Cihazın bootloader'ı kilitli veya kilidi açık olabilir ve başlatma durumu doğrulanmış veya doğrulanmamış olabilir. Play Protect sertifikalı olmayabilir. Bu durumda Google herhangi bir güvenlik, gizlilik veya uygulama uyumluluğu güvencesi sağlayamaz ve cihazın bir proxy (ör. Android'in sanal bir örneği) olarak çalışmadığını garanti edemez. Bu, anahtar doğrulaması mevcut olduğu sürece root erişimli cihazların meets-basic-integrity döndürmeye uygun olduğu anlamına da gelir.

Bu değişiklikler, PC için Play Games'deki Play Integrity API'yi etkilemez. Bu API, meets-virtual-integrity değerini döndürmeye devam eder.

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. Android 13 ve sonraki sürümlerde donanım destekli güvenlik gerektiren Play Integrity API kararları, saldırganlara karşı daha dayanıklı, uygulamalar için daha yüksek performanslı ve kullanıcılar için daha gizlidir. Geliştiriciler, Android 13 veya sonraki sürümleri çalıştıran cihazlarda aşağıdaki iyileştirmelerden yararlanabilir:

  • 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 için ek sinyallerin toplanması gerekmeye devam edecektir.
  • En kötü durum senaryosundaki standart istekler için karar gecikmesinde% 80'e varan ve varsayılan kararı almak üzere tüm klasik istekler için% 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 anahtar tasdikiyle tüm Android form faktörleri için tutarlı düzeyde güvenilirlik ve destek.
  • Cihaz tanıma kararındaki her cihaz etiketi arasında daha fazla fark: meets-strong-integrity, meets-device-integrity ve meets-basic-integrity.

PC için Play Games'deki Play Integrity API kararı değişmiyor ve Android 12 ile önceki sürümlerde Android 13 ve sonraki sürümlerdekiyle aynı olacak.

Uygulamamın, Android SDK sürümünü dikkate alacak şekilde bütünlük kararlarıyla ilgili arka uç mantığını 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 kararda yeni cihaz özellikleri alanını kullanabilirsiniz. Aşağıda bu işlemin nasıl yapılacağına dair bir örnek verilmiştir:

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 13 öncesi bir cihaz olduğunda meets-strong-integrity, Android 13 veya sonraki bir cihaz olduğunda ise meets-device-integrity kullanacak şekilde güncelleyerek ve kararda Android SDK sürümünü içeren yeni cihaz özellikleri alanını kullanarak yapabilirsiniz. Aşağıda bu işlemin nasıl yapılacağına dair bir örnek verilmiştir:

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!
}

Cihaz özellikleri alanı, donanım destekli bir sinyal olduğundan en güvenilir şekilde Android 13 ve sonraki sürümleri çalıştıran cihazlarda çalışır.

Kararda yapılan diğer değişiklikler nelerdir?

Play Integrity API'deki mevcut sinyalleri daha güvenilir hale getirmek için sürekli yatırım yapıyoruz ve geliştiricilerin yeni tehditlerle ve yeni kullanım alanlarıyla başa çıkmaları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'nin Play lisanslı yanıt döndürmesi için artık istekte bulunan uygulamanın Google Play tarafından yüklenmesi veya güncellenmesi gerekir. Bu sayede bazı uç durumlar düzeltilir ve geliştiriciler için yanıtın yorumlanması kolaylaştırılır.
  • İsteğe bağlı sinyallerin kullanılabilirliği: Google Play Console veya Play SDK Console'u kullanan geliştiricilerin erişebildiğ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üklenmesi ya da güncellenmesini zorunlu kılacaktır. meets-strong-integrity, meets-basic-integrity, son cihaz etkinliği, cihaz geri çağırma (beta), uygulama erişimi riski kararı ve Play Protect kararı bu kapsamdadır. Cihaz kontrolünü (yalnızca meets-device-integrity etiketiyle), yükleyici kontrolünü, uygulama bütünlüğü kontrolünü ve cihaz özelliklerini (etkinse) almak için diğer tüm Play Integrity API isteklerini standartlaştırdık.
  • Belirli cihazlar için karar değişiklikleri: Play Integrity API, aşırı etkinlik veya anahtar güvenliği ihlali gibi durumlarda uygulamaları tüm Android SDK sürümlerinde daha erken korumak için cihaz kararlarını daha fazla senaryoda otomatik olarak değiştiriyor. Donanım destekli sinyaller kullanılamadığında Play'in kullanıcılar için geçici cihaz kararları oluşturmak üzere diğer sinyallere başvurması da buna dahildir. Geliştiricilerin, bütünlük değerlendirmesi sorunlarını düzeltmek için uygulama içi Play çözüm iletişimlerini kullanması veya kullanıcıları Play Store uygulamasına yönlendirmesi önerilir. Zamanla bu iletişim kutuları daha fazla senaryoyu ele alacak ve kullanıcılara cihazlarına ya da hesaplarına göre düzeltmeleri gerekenleri belirten özel rehberlik sunacaktır.

Bütünlük kararlarıyla ilgili sorunları nasıl bildirebilirim?

Play Integrity API'den gelen yanıtlarla ilgili sorunları (geçmiş kararlarla veya yeni kararlarla ilgili olsun) bildirmek için destek sayfasındaki talimatları uygulayın.

Kullanılabilirlik

Play Integrity API'nin çalışması için ne gerekir?

Play Integrity API, Android cihazlar ve PC için Google Play Games dahil olmak üzere bir cihaza Google Play Store ve Google Play Hizmetleri'nin yüklenmesini gerektirir. Klasik istekler için Android 4.4 (API düzeyi 19) veya daha yeni bir sürüm, standart istekler için ise Android 5.0 (API düzeyi 21) veya daha yeni bir sürüm gereklidir. Android 13 (API düzeyi 33) ve sonraki sürümleri çalıştıran cihazlarda Play Integrity API, artık cep telefonları, tabletler, katlanabilir cihazlar, TV, Auto, Wear OS ve ChromeOS dahil olmak üzere anahtar doğrulaması olan tüm Android form faktörlerinde aynı düzeyde güvenilirlik ve destek sunacaktır.

Play Integrity API'nin farklı cihazlar için farklı kararları olmasının nedeni nedir?

Play Integrity API, farklı kullanım alanlarına ve risk toleransına sahip geliştiricilere uyum sağlamak ve katmanlı bir yaptırım stratejisi oluşturmayı mümkün kılmak 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. Ancak cihaz bilinmiyorsa geliştirici, korumalı veya hassas işlemler gerçekleştirmeden önce ek kullanıcı doğrulaması isteyebilir. Bu, kötüye kullanım ve saldırıları azaltmanın etkili bir yolu olabilir.

Play Protect sertifikalı Android cihaz nedir?

Play Protect sertifikalı Android cihazlar (GMS Android cihaz olarak da bilinir), Google'ın yüzlerce uyumluluk testini geçmiş, Android güvenlik ve izin modeline uyan ve Google Play Protect kötü amaçlı yazılım önleme özelliklerini içeren, tahmin edilebilir yazılımlar çalıştıran cihazlardır. Play Integrity API, bir cihazın Play Protect sertifikalı Android destekli bir cihaz olduğunu doğrulayabilirse cihaz tanıma kararında meets-device-integrity yanıtını döndürür.

meets-basic-integrity cihazı nedir?

Play Integrity API, cihaz kararında isteğe bağlı bir yanıt da döndürürmeets-basic-integrity. Bir cihaz yalnızca meets-device-integrity veya meets-strong-integrity olmadan meets-basic-integrity kararını döndürüyorsa Android OS doğrulanamaz ancak anahtar doğrulaması mevcuttur. Bu, kontrolün Android işletim sistemli fiziksel bir cihazda yapıldığını gösterir ancak Google, cihazın güvenliği, gizliliği veya uygulama uyumluluğu hakkında garanti veremez ve cihazın Android'in sanal bir örneği için proxy olarak çalışmadığını 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, tüm Android geliştiriciler varsayılan bütünlük kararlarını 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 istekle 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ın artırılması için talepte bulunabilir.

Android Platform Anahtar Doğrulaması'nı tüm geliştiriciler kullanabilir mi?

Evet, tüm Android geliştiricileri Android Platform Anahtar Attestasyonu'nu kullanarak anahtar attestasyonu kaydı elde edebilir. Bu kaydı, Google'ın attestasyon kök anahtarının herkese açık sertifikasıyla doğrulayabilirler. Play Integrity API, geliştiricilere anahtar onayı ve ek özelliklerin avantajlarını sunar. Bunun için geliştiricilerin anahtar onayı ile entegrasyon yapmalarının karmaşıklığıyla uğraşması gerekmez.

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 karşıtı dahili analiz için sinyalleri toplarken diğerleri, karara göre uygulamalarının nasıl davranacağı hakkında kararlar alır. Örneğin, geliştiriciler daha az güvenilir cihazların hesap oluştururken ek kullanıcı doğrulama adımları gerçekleştirmesini zorunlu tutabilir veya daha az güvenilir cihazların aynı çok oyunculu sunucuda birlikte oynaması gerektiğine karar verebilir.

Play Integrity API, kullanıcıları mı yoksa cihazları mı engeller?

Hayır, Play Integrity API herhangi bir işleve erişimi engellemez. İsteğe bağlı bir geliştirici hizmetidir. Geliştiriciler, sinyalleri sağlar ve bu sinyallere nasıl tepki vereceğini seçer.

Cihazları Play Integrity API cihaz kontrollerinden geçemiyorsa kullanıcılar ne yapmalıdır?

Kullanıcılar cihazlarındaki Play Store uygulamasına gidip Ayarlar menüsünü açıp Hakkında'ya gidip Play Protect sertifikası bölümüne bakabilir. Cihazlarının Play Protect sertifikasıyla ilgili bir sorun varsa kullanıcıların sorunu düzeltmeye çalışmak için basabilecekleri bir düğme gösterilir. Bu işlem, cihazın sertifika durumunu yeniler ve düzeltilmesi gereken noktalar konusunda size özel bir kılavuz sağlar.