Play Integrity API, etkileşimlerin ve sunucu isteklerinin orijinal Android cihazda çalışan orijinal uygulama ikili programınızdan gelip gelmediğini kontrol etmenize yardımcı olur. Uygulamanızın arka uç sunucusu, izinsiz olarak değiştirilmiş uygulama sürümlerinden ve güvenilmeyen ortamlardan kaynaklanan riskli ve sahte etkileşimleri tespit ederek saldırıları önlemek ve kötüye kullanımı azaltmak için uygun işlemlere yanıt verebilir.
Uygulamanız veya oyununuz Google Play Store'un yüklü olduğu ve Google Play Hizmetleri tarafından desteklenen bir Android cihazda kullanıldığında, Play Integrity API aşağıdakilerle etkileşimde bulunup bulunmadığınızı belirlemenize yardımcı olan bir yanıt sağlar:
- Orijinal uygulama ikili programı: Google Play'in tanıdığı değiştirilmemiş ikili programınızla etkileşim kurup kurmadığınızı belirleyin.
- Orijinal Play yüklemesi: Mevcut kullanıcı hesabının lisanslı olup olmadığını, yani kullanıcının uygulamanızı veya oyununuzu Google Play'den yüklediğini ya da bunun için ödeme yapıp yapmadığını belirleyin.
- Orijinal Android cihaz: Uygulamanızın çalıştığı cihazın, Google Play Hizmetleri (veya PC Üzerinde Google Play Games'in orijinal bir örneği) tarafından desteklenen orijinal bir Android cihaz olup olmadığını belirleyin.
- Bilinen kötü amaçlı yazılımlardan arındırılmış:Google Play Protect'in açık olup olmadığını ve cihazda yüklü riskli veya tehlikeli uygulamalar bulup bulmadığını belirleyin.
Genel bakış
Bir kullanıcı uygulamanızda bir işlem gerçekleştirdiğinde, işlemin Google Play tarafından yüklenen ve orijinal bir Android cihazda çalışan orijinal uygulama ikili programınızda gerçekleşip gerçekleşmediğini kontrol etmek için Play Integrity API'yi çağırabilirsiniz. Ayrıca, Google Play Protect'in açık olup olmadığı ve cihazda yüklü bilinen kötü amaçlı yazılımları bulup bulmadığı gibi ortamla ilgili sinyalleri de etkinleştirebilirsiniz. Kararlarda herhangi bir sorun varsa uygulamanızın arka uç sunucusu; kötüye kullanım ve sahtekarlık, hatalı kullanım, hile, yetkisiz erişim ve saldırılar gibi sorunlara karşı nasıl savunma yapılacağına karar verebilir.
Güvenlikle ilgili olarak göz önünde bulundurulması gerekenler
Play Integrity API, aşağıdaki önerilen uygulamaları izlediğinizde uygulamanız için en yüksek değeri sağlar:
Kötüye kullanıma karşı bir strateji uygulama
Play Integrity API, tek kötüye kullanım karşıtı mekanizmanız olarak değil, genel kötüye kullanım karşıtı stratejinizin bir parçası olarak diğer sinyallerle birlikte kullanıldığında en iyi performansı gösterir. Bu API'yi, uygulamanız için diğer uygun güvenlik en iyi uygulamalarıyla birlikte kullanın. Varsayılan olarak,uygulamanız tüm yüklemeler için günde toplam 10.000'e kadar istek gönderebilir. Günlük maksimum tutarınızı artırma isteğinde bulunabilirsiniz.
Entegrasyon kararlarını nasıl isteyeceğinize karar verin
Play Integrity API, bütünlük kararlarını istemek ve almak için iki seçenek sunar. İster standart istek ister klasik istek isterse her iki istek türünün kombinasyonu olsun, bütünlük kararı yanıtı aynı biçimde döndürülür.
Standart API istekleri tüm uygulamalar veya oyunlar için uygundur ve herhangi bir kullanıcı işleminin veya sunucu isteğinin gerçek olup olmadığını kontrol etmek için isteğe bağlı olarak talep edilebilir. Standart istekler en düşük gecikmeye (ortalama birkaç yüz milisaniye) ve kullanılabilir bir karar alma konusunda yüksek güvenilirliğe sahiptir. Standart istekler, cihaz üzerinde akıllı önbelleğe alma özelliğini kullanır ve belirli saldırı türlerine karşı Google Play'e koruma yetkisi verir.
Entegrasyon kararı talep etmenin orijinal yolu olan Klasik API istekleri de kullanılabilir. Klasik isteklerin gecikme süresi daha yüksektir (ortalama birkaç saniye) ve belirli saldırı türlerinin riskini azaltmak sizin sorumluluğunuzdadır. Klasik istekler yeni bir değerlendirme başlattığından standart isteklerden daha fazla kullanıcı verisi ve pil kullanır. Bu nedenle, son derece hassas veya değerli bir işlemin gerçek olup olmadığını kontrol etmek için tek seferlik olarak nadiren yapılması gerekir. Klasik bir istekte bulunmayı ve daha sonra kullanmak üzere bunu önbelleğe almayı düşünüyorsanız saldırı riskini azaltmak için bunun yerine standart bir istekte bulunmanız gerekir.
Aşağıdaki tabloda, iki istek türü arasındaki bazı önemli farklar vurgulanmaktadır:
|Standart API isteği
|Klasik API isteği
|Minimum Android SDK sürümü gerekli
|Android 5.0 (API düzeyi 21) veya sonraki sürümler
|Android 4.4 (API düzeyi 19) veya sonraki sürümler
|API ısınması gerekiyor
|✔️ (birkaç saniye)
|❌
|Tipik istek gecikmesi
|Birkaç yüz milisaniye
|Birkaç saniye
|Potansiyel istek sıklığı
|Sık (herhangi bir işlem veya istek için isteğe bağlı kontrol)
|Nadir (en yüksek değere sahip işlemler veya en hassas istekler için tek seferlik kontrol)
|Tekrar oynatmayı ve benzer saldırılara karşı hafifletin
|Google Play tarafından otomatik etki azaltma


nonce alanını sunucu tarafı mantığıyla kullan
Klasik isteklerle ilgili dikkat edilmesi gereken noktalar bölümünde daha fazla farklılık içeren bir tablo görebilirsiniz.
API isteklerinizin çoğaltılmasını zorlaştırın
Standart API isteklerinde, izinsiz değişikliklere ve benzer saldırılara karşı koruma sağlamak için kullanılan
requestHash adlı bir alan bulunur. Bu alana, uygulamanızın isteğindeki tüm alakalı değerlerin bir özetini eklemeniz gerekir. Uygulamanızın standart isteklerini korumak için içerik bağlamayı kullanma ile ilgili yönergeleri uygulayın.
Klasik API isteklerinde, tekrar oynatma ve kurcalama saldırıları gibi belirli saldırı türlerine karşı koruma sağlamak için kullanılan
nonce adlı bir alan bulunur (bir defalığına kısaltılır). Uygulamanızın klasik isteklerini korumak için tek seferlik rastgele kod oluşturma ile ilgili kılavuzu takip edin.
Entegrasyon kararlarını önbelleğe almayı önleme
Bütünlük kararlarının önbelleğe alınması, proxy kullanma riskini artırır. Bu da kötü amaçlı bir kullanıcının, iyi bir cihazdaki kararı kötüye kullanım amacıyla başka bir ortamda yeniden kullandığı bir saldırıdır. Yanıtları önbelleğe almak yerine, isteğe bağlı bir karar almak için standart bir API isteğinde bulunabilirsiniz.
Kademeli bir yaptırım stratejisine sahip olma
Play Integrity API'nin entegrasyon kararı, çeşitli yaptırım katmanlarıyla kötüye kullanım karşıtı strateji oluşturmayı mümkün kılan çeşitli olası yanıtlar içerir. Bunun için uygulamanızın arka uç sunucusunu olası her yanıta veya yanıt grubuna göre farklı davranacak şekilde yapılandırabilirsiniz.
Ayrıca, Play Console'dan aldığınız API yanıtınızda ek cihaz etiketleri almayı seçerek yaptırım stratejinizi cihaz güvenilirliğine göre katmanlandırabilirsiniz. Her cihaz, ölçütlerini karşıladığı
tüm etiketleri döndürür. Örneğin, tüm cihaz etiketlerini almayı etkinleştirdikten sonra, yalnızca
MEETS_BASIC_INTEGRITY döndüren bir cihaza göre
MEETS_STRONG_INTEGRITY,
MEETS_DEVICE_INTEGRITY ve
MEETS_BASIC_INTEGRITY daha fazlasını döndüren bir cihaza güvenmeyi seçebilirsiniz. Her senaryoda sunucudan farklı yanıt verebilirsiniz.
Sunucunuzdan uygulamanıza bir dizi yanıt gönderin
Çeşitli karar sonuçları elde etmek, her yanıt için sunucudan uygulamaya geri bir ikili program "İzin Ver/Reddet" yanıtı göndermekten daha zordur. Örneğin, İzin ver, Sınırlarla izin ver, CAPTCHA tamamlandıktan sonra Sınırlarla izin ver ve Reddet gibi bir dizi alakalı yanıt kullanabilirsiniz.
Büyük çaplı kötüye kullanımı tespit etme
Çok sayıda onay isteyen cihazları bulmak için Play Integrity API'deki son cihaz etkinliği özelliğini kullanın. Yüksek hacme sahip etkinliği kötüye kullananlar genellikle gerçek cihazlardan geçerli onay sonuçları üretir ve root erişimli cihazlara ve emülatörlere yapılan saldırıları otomatik hale getirmek için bunları botlara sağlar. Uygulamanızın son bir saat içinde bir cihazda oluşturduğu onay sayısını belirlemek için son cihaz etkinliği sonucunu kullanabilirsiniz.
İşlem yapılabilir hata mesajlarını gösterin
Mümkün olduğunda kullanıcıya yararlı hata mesajları sağlayın ve sorunu düzeltmek için tekrar denemek, internet bağlantısını etkinleştirmek veya Play Store uygulamasının güncel olup olmadığını kontrol etmek gibi neler yapabileceğini bildirin.
Beklenmedik sorunlar veya kesintiler için bir planınız olsun
Play durum kontrol paneli, Play Integrity API'nin hizmet durumu hakkındaki bilgilerin yanı sıra kesintiler ve kesintiler hakkındaki bilgileri gösterir. Büyük ölçekli Play Integrity API kesintisi yaşandığında arka uç sunucunuzun nasıl çalışmasını istediğinizi önceden yapılandırabilirsiniz.
Uçtan uca kurumsal sahtekarlık çözümlerini deneyin
Eksiksiz bir sahtekarlık ve bot yönetimi çözümü arayan kurumsal müşteriler, mobil cihazlar için reCAPTCHA Enterprise'ı satın alabilir. Bu ürünlerde, geliştiricilere sahtekarlık riski puanları sağlayan Android SDK'ları da dahildir. reCAPTCHA Enterprise, Play Integrity API sinyallerini otomatik olarak dahil eder ve bu sinyalleri müşteriler için reCAPTCHA ağı ve uygulama sinyalleriyle birleştirerek kullanıma hazır, sorunsuz ve görünmez bir sahtekarlık yönetimi çözümü sunar. Ayrıca Play Integrity API'nin kullanılamadığı Android uygulamaları için de koruma sağlayabilir.
Hizmet Şartları ve Veri Güvenliği
Play Integrity API'ye erişerek veya bu API'yi kullanarak Play Integrity API Hizmet Şartları'nı kabul etmiş olursunuz. Lütfen API'ye erişmeden önce geçerli tüm şartları ve politikaları okuyup anlayın.
Google Play'de geliştiricilerin, kullanıcılarınızı bilgilendirmek amacıyla uygulamalarının veri toplama, paylaşma ve güvenlik yöntemlerini açıklamak için kullanabilecekleri bir Veri Güvenliği bölümü vardır. Veri formunuzu doldurmanıza yardımcı olması için Play Integrity API'nin verileri nasıl işlediği hakkındaki bu bilgilere bakın.