Uygulamalarınızı ve oyunlarınızı riskli etkileşimlerden korumak için Play Integrity API'yi kullanabilirsiniz. Uygulamanız bu etkileşimleri tespit ederek saldırı ve kötüye kullanım riskini düşürecek şekilde tepki verebilir.
İşleyiş şekli
Google Play Integrity API, kullanıcı etkileşimlerinin ve sunucu isteklerinin Google Play tarafından yüklenen, değiştirilmemiş uygulama ikili programınızdan gelip gelmediğini ve orijinal bir Android cihazda (veya PC Üzerinde Google Play Games'in orijinal bir örneğinde) çalışıp çalışmadığını kontrol ederek uygulama ve oyunlarınızı kötüye kullanıma karşı korumanıza yardımcı olur. Uygulamanızın değiştirilmiş sürümleri, güvenilmeyen cihazlar veya güvenilmeyen diğer ortamlar gibi çok çeşitli tehditleri tespit ederek sahtekarlık, hile ve yetkisiz erişim gibi saldırıları azaltacak uygun müdahalelerde bulunabilirsiniz.
Kullanıcı bir işlem gerçekleştirdiğinde uygulamanız Google Play Integrity API değerlendirmesi ister. Google Play sunucusu, bütünlük değerlendirmesini içeren şifrelenmiş bir yanıt döndürür. Ardından, uygulamanız bu yanıtı doğrulama için sunucunuza yönlendirir. Arka uç sunucunuz, uygulamanızın veya oyununuzun bir sonraki işlemine karar vermek için bu değerlendirmeyi kullanır.
API, aşağıdakiler gibi olası tehditleri tespit etmenize yardımcı olan değerlendirmeler döndürür:
- Yetkisiz erişim:
accountDetailsdeğerlendirmesi, kullanıcının Google Play'de uygulamanızı veya oyununuzu yükleyip yüklemediğini ya da bunlar için ödeme yapıp yapmadığını belirlemenize yardımcı olur. - Kod kurcalama:
appIntegritydeğerlendirmesi, Google Play tarafından tanınan değiştirilmemiş ikili programınızla etkileşim kurup kurmadığınızı belirlemenize yardımcı olur. - Riskli cihazlar ve emüle edilmiş ortamlar:
deviceIntegritydeğerlendirmesi, uygulamanızın orijinal ve sertifikalı bir Android cihazda veya PC Üzerinde Google Play Games'in orijinal bir örneğinde çalışıp çalışmadığını belirlemenize yardımcı olur.
Önemli nokta: Google Play Integrity API bir ortamı değerlendirirken saldırılara ve boşluklardan yararlanmalara karşı oldukça dirençli olan donanım destekli güvenlik sinyallerini kullanır. Google Play Integrity API; Android SDK sürümleri, cihaz üreticisi tarafından sağlanan anahtarlar ve cihaz modellerinde sinyal karmaşıklığını ve sorunun etkilerini hafifletmeyi özetleyerek geliştiricilerin entegrasyon çalışmalarını ve devam eden yönetim süreçlerini basitleştirir.
Google Play geliştiricileri, aşağıdakiler gibi daha geniş bir potansiyel tehdit aralığını tespit etmek için ek değerlendirmeler almayı da tercih edebilir:
- Yama uygulanmamış cihazlar:
deviceIntegritydeğerlendirmesindekiMEETS_STRONG_INTEGRITYyanıtı, bir cihazın son güvenlik güncellemelerini uygulayıp uygulamadığını belirlemenize yardımcı olur (Android 13 ve sonraki sürümleri çalıştıran cihazlar için). - Diğer uygulamalar tarafından riskli erişim:
appAccessRiskVerdict; ekranı kaydetmek, yer paylaşımları göstermek veya cihazı kontrol etmek (ör. erişilebilirlik iznini kötüye kullanarak) için kullanılabilecek uygulamaların çalışıp çalışmadığını belirlemenize yardımcı olur. - Bilinen kötü amaçlı yazılımlar:
playProtectVerdict, Google Play Protect'in açık olup olmadığını ve cihazda riskli ya da tehlikeli uygulamalar bulup bulmadığını belirlemenize yardımcı olur. - Aşırı etkinlik:
recentDeviceActivitydüzeyi, bir cihazın son zamanlarda anormal derecede fazla istek gönderip göndermediğini belirlemenize yardımcı olur. Bu durum, otomatik trafiğe işaret edebilir ve saldırı belirtisi olabilir. - Tekrarlanan kötüye kullanım ve yeniden kullanılan cihazlar:
deviceRecall(beta), uygulamanız yeniden yüklense veya cihaz sıfırlansa bile daha önce işaretlediğiniz bir cihazla etkileşimde bulunup bulunmadığınızı belirlemenize yardımcı olur.
API; telefonlar, tabletler, katlanabilir cihazlar, Android Auto, Android TV, Android XR, ChromeOS, Wear OS ve PC Üzerinde Google Play Games gibi çeşitli Android form faktörlerinde kullanılabilir.
İpuçları:
- Play Integrity API'nin ve diğer Play hizmetlerinin durumunu Google Play durum kontrol panelini kullanarak izleyebilirsiniz.
- Uygulamanızın Integrity API'den en iyi şekilde yararlanabilmesi için Android Developers sitesindeki dokümanlarda önerilen pratik uygulamaların her birine uyun.
Google Play Integrity API'yi kurma ve yönetme
Uygulamanız için Integrity API'yi etkinleştirme
- Google Play Console'u açıp sol menüde Google Play ile korunanlar bölümüne gidin.
- "Google Play Integrity API" bölümüne gidin.
- Başlayın'ı tıklayın.
- "Mevcut projeyi bağla"yı ve bağlantı oluşturmak istediğiniz projeyi seçin.
- Cloud projesi bağla'yı tıklayın.
Integrity API'yi uygulamanıza entegre etmeye başlamadan önce şu adımları uygulamanız gerekir:
- Java/Kotlin uygulamaları için Google’ın Maven deposundan Play Integrity API'nin mevcut en yeni Android kitaplığını yükleyin.
- Unity oyunları için Unity'ye özel Google Play eklentilerinin en yeni sürümünü yükleyin. 2019.x, 2020.x ve daha yeni sürümlerin tümü desteklenmektedir. Unity 2018.x kullanıyorsanız 2018.4 veya daha yeni bir sürümü yükleyin. Unity 2017.x kullanıyorsanız 2017.4.40 veya daha yeni bir sürümü yükleyin. Unity 5.x ve daha eski sürümler desteklenmemektedir.
- Yerel uygulamalar ve oyunlar için en yeni Play Core Yerel SDK'sını yükleyin.
Artık Android Developers sitesindeki bu adımları izleyerek uygulamanızda veya oyununuzda Play Integrity API'yi kullanmaya başlayabilirsiniz.
(İsteğe bağlı) Integrity API yanıtlarını özelleştirme
API bütünlüğü yanıtlarının nasıl yapılandırılacağını öğrenmek için Android Developers sitesini ziyaret edin.
API yanıtlarınızı düzenlemek için:
- Google Play Console'u açıp sol menüde Google Play ile korunanlar bölümüne gidin.
- "Google Play Integrity API" bölümüne gidin.
- Yönet'i tıklayın.
- "Bildirimler" bölümüne ilerleyin.
- Düzenle'yi tıklayın.
- Değiştirmek istediğiniz API yanıtlarının yanındaki onay kutularını seçin veya seçimini kaldırın.
- Değişiklikleri kaydet'i tıklayın.
Önemli: Uygulamanızın üretimde olduğu zamanlar dahil olmak üzere API yanıtlarında yapılan değişiklikler kaydedildiği anda devreye girer. Play Console'unuzdaki API yanıtı grubunda değişiklik yapmadan önce, sunucunuzun bu yanıtları almaya hazır olduğundan emin olun.
(İsteğe bağlı) Klasik istek ayarlarını yapılandırma
Klasik istekler için yanıt şifrelemeniz varsayılan olarak Google tarafından yönetilir. Ancak isterseniz yanıt şifrelemenizi kendiniz yönetebilirsiniz.
Yanıt şifrelemenizi kendi başınıza yönetmek için:
- Google Play Console'u açıp sol menüde Google Play ile korunanlar bölümüne gidin.
- "Google Play Integrity API" bölümüne gidin.
- Yönet'i tıklayın.
- "Klasik istekler" bölümüne gidin. "Google tarafından yönetilir" durumu "Yanıt şifreleme"nin yanında varsayılan olarak görünür. Değiştir'i tıklayın.
- "Kendi yanıt şifreleme anahtarlarımı indirip yöneteceğim"i seçin. Yanıt şifreleme anahtarlarını Google oluşturur, siz indirip yönetirsiniz. Arka uç sunucunuzun mantığını, anahtarları kullanarak yanıtların şifresini çözecek şekilde güncellemeniz gerekir.
- Ekrandaki talimatları uygulayarak bir .pem dosyası oluşturun ve API anahtarlarınızı indirmek için .pem dosyasını yükleyin.
- Değişiklikleri kaydet'i tıklayın.
- Ekranda, yanıt şifreleme yönetiminizin güncellendiğine dair bir onay mesajı görünür.
- Yeni yanıt şifreleme anahtarlarınız otomatik olarak indirilir. Anahtarları indir'i tıklayarak bunları dilediğiniz zaman indirebilirsiniz.
Anahtarlarınızın yönetimini kendinizden Google'a geri döndürmek için:
- Google Play Console'u açıp sol menüde Google Play ile korunanlar bölümüne gidin.
- "Google Play Integrity API" bölümüne gidin.
- Yönet'i tıklayın.
- "Klasik istekler" bölümüne gidin. Daha önce değiştirmiş olduğunuz için "Yanıt şifrelemesi"nin yanında durum "Kendi kendine yönetilen" olarak görünür. Düzenle'yi tıklayın.
- "Yanıt şifrelemem Google tarafından yönetilsin (önerilir)" seçeneğini belirleyip Değişiklikleri kaydet'i tıklayın. Yanıt şifreleme anahtarlarınız Google tarafından oluşturulur ve yönetilir. Arka uç sunucunuz, yanıtların şifresini çözmek için Google Play'in sunucusunu aramalıdır.
Play Integrity API entegrasyonunuzu test etme
Integrity API entegrasyonunuzu test etmek için Gmail hesaplarını içeren bir liste oluşturabilirsiniz. İlk olarak test kullanıcılarınızın sürümünüze erişebildiğinden emin olun. Uygulamanızı dahili test kanalına veya testi gerçekleştirmek istediğiniz kanala yayınlayın. Test kullanıcılarının sürümünüze erişebilmeleri için, test kullanıcılarını e-posta adresine göre yönetme veya Google Gruplar kullanma hakkında talimatları uygulayın.
Testi oluşturmak için:
- Google Play Console'u açıp sol menüde Google Play ile korunanlar bölümüne gidin.
- "Google Play Integrity API" bölümüne gidin.
- Yönet'i tıklayın.
- "Test" bölümüne ilerleyin.
- Yeni test oluştur'u tıklayın.
- E-posta listesi seçin veya yeni bir liste oluşturun.
- Test oluştur'u tıklayın.
Kullanıcılar, Integrity API iletişim kutusundan ziyaret ettiğinde mağaza girişinizi özelleştirme
Uygulamanızı resmi olmayan kanallardan edinen kullanıcılardan Google Play'den indirmelerini istemek için Integrity API düzeltme iletişim kutusunu kullanabilirsiniz. Kullanıcılar iletişim kutusuna dokunduklarında mağaza girişinize yönlendirilir. Burada yükle (veya satın al ya da güncelle) düğmesine dokunarak uygulamayı Play kitaplıklarına ekleyebilirler.
Integrity API düzeltme iletişim kutusuna dokunan ziyaretçiler için mağaza girişi öğelerinizi (uygulamanızın adı, simgesi, açıklamaları ve grafik öğeleri gibi) özelleştirebilirsiniz. Kullanıcılar, Integrity API iletişim kutusundan ziyaret ettiğinde mağaza girişinizi özelleştirmek için:
- Google Play Console'u açıp sol menüde Google Play ile korunanlar bölümüne gidin.
- "Play Integrity API" bölümüne gidin.
- Yönet'i tıklayın.
- "Mağaza girişini özelleştirin" bölümüne gidin.
- Giriş oluştur'u tıklayın.
- Özel mağaza girişi oluştur sayfasındaki talimatları uygulayıp Kaydet'i tıklayın.
Alternatif olarak da doğrudan Özel mağaza girişleri sayfasından Integrity API iletişim kutuları için özel mağaza girişleri oluşturabilirsiniz:
- Play Console'u açıp Özel mağaza girişleri sayfasına (Kullanıcı sayısını artırın > Özel mağaza girişleri) gidin.
- Giriş oluştur'u tıklayın, yeni bir giriş oluşturmayı veya mevcut bir girişi kopyalamayı seçin ve Sonraki'yi tıklayın.
- "Giriş ayrıntıları"nın altında "Hedef kitle" bölümünü bulun.
- URL bazında'yı seçin ve metin kutusuna "playintegrity" yazın.
- Diğer tüm ayrıntıları girip Kaydet'i tıklayın.
İpucu: "playintegrity" URL parametresi, bütünlük derin bağlantıları için belirlenmiş özel bir anahtar kelime olduğundan özel mağaza girişi oluşturulurken bu parametrenin aynı şekilde girilmesi gerekir.
Google Play Integrity API'nin günlük maksimum istek sayısını artırma
Uygulamalar varsayılan olarak Integrity API'ye günde 10.000'e kadar istek iletebilir.
Uygulamanızın yaptığı günlük istek hacmini görmek için:
- Google Play Console'u açıp sol menüde Google Play ile korunanlar bölümüne gidin.
- "Google Play Integrity API'yi İzleme" bölümüne gidin.
- Integrity API raporunu açmak ve günlük istek sayınızı görüntülemek için izleme kartını tıklayın.
Uygulamanızın günlük maksimum istek sayısını görüntülemek için:
- Google Play Console'u açıp sol menüde Google Play ile korunanlar bölümüne gidin.
- "Google Play Integrity API" bölümüne gidin.
- Yönet'i tıklayın.
- Günlük kotanızı görüntüleyin.
Günde 10.000'den fazla istek yapılmasını isteyebilirsiniz. Buna uygun olabilmeniz için:
- Yeniden denemeler dahil olmak üzere API mantığının doğru uygulamasını onaylamış olmanız gerekir.
- Uygulamanızı diğer dağıtım kanallarının yanı sıra Google Play'de yayınlamış olmanız gerekir.
Günlük maksimum istek sayınızı artırmak için bu formu doldurun.
İlgili içerik
- Google Play Integrity API ile ilgili geliştirici belgelerini okuyun
- Play Integrity API ile ilgili bu genel bakış videosunu izleyin
- Google Play Console'da Google Play ile korunanlar hakkında bilgi edinin
- Android Developers sitesinde Google Play ile korunanlar hakkında bilgi edinin