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 duyurmuştuk.
Değişiklik özeti
Değişikliklerin ve beklenen etkilerin ayrıntılı bir özetini bu dokümanın ilerleyen bölümlerinde bulabilirsiniz. Yeni sonuçlar aşağıdaki şekilde sunulacaktır:
Yeni entegrasyonlar: Tüm yeni entegrasyonlar, yeni kararları otomatik olarak alır.
Mayıs 2025'e kadar mevcut entegrasyonlar: Mevcut entegrasyonlara sahip geliştiriciler, Play Console'daki Play Integrity API ayarları sayfasında yeni kararları eski kararlarla birlikte almak için bu özelliği etkinleştirebilir. Bu sayede, uygulamanızın davranışında değişiklik yapmayı düşünmek ve incelemek için zaman kazanabilirsiniz. Etkinleştirmeden önce, her bir kararı döndüren cihazların yüzdesinde beklenen değişikliği ve yeni kararın JSON örneğini görebilirsiniz. Bu özelliği etkinleştirdiğinizde, yanıtta Android SDK sürümünü ve eski kararları içeren iki ek alan görürsünüz.
Mayıs 2025'ten sonra mevcut entegrasyonlar: İyileştirmeler, geliştirici çalışması gerektirmeden tüm entegrasyonlarda kullanıma sunulacaktır. Mayıs 2025'ten önce etkinleştirilen uygulamalar, eski kararları içeren geçici alanı almaz.
Ne | Neler değişecek? | 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 minimum düzeyde etki (yaklaşık %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 11 ve sonraki sürümler (bu değişiklik kademeli olarak uygulanacak) |
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 | İ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 |
*Yukarıdaki tahmini etki yüzdelerinin tümü ortalamalara dayanır ve farklı uygulamalar, yükleme tabanlarına bağlı olarak daha küçük veya daha büyük değişiklikler görebilir.
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, 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ümleri çalıştıran tüm cihazlarda bu sinyalleri daha derinlemesine entegre edecek.
Karar değişiklikleri
Android 13 veya sonraki sürümleri çalıştıran cihazlarda Play Integrity API kararlarında hangi değişiklikler yapılıyor?
Play Integrity API artık tüm entegrasyon kararları için donanım destekli güvenlik sinyalleri gerektirecektir:
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 bootloader'ının kilitli olması ve yüklenen Android OS'in sertifikalı bir cihaz üreticisi resmi olması gerekir.meets-strong-integrity
cihaz tanıma kararı, en son güvenlik güncellemesini almış, Play Protect sertifikalı orijinal bir Android cihaz olduğunu gösterir. Bu karar içinmeets-device-integrity
ve cihazın son bir yıl içinde güvenlik güncellemesi almış olması gerekir. Bu durum gelecekte değişebilir.meets-basic-integrity
cihaz tanıma kararı, 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ınmeets-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 cihazlarında Play Integrity API kararları neden değiştiriliyor?
Play Integrity API, Android SDK sürümlerinde donanım destekli güvenlik sinyallerini yalnızca kısmen kullanıyordu. Entegrasyonlarını artırarak Play Integrity API kararlarının saldırganlara karşı daha dirençli, uygulamalar için daha yüksek performanslı ve kullanıcılar için daha gizli olmasını sağlayacağız. Geçiş tamamlandıktan sonra Android 13 veya sonraki sürümleri çalıştıran cihazlarda aşağıdaki iyileştirmelerin yapılmasını bekliyoruz:
- Google sunucularında varsayılan kararı oluşturmak için toplanıp 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 doğrulamasıyla 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 ayrım:
meets-strong-integrity
,meets-device-integrity
vemeets-basic-integrity
.
Play Integrity API eski ve yeni entegrasyon kararları oluştururken etkinleştirme döneminde performansın değişmesi beklenmez. Ancak Mayıs 2025'te tüm geliştiriciler için yeni kararlar kullanıma sunulduktan sonra, tüm varsayılan ve isteğe bağlı sinyaller için eski bağımlılıkları kaldırırken performans iyileştirmelerinin kademeli olarak görülmesini bekliyoruz.
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, bütünlük kararlarıyla ilgili arka uç mantığını 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 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.
Play Integrity API'de başka hangi karar değişiklikleri yapılıyor?
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şır. Bu özellik Android 13 veya sonraki sürümlerde kullanılabilir.
- İsteğe bağlı sinyallerin kullanılabilirliği: Google Play Console veya Play SDK Console'u kullanan geliştiricilerin erişimine sunulan tüm isteğe bağlı sinyaller için artık istek gönderen uygulamanın Android 13 veya sonraki bir sürümde Google Play tarafından yüklenmesi ya da güncellenmesi gerekecek.
meets-strong-integrity
,meets-basic-integrity
, son cihaz etkinliği, uygulama erişim riski kararı ve Play Protect kararı bu kapsamdadır. Diğer tüm Play Integrity API istekleri, cihaz kontrolünü (yalnızcameets-device-integrity
etiketiyle), yükleyici kontrolünü ve uygulama bütünlüğü kontrolünü alacak şekilde standartlaştırılacaktır. - Belirli cihazlar için karar değişiklikleri: Play Integrity API, uygulamaları tüm Android SDK sürümlerinde daha erken korumak için daha fazla senaryoda cihaz kararlarını otomatik olarak değiştirmeye başlayacaktır (ör. aşırı etkinlik veya anahtar güvenliği ihlali olduğunda). Bu kapsamda, 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şvurma özelliği de yer alacaktır. Geliştiricilerin, bütünlük kararı 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.
Etkinleştirme ve devre dışı bırakma
Android 13 veya sonraki sürümlerin yüklü olduğu cihazlarda geliştirilmiş kararı nasıl etkinleştirebilirim?
Play Console'u kullanan geliştiriciler Play Integrity API ayarları sayfasından bu özelliği etkinleştirebilir.
Etkinleştirdikten sonra Play Integrity API yanıtıma ne olacak?
Bu seçeneği etkinleştirdiğinizde üç şey olur:
deviceRecognitionVerdict
alanındaki yanıtlar, Android 13 veya sonraki sürüm cihazlardaki yeni karar değerlendirmesi şartlarına göre hemen oluşturulmaya ve döndürülmeye başlayacak. Android 12 ve önceki sürümleri çalıştıran cihazlardadeviceRecognitionVerdict
, geçmiş karar değerlendirmesi kullanılarak oluşturulur.- Cihazdaki Android SDK sürümünü içeren yeni bir alan (
deviceAttributes
) alırsınız. - Android SDK sürümünden bağımsız olarak geçmiş karar değerlendirmesi koşullarına dayalı cihaz bütünlüğü yanıtlarını içeren yeni bir
legacyDeviceRecognitionVerdict
alanı alırsınız.
Karar değişiklikleri Mayıs 2025'te tüm entegrasyonlar için kullanıma sunulduğunda, bu özelliği etkinleştiren uygulamalar legacyDeviceRecognitionVerdict
alanını almayı durduracaktır.
Dürüstlü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.
Özelliği etkinleştirdikten sonra devre dışı bırakabilir miyim?
Evet, Play Integrity API ayarları sayfasından bu özelliği devre dışı bırakabilirsiniz.
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 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ü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ı güvenilirlik ve destek düzeyine sahip olacak.
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 özellikleri paketiyle birlikte gönderilen, 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ğer geliştiriciler, 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 göre nasıl hareket edeceklerini 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.