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).
Google Play hesabı 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 döndüren bir cihaz (MEETS_STRONG_INTEGRITY, MEETS_DEVICE_INTEGRITY ve MEETS_BASIC_INTEGRITY), yalnızca tek etiket (MEETS_BASIC_INTEGRITY) döndüren bir cihaza göre daha güvenilir olabilir.

Son cihaz etkinliğini de etkinleştirebilirsiniz. Son cihaz etkinliği, LEVEL_1 (düşük istek sayısı) ile LEVEL_4 (yüksek istek sayısı) arasında bir değer döndürür. Örneğin, uygulamanız için normalden önemli ölçüde daha yüksek etkinlik düzeyi döndüren bir cihaz, güvenilmeyen cihazlara dağıtılmak üzere çok sayıda bütünlük jetonu oluşturmaya çalışıyor olabilir.

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 Uygulama başına son bir saat içinde bu cihazda standart API bütünlük jetonu isteği sayısı Uygulama başına son bir saat içinde bu cihazda yapılan klasik API bütünlüğü jetonu isteği
LEVEL_1 (en düşük) 10 veya daha az 5 veya daha az
LEVEL_2 11 ile 25 arasında 6 ile 10 arasında
LEVEL_3 26 ile 50 arasında 11 ile 15 arasında
LEVEL_4 (en yüksek) 50'den fazla 15'ten fazla
UNEVALUATED Son cihaz etkinliği değerlendirilmedi. Bu, aşağıdaki 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.
  • Cihazda teknik sorunlar vardı.

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

Uygulamalar, çevre hakkında daha fazla karar almak için kaydolabilirler. Uygulama erişim riski; ekranı yakalayabilecek, yer paylaşımlarını görüntüleyebilecek veya cihazı kontrol edebilecek diğer uygulamaların çalışıp çalışmadığını öğrenmenizi sağlar. Play Protect kararı, Play Protect'in cihazda etkin olup olmadığını ve bilinen kötü amaçlı yazılım bulup bulmadığını bilmenizi sağlar.

Bu kararları almayı kabul etmenizin ardından API yanıtınızda, kararın yer aldığı ortam ayrıntıları alanı yer alır:

Yanıt alanı Değer Açıklama
Uygulamaya erişim riski kararı KNOWN_INSTALLED Uygulamalar Google Play tarafından yüklenir veya cihaz üreticisi tarafından sistem bölümüne önceden yüklenir.
KNOWN_CAPTURING Google Play tarafından yüklenen veya cihaza önceden yüklenmiş olarak çalışan uygulamalar, istekte bulunan uygulamanın giriş ve çıkışlarını (ör. ekran kaydı uygulamaları) okumak veya yakalamak için kullanılabilir.
KNOWN_CONTROLLING Google Play tarafından yüklenen veya cihaza önceden yüklenmiş olan uygulamalar, cihazı ve istek yapan uygulamanın giriş ve çıkışlarını (ör. uygulamaları uzaktan kontrol etme) kontrol etmek için kullanılabilir.
KNOWN_OVERLAYS Google Play tarafından yüklenen veya cihaza önceden yüklenmiş olan ve istekte bulunan uygulamada yer paylaşımları görüntüleyen uygulamalar.
UNKNOWN_INSTALLED Google Play tarafından yüklenmemiş veya cihaz üreticisi tarafından sistem bölümüne önceden yüklenmiş olan diğer uygulamalar yüklenir.
UNKNOWN_CAPTURING İstekte bulunan uygulamanın giriş ve çıkışlarını (ör. ekran kaydı uygulamaları) okumak veya yakalamak için kullanılabilen diğer uygulamalar (Play tarafından yüklenmemiştir veya cihaza önceden yüklenmiştir).
UNKNOWN_CONTROLLING Cihazı ve istekte bulunan uygulamanın giriş ve çıkışlarını (ör. uygulamaları uzaktan kontrol etme) kontrol etmek için kullanılabilen diğer uygulamalar (Play tarafından yüklenmemiş veya cihaza önceden yüklenmiş olarak değil).
UNKNOWN_OVERLAYS Diğer uygulamalar çalışıyor (Play tarafından yüklenmedi veya cihaza önceden yüklenmiş olarak), istekte bulunan uygulamada yer paylaşımları gösteriyor olabilir.
EMPTY (boş değer) Gerekli bir şartın karşılanmaması durumunda uygulamaya erişim riski değerlendirilmez. Bu durumda appAccessRiskVerdict alanı boş olur. Bu durumun aşağıdakiler dahil olmak üzere çeşitli nedenleri olabilir:
  • Cihaz yeterince güvenilir değildir.
  • Cihazın form faktörü telefon, tablet veya katlanabilir değil.
  • Cihazda, Android 6 (API düzeyi 23) veya sonraki bir sürüm yüklü olmamalıdır.
  • Cihazda uygulamanızın Google Play tarafından tanınmayan bir sürümü yüklüdür.
  • Cihazdaki Google Play Store sürümü eski.
  • Yalnızca oyunlar: Kullanıcı hesabının oyun için Play lisansı yoktur.
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 ya da 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.