Kurulum

Bu sayfada, uygulamanızı veya oyununuzu Play Integrity API'yi kullanmak için nasıl ayarlayacağınız açıklanmaktadır. API'den gelen yanıtları etkinleştirmeniz ve ardından API'yi uygulamanıza ve uygulamanızın arka uç sunucusuna entegre etmeniz gerekir. Google Play Console'da Play Integrity API için kullandığınız Google Cloud projesini bağladığınızda ek yapılandırma seçenekleri, test özellikleri ve raporlama kullanılabilir hale gelir.

Play Integrity API yanıtlarını etkinleştir

Play Integrity API'yi çağıran her uygulama veya SDK'nın, API kullanımını izlemek için bir Google Cloud projesinden yararlanması gerekir. Google Play'deki uygulamalar, Play Integrity API yanıtlarını etkinleştirmek için Google Play Console'daki bir Cloud projesini bağlayabilir. Yeni bir Cloud projesi oluşturmak istiyorsanız veya uygulamanız Google Play dışında özel olarak dağıtılmışsa Play Integrity API yanıtlarını Google Cloud Console'dan etkinleştirebilirsiniz.

Google Play Console'da kur (önerilir)

Play Integrity API yanıtlarını Google Play Console'da etkinleştirerek ek yapılandırma seçeneklerine, test özelliklerine ve API raporlarına erişebilirsiniz. Bu seçenek yalnızca Google Play'de dağıtılan uygulamalarda kullanılabilir. Sürüm > Uygulama bütünlüğü'ne gidin. Play Integrity API'nin altından Cloud projesi bağla'yı seçin. Uygulamanıza bağlamak istediğiniz Cloud projesini seçtiğinizde Play Integrity API yanıtları etkinleştirilir. Artık Play Integrity API'yi uygulamanıza entegre edebilirsiniz.

Google Cloud Console'da ayarla

Google Cloud Console'unuzda yeni bir Cloud projesi oluşturun veya Play Integrity API ile kullanmak istediğiniz mevcut bir Cloud projesini seçin. API'ler ve hizmetler'e gidin. API'leri ve hizmetleri etkinleştir'i seçin. Play Integrity API'yi arayın ve ardından etkinleştirin. Artık Play Integrity API'yi uygulamanıza entegre edebilirsiniz.

SDK sağlayıcılara yönelik talimatları ayarlama

SDK sağlayıcılar, Play Integrity API'yi çağırmak için kendi Google Cloud projelerini kullanmalıdır. Böylece API kullanımı, SDK'yı kullanan bağımsız uygulamalarla değil, SDK ile ilişkilendirilmelidir. Bu nedenle, SDK'nızı kullanan uygulamaların Play Integrity API'yi ayrı ayrı ayarlaması gerekmez. Play Integrity API istekleriniz, otomatik olarak uygulamanın değil SDK'nızın API kullanımına dahil edilir.

SDK geliştiricilerinin Play Integrity API'yi ayarlamak için iki seçeneği vardır: Google Play SDK Console veya Google Cloud Console.

Google Play SDK Console'da Play Integrity API yanıtlarını etkinleştirerek ek yapılandırma seçeneklerine erişebilirsiniz. SDK bütünlüğü'ne gidip Ayarlar'ı tıklayın. Proje yapılandırması bölümünde Cloud projesi bağla'yı seçin. SDK'nıza bağlamak istediğiniz Cloud projesini seçtiğinizde Play Integrity API yanıtları etkinleştirilir. Artık Play Integrity API'yi SDK'nıza entegre edebilirsiniz. Google Play SDK Console'a erişimin uygunluk ölçütlerine tabi olduğunu unutmayın.

Google Cloud Console'u kullanma

Play Integrity API yanıtlarını Google Cloud Console'dan etkinleştirebilirsiniz. Google Cloud Console'unuzda yeni bir Cloud projesi oluşturun veya Play Integrity API ile kullanmak istediğiniz mevcut bir Cloud projesini seçin. API'ler ve hizmetler'e gidin. API'leri ve hizmetleri etkinleştir'i seçin. Play Integrity API'yi arayın ve ardından etkinleştirin. Artık Play Integrity API'yi SDK'nıza entegre edebilirsiniz.

SDK'nızın günlük Play Integrity API isteklerini artırma

Maksimum günlük istek sayısını artırmak isteyen SDK sağlayıcılar kota istek formunu doldurmalıdır. Açık yorumlar bölümünde, SDK isteği yaptığınızı belirtin ve Maven koordinatlarınızı (groupId:artifactId) veya SDK'nızın URL'sini ekleyin.

Günlük Play Integrity API isteklerinizi artırın

Uygulamanız,uygulama başına günlük en fazla 10.000 isteğe tabi olacaktır. Uygulamanızın artan sayıda kullanıcıyı işlemesi gerekiyorsa aşağıdaki talimatları uygulayarak bu günlük maksimum değerin artırılmasını isteyebilirsiniz.

Günlük maksimum istek sayınızı artırın

Günlük maksimum istek sayınızı artırabilmeniz için uygulamanızın diğer tüm dağıtım kanallarının yanı sıra Google Play'de de kullanılabilir olması gerekir. Günlük maksimum sayı artırılsa bile kullanıcı verilerini ve pili korumak için kullanıcı başına klasik istekleri sık sık olmayan, yüksek değerli işlemlerle sınırlamaya devam etmelisiniz.

Günlük maksimum istek sayınızın artırılmasını istemek için aşağıdakileri yapın:

  1. Play Integrity API için kullandığınız Google Cloud projesini Play Console'da bağlayın.
  2. Önerilen yeniden deneme stratejisi dahil olmak üzere, API mantığını doğru uyguladığınızdan emin olun.
  3. Bu formu kullanarak kota artışı isteyin.

Play Integrity API kotasının artırılması bir haftayı bulabilir. Bu nedenle, hizmetinizde kesinti olmaması için Play Integrity API kullanımınızı Google Play Console'dan veya Google Cloud Console'dan izlemenizi önemle tavsiye ederiz. Buradan kota uyarıları da ayarlayabilirsiniz.

Klasik istek kota artışları, hem bütünlük jetonları oluşturmak için istemci çağrısına hem de bütünlük jetonlarının şifresini çözmek ve doğrulamak için sunucu çağrısına otomatik olarak uygulanır. Bütünlük jetonlarının şifresini çözmek ve doğrulamak için sunucu çağrısına standart istek kota artışları uygulanır.

Play Integrity API'yi uygulamanıza entegre edin

Play Integrity API'yi uygulamanıza veya SDK'nıza entegre etmek için geliştirme ortamınıza bağlı olarak aşağıdakilerden birini yapın:

Kotlin veya Java

Play Integrity API için en yeni Android kitaplığına Google'ın Maven deposu'ndan ulaşabilirsiniz. Aşağıdaki bağımlılığı uygulamanızın build.gradle dosyasına ekleyin:

implementation 'com.google.android.play:integrity:1.3.0'

Üçlü

Unity 1.3.0 veya üstü için Google Play Integrity Plugin<br>yükleyin. Talimatlar için Unity için Google paketlerini yükleme bölümüne bakın.

  • 2019.x, 2020.x ve daha yeni sürümlerin tümü desteklenir.
  • Unity 2018.x kullanıyorsanız 2018.4 veya daha yeni sürümler desteklenir.
  • Unity 2017.x ve daha eski sürümler desteklenmez.

Yerel

Play Core Yerel SDK'sının 1.13.0 veya sonraki bir sürümünü yükleyin. Talimatlar için Play Core Yerel'in geliştirme ortamı kurulum kılavuzuna bakın.

API yanıtlarını yapılandırma (isteğe bağlı)

API yanıtı, her istekte döndürülen varsayılan kararları içerir. Play Console'da Play Integrity API entegrasyonunuzu ayarlarsanız API yanıtınızı özelleştirebilirsiniz.

Varsayılan yanıtlar

Play Integrity API yanıtında varsayılan olarak aşağıdaki entegrasyon kararları döndürülür:

Yanıt alanı Değer Açıklama
Cihaz bütünlüğü MEETS_DEVICE_INTEGRITY Uygulama Google Play Hizmetleri tarafından desteklenen bir Android cihazda çalışıyor. Cihaz, sistem bütünlüğü kontrollerini geçer ve Android uyumluluk koşullarını karşılar.
Boş (boş değer) Uygulamanın çalıştığı cihazda saldırı (API kancalama gibi) veya sistem bozulması (rootlanma gibi) belirtileri var ya da uygulama fiziksel bir cihazda çalışmıyor (örneğin, Google Play bütünlük kontrollerini geçmeyen bir emülatörde çalışıyor).
Hesap ayrıntıları LICENSED Kullanıcının uygulamadan yararlanma hakkı bulunmaktadır. Yani kullanıcı, uygulamanızı Google Play'den yüklemiş veya satın almıştır. Kullanıcı, uygulamayı kaldırdıktan sonra uygulamayı kullanma hakkını korur. Dolayısıyla, kullanıcı aynı uygulamayı daha sonra başka bir şekilde edinirse bu kullanıcının hesabı yine lisanslı olur.
UNLICENSED Kullanıcının uygulamadan yararlanma hakkı yoktur. Kullanıcının uygulamanızı başka cihazdan yüklediği veya Google Play dışında bir kanaldan edindiği durumlarda bu etiket görülür.
UNEVALUATED Bir koşul karşılanmadığı için lisanslama ayrıntıları değerlendirilmedi. Bu durumun aşağıdakiler de dahil olmak üzere birkaç nedeni olabilir:
  • Cihaz yeterince güvenilir değildir.
  • Kullanıcı Google Play'de oturum açmamıştır.
  • Cihazda uygulamanızın Google Play tarafından tanınmayan bir sürümü yüklüdür.
Uygulama bütünlüğü PLAY_RECOGNIZED Uygulama ve sertifika, Google Play tarafından dağıtılan sürümlerle eşleşiyor.
UNRECOGNIZED_VERSION Sertifika veya paket adı Google Play kayıtlarıyla eşleşmiyor.
UNEVALUATED Uygulama bütünlüğü değerlendirilmemiştir. Koşullardan biri karşılanmamıştır (örneğin, cihaz yeterince güvenilir olmayabilir).

Koşullu yanıtlar

PC Üzerinde Google Play Games'e dağıtım yapıyorsanız cihaz bütünlüğü kararında ek bir etiket almak için otomatik olarak etkinleştirilirsiniz:

Yanıt alanı Şirket Açıklama
Cihaz bütünlüğü MEETS_VIRTUAL_INTEGRITY Uygulama Google Play Hizmetleri tarafından desteklenen bir Android cihazda çalışıyor. Emülatör, sistem bütünlüğü kontrollerini geçer ve temel Android uyumluluk şartlarını karşılar.

İsteğe bağlı yanıtlar

Play Integrity API entegrasyonunuzu Play Console'da veya Play SDK Console'da ayarladıysanız API yanıtınızda bilgi alma seçeneğini etkinleştirebilirsiniz.

API yanıtlarınızda değişiklik yapmak için Play Console'u ziyaret edip Sürüm > Uygulama bütünlüğü'ne gidin. Yanıtlar altında, yaptığınız değişiklikleri düzenleyip kaydedin.

İsteğe bağlı cihaz bilgileri

Uygulamalar ve SDK'lar, cihaz bütünlüğü kararına ek cihaz etiketlerini dahil edebilir. Ek etiket almayı seçmenizin ardından, etiket kriterlerinin her biri karşılanırsa bütünlük yanıtı aynı cihaz için birden fazla etiket içerir. Arka uç sunucunuzu olası yanıtların aralığına göre farklı şekilde davranmak üzere hazırlayabilirsiniz. Örneğin, üç etiket (MEETS_STRONG_INTEGRITY, MEETS_DEVICE_INTEGRITY ve MEETS_BASIC_INTEGRITY) döndüren bir cihaz, yalnızca tek etiket (MEETS_BASIC_INTEGRITY) döndüren bir cihazdan daha fazla güvenilir olabilir. LEVEL_1 (düşük istek sayısı) ile LEVEL_4 (yüksek istek sayısı) arasındaki seviyelerle son cihaz etkinliği düzeyleri de hesaba katılabilir. Örneğin, uygulamanız için normalden çok daha yüksek bir etkinlik düzeyi döndüren bir cihaz, güvenilmeyen cihazlara dağıtılmak üzere çok sayıda bütünlük jetonu oluşturabilir. UNEVALUATED düzeyi, güvenlikle ilgili olası endişeleri veya teknik sorunları belirtir.

Yanıt alanı Şirket Açıklama
Cihaz bütünlüğü MEETS_BASIC_INTEGRITY Uygulama temel sistem bütünlük kontrollerini geçen bir cihazda çalışıyor. Cihaz, Android uyumluluk koşullarını karşılamayabilir ve Google Play Hizmetleri'ni çalıştırmak üzere onaylanmamış olabilir. Örneğin, cihaz Android'in tanınmayan bir sürümü çalıştırıyor, kilidi açılmış bir bootloader içeriyor veya üretici tarafından sertifikalandırılmamış olabilir.
MEETS_STRONG_INTEGRITY Uygulama Google Play Hizmetleri tarafından desteklenen bir Android cihazda çalışmaktadır ve sistem bütünlüğü, (ör. başlatma bütünlüğünün donanım destekli bir kanıtı) güçlü bir sistem bütünlüğü garantisine sahiptir. Cihaz, sistem bütünlüğü kontrollerini geçer ve Android uyumluluk koşullarını karşılar.
Son cihaz etkinliği (Beta) Standart API isteği Klasik API isteği
LEVEL_1 (en düşük) Uygulama, son bir saat içinde bu cihazda 10 veya daha az bütünlük jetonu istedi. Uygulama, son bir saat içinde bu cihazda 5 veya daha az bütünlük jetonu istedi.
LEVEL_2 Uygulama, son bir saat içinde bu cihazda 11 ile 25 arasında bütünlük jetonu istedi. Uygulama, son bir saat içinde bu cihazda 6 ila 15 bütünlük jetonu istedi.
LEVEL_3 Uygulama, son bir saat içinde bu cihazda 26 ila 50 bütünlük jetonu istedi. Uygulama, son bir saat içinde bu cihazda 16 ila 30 bütünlük jetonu istedi.
LEVEL_4 (en yüksek) Uygulama son bir saat içinde bu cihazda 50'den fazla bütünlük jetonu istedi. Uygulama son bir saat içinde bu cihazda 30'dan fazla bütünlük jetonu istedi.
UNEVALUATED Son cihaz etkinliği değerlendirilmedi.

Bu durum aşağıdakiler dahil olmak üzere çeşitli nedenlerden kaynaklanabilir:

  • Cihaz yeterince güvenilir değildir.
  • Cihazda uygulamanızın Google Play tarafından tanınmayan bir sürümü yüklüdür.
  • Cihazdaki teknik sorunlar.

İsteğe bağlı ortam ayrıntıları

Uygulamalar, çevre hakkında daha fazla karar almak için kaydolabilirler. Play Protect kararını almayı kabul ettikten sonra API yanıtınızda kararla birlikte ortam ayrıntıları alanı gösterilir.

Yanıt alanı Değer Açıklama
Play Protect kararı NO_ISSUES Play Protect açıldı ve cihazda uygulama sorunu bulamadı.
NO_DATA Play Protect açıldı, ancak henüz tarama yapılmadı. Cihaz veya Play Store uygulaması kısa süre önce sıfırlanmış olabilir.
POSSIBLE_RISK Play Protect kapalı.
MEDIUM_RISK Play Protect açık ve cihazda zararlı olabilecek uygulamalar buldu.
HIGH_RISK Play Protect açıldı ve cihazda yüklü tehlikeli uygulamalar buldu.
UNEVALUATED Play Protect kararı değerlendirilmedi. Koşullardan biri karşılanmamıştır (örneğin, cihaz yeterince güvenilir olmayabilir).

Klasik istek ayarlarını yapılandırın (isteğe bağlı)

Yalnızca standart API istekleri yapmayı planlıyorsanız bu bölümü atlayın.

Klasik istek gönderdiğinizde Play Integrity API ile etkileşimde bulunduğunuzda uygulamanızın kullandığı yanıt şifrelemesi varsayılan olarak Google Play'in sunucuları tarafından yönetilir. Bu varsayılan seçeneği kullanmanızı önersek de aşağıdaki talimatları uygulayarak yanıt şifreleme anahtarlarınızı yönetmeyi ve indirmeyi de seçebilirsiniz.

Google'ın yanıt şifrelemenizi yönetmesine izin ver (varsayılan ve önerilen)

Uygulamanızın güvenliğini korumak için Google'ın yanıt şifreleme anahtarlarınızı oluşturmasına ve yönetmesine izin vermeniz önerilir. Arka uç sunucunuz, yanıtların şifresini çözmek için Google Play'in sunucusunu arar.

Yanıt şifreleme anahtarlarımı yönetme ve indirme

Entegrasyon kararının şifresini kendi güvenli sunucu ortamınızda yerel olarak çözmek istiyorsanız yanıt şifreleme anahtarlarınızı yönetebilir ve indirebilirsiniz. Yanıt şifreleme anahtarlarınızı yönetmek ve indirmek için Play Console'u kullanmanız ve uygulamanızın diğer dağıtım kanallarının yanı sıra Google Play'de de kullanılabilir olması gerekir. Google tarafından yönetilen yanıt şifreleme anahtarlarından kendi kendine yönetilen yanıt şifreleme anahtarlarına geçiş yapmak için aşağıdaki talimatları uygulayın.

Alınan jetonun şifresini istemci uygulamanızdan çözmemeyi veya doğrulamamayı unutmayın ve şifre çözme anahtarlarını asla istemci uygulamasına göstermeyin.

Play Console'da yanıt şifreleme yönetimi stratejinizi değiştirmeden önce, hizmet kesintisi yaşamamak için sunucunuzun Google Play sunucularındaki bütünlük jetonlarının şifresini çözecek ve doğrulayacak şekilde doğru yapılandırıldığından emin olun.

Google tarafından yönetilen ve kendi kendine yönetilen yanıt şifreleme anahtarları arasında geçiş yapma

Yanıt şifrelemeniz şu anda Google tarafından yönetiliyorsa ve yanıt şifreleme anahtarlarınızı kendiniz yönetip indirmek istiyorsanız aşağıdaki adımları uygulayın:

  1. Play Console'a giriş yapın.
  2. Play Integrity API'yi kullanan bir uygulama seçin.
  3. Soldaki menünün Sürüm bölümünde Uygulama bütünlüğü'ne gidin.
  4. Play Integrity API'nin yanındaki Ayarlar'ı tıklayın.
  5. Sayfanın Klasik istekler bölümünde, Yanıt şifreleme'nin yanındaki Düzenle'yi tıklayın.
  6. Görüntülenen pencerede Yanıt şifreleme anahtarlarımı yönet ve indir'i tıklayın.
  7. Ortak anahtar yükleme talimatlarını uygulayın.
  8. Pencerede yüklemenin başarılı olduğu gösterildikten sonra Kaydet'i tıklayın. Şifrelenmiş anahtarlarınız otomatik olarak indirilir.
  9. Sunucu mantığınızı değiştirerek yanıt şifreleme anahtarlarınızı kullanarak kendi güvenli sunucu ortamınızda yerel olarak bütünlük jetonlarının şifresini çözebilir ve doğrulayabilirsiniz.
  10. (İsteğe bağlı) Yanıt şifreleme anahtarlarınızı kendiniz yönettiğinizde, uygulamanız yine de mesajın şifresini çözmek ve doğrulamak için Google Play'in sunucusuna geçebilir.

Yanıt şifreleme anahtarlarınızı kendiniz yönetiyorsanız ve Google'ın yanıt şifrelemenizi yönetmesine izin vermek istiyorsanız aşağıdaki adımları uygulayın:

  1. Sunucu mantığınızı, yalnızca Google'ın sunucularında şifre çözecek ve doğrulama yapacak şekilde değiştirin.
  2. Play Console'a giriş yapın.
  3. Play Integrity API'yi kullanan bir uygulama seçin.
  4. Soldaki menünün Sürüm bölümünde Uygulama bütünlüğü'ne gidin.
  5. Play Integrity API'nin yanındaki Ayarlar'ı tıklayın.
  6. Sayfanın Klasik istekler bölümünde, Yanıt şifreleme'nin yanındaki Düzenle'yi tıklayın.
  7. Açılan pencerede Google'ın yanıt şifrelememi yönetmesine izin ver (önerilir) seçeneğini tıklayın.
  8. Değişiklikleri kaydet'i tıklayın.