Bu sayfada, uygulamanızı, oyununuzu veya SDK'nızı Play Integrity API'yi kullanacak şekilde nasıl ayarlayacağınız açıklanmaktadır. API'yi entegre etmek için istek göndermeye başlamak üzere gerekli olan bir Google Cloud projeniz olmalıdır. Ardından Google Cloud projenizi Google Play Console'da (uygulamalar için) veya Google Play SDK Console'da (SDK'lar için) bağlayabilirsiniz. Ek yapılandırma seçeneklerine, test özelliklerine ve API raporlamasına erişmek için projenizi bağlamanız, günlük istek kotanızın artırılmasını talep etmeniz gerekir.
Play Integrity API'yi etkinleştirme
Play Integrity API'yi çağıran her uygulama veya SDK'nın, API'yi kullanmak ve kullanımı izlemek için bir Google Cloud projesi olmalıdır. Bu, tüm entegrasyonlar için zorunlu olan ilk adımdır. Play Integrity API'yi Google Cloud Console'da etkinleştirebilirsiniz. Alternatif olarak, doğrudan Cloud projenizi Google Play'e bağlamaya geçebilirsiniz. Bu durumda Play Integrity API sizin için etkinleştirilir.
Google Cloud Console'da 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.
- Etkinleştir'i tıklayın.
Artık Play Integrity API'yi uygulamanıza entegre edebilirsiniz. Gelişmiş özelliklere ve kota artışlarına erişmek için bağlama adımına geçmeniz gerekir.
Google Play'e bağlantı oluşturma (önerilir)
Bu talimatları uygulayarak uygulamanızı veya SDK'nızı Google Play'e bağlayın.
Google Play'deki uygulamalar ve oyunlar için
Google Play'de dağıtılan uygulamalar, ek özellikleri etkinleştirmek ve günlük API kotasının artırılmasını istemek için Google Play Console'da Google Cloud projelerini bağlamalıdır.
- Google Play Console'u açıp uygulamanızı seçin.
- Test ve sürüm > Uygulama bütünlüğü'ne gidin.
- Play Integrity API bölümünde Cloud projesi bağla'yı tıklayın.
- Play Integrity API ile kullanmayı planladığınız Google Cloud projesini seçin. Play Integrity API, proje için henüz etkinleştirilmemişse bağlama işlemi sırasında otomatik olarak etkinleştirilir.
Play SDK Console'daki SDK sağlayıcılar için
Google Play SDK Console'u kullanan SDK sağlayıcılar, Google Cloud projelerini bağlayarak API kullanımını SDK'ya atfedebilir (bunu kullanan tek tek uygulamalara değil), ek özellikleri etkinleştirebilir ve günlük API kotasının artırılmasını isteyebilir. Google Play SDK Console'a erişimin uygunluk ölçütlerine tabi olduğunu unutmayın.
- Google Play SDK Console'u açıp SDK'nızı seçin.
- SDK bütünlüğü'ne gidin.
- Play Integrity API bölümünde Cloud projesi bağla'yı tıklayın.
- Play Integrity API ile kullanmayı planladığınız Google Cloud projesini seçin. Play Integrity API proje için henüz etkinleştirilmemişse bağlama işlemi sırasında otomatik olarak etkinleştirilir.
Play Integrity API kullanım sınırlarını anlama
Uygulamanız veya SDK'nız, ilişkili Cloud Proje Numarası'na bağlı olarak günlük toplam 10.000 istek sınırına sahiptir. Daha yüksek bir hacim bekliyorsanız kota artışı isteğinde bulunabilirsiniz.
| İşlem | Günlük kota | Notlar |
|---|---|---|
| Jeton istekleri | 10.000 | Klasik istekler ve standart jeton hazırlıkları arasında paylaşılır. |
| Google'ın sunucularında jeton şifre çözümleri | 10.000 | Klasik ve standart istekler arasında paylaşılır. |
Günlük maksimum istek sayınızı artırma
Kota artışı, uygunluk ölçütlerine tabidir. Kota artışları hem istemci tarafı jeton oluşturma hem de sunucu tarafı şifre çözme çağrıları için geçerlidir. İsteklerin işlenmesi bir hafta kadar sürebilir. Google Cloud Console'da Play Integrity API kullanımınızı izlemenizi ve hizmetinizde kesinti olmaması için kota uyarıları ayarlamanızı öneririz.
Kota yükseltilse bile kullanıcı pili ve veri kullanımını korumak için klasik istekleri sınırlamaya devam ederek yalnızca nadiren, yüksek değerli işlemlerle ilgili olanlara izin verin.
Google Play'deki uygulamalar ve oyunlar için
Kota artışı için uygulamanızın diğer dağıtım kanallarının yanı sıra Google Play'de de kullanıma sunulmuş olması gerekir. Google Cloud projenizi Play Console'da uygulamanıza bağlamanız gerekir. Bağlantısı kaldırılmış projelerden gelen kota istekleri reddedilir.
Artış isteğinde bulunmak için:
- İlgili Google Cloud projesini Play Console'da bağlayın.
- Uygun yeniden deneme stratejileri de dahil olmak üzere API mantığını doğru şekilde uyguladığınızı doğrulayın.
- Kota isteği formunu gönderin.
Play SDK Console'daki SDK sağlayıcılar için
Kota artışı için uygun olmak istiyorsanız SDK'nızın Google Play SDK Console'da hak talebinde bulunulmuş olması ve Cloud projenizin SDK'nıza bağlı olması gerekir. Google Play SDK Console'a erişim uygunluk ölçütlerine tabidir.
Artış isteğinde bulunmak için:
- Google Play SDK Console'da Google Cloud projenizi bağlayın.
- Google Play SDK Console destek formunu doldurun.
Açık yorumlar bölümünde kullanım alanınızı, yaptığınız API isteklerinin türünü (standart, klasik veya her ikisi), istekleri ne sıklıkta yaptığınızı ve istediğiniz günlük maksimum istek sayısını açıklayın.
Play Integrity API'yi uygulamanıza entegre etme
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'nin en yeni Android kitaplığı Google'ın Maven deposunda mevcuttur. Uygulamanızın build.gradle dosyasına aşağıdaki bağımlılığı ekleyin:
implementation 'com.google.android.play:integrity:1.6.0'
Unity
Aşağıdaki bölümlerde, desteklenen Unity sürümleri, yükleme yöntemleri ve ortam kurulumu da dahil olmak üzere Unity projeleri için Google Play Integrity API'nin nasıl entegre edileceği ve ayarlanacağı açıklanmaktadır.
Desteklenen Unity sürümleri
- 2019.x, 2020.x ve daha yeni sürümlerin tümü desteklenmektedir.
- 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.
Geliştirme ortamınızı kurma
OpenUPM-CLI
OpenUPM CLI yüklüyse OpenUPM kayıt defterini aşağıdaki komutla yükleyebilirsiniz:
openupm add com.google.play.integrityOpenUPM
Paket yöneticisi ayarlarını açmak için Unity menü seçeneği Düzenle > Proje Ayarları > Paket Yöneticisi'ni belirleyin.
OpenUPM'yi Package Manager penceresine kapsamlı kayıt defteri olarak ekleyin:
Name: package.openupm.com URL: https://package.openupm.com Scopes: com.google.external-dependency-manager com.google.play.common com.google.play.core com.google.play.integrityUnity menü seçeneği Window > Package Manager'ı (Pencere > Paket Yöneticisi) belirleyerek paket yöneticisi menüsünü açın.
Yönetici kapsamı açılır listesini Kayıtlarım'ı seçmek için ayarlayın.
Paket listesinden Google Play Integrity plugin for Unity paketini seçip Install'a (Yükle) basın.
GitHub'dan içe aktarma
GitHub'dan en son
.unitypackagesürümünü indirin..unitypackagedosyasını, Unity menü seçeneği Öğeler > Paketi içe aktar > Özel Paket'i belirleyip tüm öğeleri içe aktararak içe aktarın.
Unreal Engine
Aşağıdaki bölümlerde, Unreal Engine projeleri için Google Play Integrity API'nin nasıl entegre edileceği ve ayarlanacağı açıklanmaktadır.
Desteklenen Unreal Engine sürümleri
Eklenti, Unreal Engine 5.0 ve sonraki tüm sürümleri destekler.
Geliştirme ortamınızı kurma
Play Unreal Engine Plugin'i GitHub deposundan indirin.
Unreal Engine projenizdeki
Pluginsklasörünün içindekiGooglePlayklasörünü kopyalayın.Unreal Engine projenizi açın ve Edit → Plugins'i (Düzenle → Eklentiler) tıklayın.
Google Play'i arayın ve Etkin onay kutusunu işaretleyin.
Oyun projesini yeniden başlatın ve derleme işlemini tetikleyin.
Projenizin
Build.csdosyasını açın vePlayIntegritymodülünüPublicDependencyModuleNamesbölümüne ekleyin:using UnrealBuildTool; public class MyGame : ModuleRules { public MyGame(ReadOnlyTargetRules Target) : base(Target) { // ... PublicDependencyModuleNames.Add("PlayIntegrity"); // ... } }
Yerel
Yerel kurulum kılavuzunu uygulayın. Daha fazla bilgi için Play Integrity'nin yerel API referans belgelerine 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. Cloud projenizi Play Console veya Play SDK Console'da bağladıysanız API yanıtınızı ek bilgiler içerecek şekilde özelleştirebilirsiniz.
Varsayılan bütünlük kararları
Play Integrity API yanıtında varsayılan olarak aşağıdaki bütünlük değerlendirmeleri döndürülür:
| Yanıt alanı | Değer | Açıklama |
|---|---|---|
| Cihaz bütünlüğü | MEETS_DEVICE_INTEGRITY |
Uygulama, orijinal ve sertifikalı bir Android cihazda çalışıyor. Android 13 ve sonraki sürümlerde, cihaz bootloader'ının kilitli olduğunu ve yüklenen Android işletim sisteminin sertifikalı bir cihaz üreticisi görüntüsü olduğunu gösteren donanım destekli bir kanıt bulunur. |
| 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). | |
| Play hesabı ayrıntıları | LICENSED |
Kullanıcının uygulamadan yararlanma hakkı bulunmaktadır. Yani kullanıcı, uygulamanızı Google Play'den cihazına yüklemiş veya güncellemiştir. |
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 |
Koşullardan biri karşılanmadığı için lisanslama ayrıntıları değerlendirilmemiştir. Bu durum aşağıdakiler dahil olmak üzere çeşitli nedenlerden kaynaklanabilir:
|
|
| 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). |
Google Play Games for PC
PC Üzerinde Google Play Games'e dağıtım yapıyorsanız cihaz bütünlüğü kararında ek bir etiket almayı otomatik olarak kabul edersiniz:
| Yanıt alanı | Etiket | 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ı bütünlük değerlendirmeleri
Cloud projenizi Play Console veya Play SDK Console'da bağladıysanız ek bilgiler almayı etkinleştirebilirsiniz.
Değişiklik yapmak için Play Console'u ziyaret edip Test etme ve yayınlama > Uygulama bütünlüğü'ne gidin. Play Integrity API'nin yanındaki Ayarlar'ı tıklayın. Yanıtları değiştir'i tıklayın, değişikliklerinizi düzenleyip kaydedin.
Cihaz bilgileri
deviceIntegrity
kararındaki ek cihaz etiketleri, uygulamanın üzerinde çalıştığı cihaz ortamı hakkında daha fazla bilgi verir.
Tek bir cihaz, her bir etiketin ölçütlerini karşılıyorsa birden fazla etiket döndürür.
Bu etiketleri, kademeli bir yaptırım stratejisi oluşturmak için kullanabilirsiniz. Örneğin, yalnızca bir etiket (MEETS_BASIC_INTEGRITY) döndüren bir cihaza kıyasla üç etiket (MEETS_STRONG_INTEGRITY, MEETS_DEVICE_INTEGRITY ve MEETS_BASIC_INTEGRITY) döndüren bir cihaza güvenmeyi tercih edebilirsiniz.
Cihaz özellikleri, cihazdaki Android OS'in Android SDK sürümünü gösterir. Gelecekte diğer cihaz özellikleriyle genişletilebilir.
Son cihaz etkinliği, LEVEL_1 (düşük sayıda istek) ile LEVEL_4 (yüksek sayıda istek) arasında bir düzey döndürür. Yüksek etkinlik seviyeleri, kötüye kullanım amaçlı olarak güvenilmeyen cihazlara dağıtılmak üzere aşırı sayıda jeton oluşturmak için kullanılan bir cihazı gösterebilir.
Cihaz hatırlama, belirli cihazlarla ilgili bazı özel, cihaz bazında verileri saklamanıza olanak tanır. Bu verileri, uygulamanız daha sonra aynı cihaza tekrar yüklendiğinde güvenilir bir şekilde alabilirsiniz.
İsteğe bağlı bilgileri etkinleştirdikten sonra API yanıtınızda kararla ilgili yeni alanlar ve yanıtlar yer alır:
| Yanıt alanı | Etiket | Açıklama | |
|---|---|---|---|
| Cihaz bütünlüğü | MEETS_BASIC_INTEGRITY |
Uygulama, temel sistem bütünlüğü kontrollerini geçen bir cihazda çalışıyor. Cihaz bootloader'ı kilitli veya kilidi açık olabilir ve başlatma durumu doğrulanabilir veya doğrulanmayabilir. Cihaz sertifikalı olmayabilir. Bu durumda Google, güvenlik, gizlilik veya uygulama uyumluluğu konusunda herhangi bir garanti veremez. Android 13 ve sonraki sürümlerde, MEETS_BASIC_INTEGRITY değerlendirmesi,
güven kökünün Google tarafından sağlanmasını gerektirir. |
|
MEETS_STRONG_INTEGRITY |
Uygulama, yakın zamanda güvenlik güncellemesi almış, orijinal ve sertifikalı bir Android cihazda çalışıyor.
|
||
| Cihaz özellikleri | sdkVersion: 19, 20, ..., 36 |
Cihazda çalışan Android OS'nin SDK sürümü.
Döndürülen sayı, Build.VERSION_CODES ile eşlenir. |
|
| Boş (boş değer) | Gerekli bir koşul karşılanmadığı için SDK sürümü değerlendirilmemiştir. Bu durumda, sdkVersion alanı ayarlanmamıştır. Bu nedenle, deviceAttributes alanı boştur.
Bu durumun nedeni aşağıdakilerden biri olabilir:
|
||
| Bu cihazda son bir saat içinde uygulama başına yapılan standart API bütünlük jetonu istekleri | Bu cihazda son bir saat içinde uygulama başına yapılan klasik API bütünlük jetonu istekleri | ||
| Son cihaz etkinliğ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 durumun olası nedenleri:
|
||
| Cihaz hatırlama | values: bitFirst, bitSecond, bitThird |
Bunlar, geçmişte belirli bir cihaz için ayarladığınız bit değerleridir. Her bitin anlamına siz karar verirsiniz. Üç bit değeri varsayılan olarak false'tur. | |
writeDates: yyyymmFirst, yyyymmSecond, yyyymmThird |
Bunlar, yıl ve ay olarak doğru olan UTC'deki bit değeri yazma tarihleridir. Geri çağırma bitinin yazma tarihi, bit her doğru olarak ayarlandığında güncellenir ve bit yanlış olarak ayarlandığında kaldırılır. | ||
Ortam ayrıntıları
Uygulama erişim riski; ekranı kaydetmek, yer paylaşımı görüntülemek veya cihazı kontrol etmek amacıyla başka uygulamaların çalıştırılıp çalıştırılmadığını bildirir. Google Play'in bildiği doğrulanmış erişilebilirlik hizmetleri bu kararın dışında tutulur.
Play Protect kararı, Google Play Protect'in cihazda etkinleştirilip etkinleştirilmediğini ve bilinen kötü amaçlı yazılım tespit edip etmediğini size bildirir.
İsteğe bağlı bilgileri etkinleştirdikten sonra API yanıtınızda kararla ilgili yeni alanlar ve yanıtlar 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üklenen uygulamalar çalışıyor olabilir. Bu uygulamalar, ekran kaydı uygulamaları gibi, istekte bulunan uygulamanın giriş ve çıkışlarını okumak veya yakalamak için kullanılabilir. | |
KNOWN_CONTROLLING |
Google Play tarafından yüklenen veya cihaza önceden yüklenen uygulamalar çalışıyor olabilir. Bu uygulamalar, cihazı ve istekte bulunan uygulamanın giriş ve çıkışlarını (ör. uzaktan kontrol uygulamaları) kontrol etmek için kullanılabilir. | |
KNOWN_OVERLAYS |
Google Play tarafından yüklenen veya cihaza önceden yüklenen uygulamalar, istekte bulunan uygulamada yer paylaşımları gösteriyor olabilir. | |
UNKNOWN_INSTALLED |
Google Play tarafından yüklenmemiş veya cihaz üreticisi tarafından sistem bölümüne önceden yüklenmemiş başka uygulamalar yüklenmiştir. | |
UNKNOWN_CAPTURING |
İstenen uygulamanın giriş ve çıkışlarını okumak veya yakalamak için kullanılabilecek başka uygulamalar (Play tarafından yüklenmemiş veya cihaza önceden yüklenmemiş) çalışıyor (ör. ekran kaydı uygulamaları). | |
UNKNOWN_CONTROLLING |
Cihazı ve istekte bulunan uygulamanın giriş ve çıkışlarını kontrol etmek için kullanılabilecek başka uygulamalar çalışıyor (Play tarafından yüklenmemiş veya cihaza önceden yüklenmemiş). Örneğin, uzaktan kontrol uygulamaları. | |
UNKNOWN_OVERLAYS |
İstekte bulunan uygulamada yer paylaşımları gösteriyor olabilecek başka uygulamalar çalışıyor (Play tarafından yüklenmemiş veya cihaza önceden yüklenmemiş). | |
| Boş (boş değer) | Koşullardan biri karşılanmadığı için uygulama erişimi riski değerlendirilmez. Bu durumda appAccessRiskVerdict alanı boş. Bu durum aşağıdakiler dahil olmak üzere çeşitli nedenlerden kaynaklanabilir:
|
|
| Play Protect kararı | NO_ISSUES |
Play Protect etkindir ve cihazda uygulama ile ilgili herhangi bir sorun tespit edilmemiştir. |
NO_DATA |
Play Protect etkindir ancak henüz tarama yapılmamıştır. Cihaz ya da Play Store uygulaması kısa süre önce sıfırlanmış olabilir. | |
POSSIBLE_RISK |
Play Protect devre dışı bırakılmışsa | |
MEDIUM_RISK |
Play Protect etkindir ve cihazda potansiyel zararlı uygulamaların yüklü olduğunu tespit etmiştir. | |
HIGH_RISK |
Play Protect etkindir ve cihazda tehlikeli uygulamaların yüklü olduğunu tespit etmiştir. | |
UNEVALUATED |
Play Protect kararı değerlendirilmemiştir. Koşullardan biri karşılanmamıştır (örneğin, cihaz yeterince güvenilir olmayabilir). |
Klasik istek ayarlarını yapılandırma (isteğe bağlı)
Yalnızca standart API istekleri göndermeyi planlıyorsanız bu bölümü atlayın.
Yanıt şifreleme varsayılan olarak Google Play tarafından yönetilir. Bu nedenle, arka uç çağrılarınız Google'ın sunucusunu arayarak değerlendirmelerin şifresini çözer. Alternatif olarak, güvenli sunucu ortamınızda yerel olarak şifre çözmek için anahtarları kendiniz yönetebilirsiniz.
Yanıt şifrelemenizin Google tarafından yönetilmesine izin verme (önerilir)
Uygulamanızın güvenliğini korumak için Google'ın anahtar oluşturmasına ve yönetmesine izin vermenizi öneririz. Arka ucunuz, yanıtların şifresini çözmek ve doğrulamak için Google Play'in sunucusunu arar.
Kendi şifreleme anahtarlarınızı yönetme
Kendi güvenli sunucu ortamınızda yerel olarak şifre çözmek için Play Console veya Play SDK Console'dan şifreleme anahtarlarını indirebilirsiniz. Bu özelliği kullanabilmek için uygulamanızın Google Play'de mevcut olması gerekir.
Play Console'da yanıt şifreleme yönetimi stratejinizi değiştirmeden önce, kesintileri önlemek için sunucunuzun Google Play'in sunucularındaki bütünlük jetonlarının şifresini çözüp doğrulayacak şekilde doğru yapılandırıldığından emin olun.
Google tarafından yönetilen ve kendi kendine yönetilen şifreleme anahtarları arasında geçiş yapma
- Play Console'u açıp uygulamanızı seçin .
- Test ve sürüm > Uygulama bütünlüğü'ne gidin.
- Play Integrity API'nin yanındaki Ayarlar'ı tıklayın.
- Klasik istekler bölümünde, Yanıt şifreleme'nin yanındaki Düzenle'yi tıklayın.
Kendinden yönetilen anahtarlara geçmek için:
- Kendi yanıt şifreleme anahtarlarımı indirip yöneteceğim'i seçin ve ortak anahtarınızı yükleyin.
- Şifrelenmiş anahtarlarınızı otomatik olarak indirmek için Kaydet'i tıklayın.
- Güvenli arka uç sunucunuzu, bu anahtarları kullanarak yerel olarak şifre çözme işlemi yapacak şekilde güncelleyin.
Google tarafından yönetilen anahtarlara geçmek için:
- Yanıt şifrelemem Google tarafından yönetilsin (önerilir)'i seçin.
- Değişiklikleri kaydet'i tıklayın.