Bu sayfada, uygulama, oyun veya SDK'nızı Play Integrity API'yi kullanacak şekilde nasıl ayarlayacağınız açıklanmaktadır. API'yi entegre etmek için bir Google Cloud projeniz olmalıdır. İstek göndermeye başlamak için bu proje gereklidir. Ardından Google Cloud projenizi Google Play Console'a (uygulamalar için) veya Google Play SDK Console'a (SDK'lar için) bağlayabilirsiniz. Ek yapılandırma seçeneklerine, test özelliklerine ve API raporlarına erişmek ve günlük istek kotanızın artırılmasını talep etmek için projenizi bağlamanız gerekir.
Google 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. Google Play Integrity API'yi Google Cloud Console'da etkinleştirebilir veya doğrudan Cloud projenizi Google Play'e bağlama adımına geçebilirsiniz. Bu durumda Google 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 Google Play Integrity API'yi uygulamanıza entegre edebilirsiniz. İleri seviye özelliklere ve kota artışlarına erişmek için bağlantı adımına geçmeniz gerekir.
Google Play'e bağlama (önerilir)
Bu talimatları uygulayarak Google Cloud projenizi uygulamanıza veya SDK'nıza bağlayabilirsiniz.
Google Play'deki uygulamalar ve oyunlar için
Google Play'de dağıtılan uygulamaların, ek özellikleri etkinleştirmek ve günlük API kotasının artırılmasını talep etmek için Google Cloud projelerini Google Play Console'a bağlaması gerekir.
- Google Play Console'u açıp uygulamanızı seçin.
- Google Play ile korunanlar sayfasına gidin.
- Play Integrity API'nin yanındaki Başlayın düğmesini seçerek Play Integrity API ayarlarına gidin.
- Cloud projesi bağla düğmesini tıklayın.
- Google Play Integrity API ile kullanmayı planladığınız Google Cloud projesini seçin. Google Play Integrity API, proje için henüz etkinleştirilmemişse bağlantı oluşturulduğunda otomatik olarak etkinleştirilir.
Google Play SDK Console'daki SDK sağlayıcılar için
Google Play SDK Console'u kullanan SDK sağlayıcılar, API kullanımını SDK'yı kullanan uygulamalar yerine SDK ile ilişkilendirmek, ek özellikleri etkinleştirmek ve günlük API kotasının artırılmasını talep etmek için Google Cloud projelerini bağlayabilir. Google Play SDK Console'a erişim, uygunluk ölçütlerine tabidir.
- 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ın veya SDK'nızın varsayılan günlük sınırı, ilişkili Cloud proje numarasına bağlı olarak toplam 10.000 istektir. 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 çözme işlemleri | 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. Hizmetinizde kesinti olmaması için Google Cloud Console'da Play Integrity API kullanımınızı izlemenizi ve kota uyarıları ayarlamanızı öneririz.
Kota yükseltilse bile kullanıcıların pil ve veri kullanımını korumak için klasik istekleri nadiren yapılan, yüksek değerli işlemlerle sınırlamaya devam edin.
Google Play'deki uygulamalar ve oyunlar için
Kota artışına uygun olması için uygulamanızın diğer dağıtım kanallarının yanı sıra Google Play'de de kullanılabilir olması gerekir. Google Cloud projenizi Play Console'da uygulamanıza bağlamanız gerekir. Bağlantısı kaldırılan projelerden gelen kota istekleri reddedilir.
Artış isteğinde bulunmak için:
- Google Play Console'da ilgili Google Cloud projesini bağlayın.
- Doğru 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.
Google Play SDK Console'daki SDK sağlayıcılar için
Kota artışından yararlanabilmek için SDK'nız için Google Play SDK Console'da hak talebinde bulunmanız ve Cloud projenizi buradaki SDK'nıza bağlamanız gerekir. Google Play SDK Console'a erişim, uygunluk ölçütlerine tabidir.
Artış isteğinde bulunmak için:
- Google Cloud projenizi Google Play SDK Console'a bağlayın.
- Geliştirici destek formunu doldurun.
Açık yorumlar bölümünde SDK bilgilerinizi belirtin, 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 için en yeni Android kitaplığını Google'ın Maven deposunda bulabilirsiniz. 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, Unity projeleri için Google Play Integrity API'nin nasıl entegre edilip ayarlanacağı açıklanmaktadır. Bu bölümlerde desteklenen Unity sürümleri, yükleme yöntemleri ve ortam kurulumu ele alınmaktadı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ı ayarlama
OpenUPM-CLI
OpenUPM CLI yüklüyse aşağıdaki komutla OpenUPM kayıt defterini yükleyebilirsiniz:
openupm add com.google.play.integrityOpenUPM
Düzenle > Proje Ayarları > Paket Yöneticisi Unity menü seçeneğini belirleyerek paket yöneticisi ayarlarını açın.
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 menüsünü Kayıt Defterlerim'i seçecek şekilde ayarlayın.
Paket listesinden Unity için Google Play Integrity eklentisi paketini seçip Yükle'ye basın.
GitHub'dan içe aktarma
GitHub'dan en son
.unitypackagesürümünü indirin.Öğeler > Paketi içe aktar > Özel Paket Unity menü seçeneğini belirleyip tüm öğeleri içe aktararak
.unitypackagedosyasını içe aktarın.
Unreal Engine
Aşağıdaki bölümlerde, Google Play Integrity API'nin Unreal Engine projeleri için 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ı ayarlama
GitHub deposundan Play Unreal Engine eklentisini indirin.
Unreal Engine projenizdeki
Pluginsklasörünün içinde bulunanGooglePlayklasö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 derlemeyi tetikleyin.
Projenizin
Build.csdosyasını açın vePlayIntegritymodülünüPublicDependencyModuleNamesdosyasına ekleyin:using UnrealBuildTool; public class MyGame : ModuleRules { public MyGame(ReadOnlyTargetRules Target) : base(Target) { // ... PublicDependencyModuleNames.Add("PlayIntegrity"); // ... } }
Yerel
Doğal reklam kurulum kılavuzunu uygulayın. Daha fazla bilgi için Google 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 değerlendirmeleri içerir. Cloud projenizi Google Play Console veya Google Play SDK Console'a 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 |
|---|---|---|
| Play hesabı ayrıntıları | LICENSED |
Kullanıcının uygulamadan yararlanma hakkı bulunmaktadır. Başka bir deyişle, 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). | |
| 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ğuna ve yüklenen Android OS'in sertifikalı bir cihaz üreticisi imajı olduğuna dair donanım tabanlı 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). |
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ı | Ş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ı bütünlük kararları
Cloud projenizi Play Console veya Play SDK Console'a bağladıysanız ek bilgi almak için kaydolabilirsiniz.
Değişiklik yapmak için Google Play Console'u ziyaret edip Google Play ile korunanlar bölümüne gidin. Play Integrity API'nin yanındaki Yönet'i 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 çalıştığı cihaz ortamı hakkında daha fazla bilgi verir.
Tek bir cihaz, her birinin ölçütlerini karşılıyorsa birden fazla etiket döndürür.
Kademeli bir yaptırım stratejisi oluşturmak için bu etiketleri kullanabilirsiniz. Örneğin, üç etiket (MEETS_STRONG_INTEGRITY, MEETS_DEVICE_INTEGRITY ve MEETS_BASIC_INTEGRITY) döndüren bir cihaza, yalnızca bir etiket (MEETS_BASIC_INTEGRITY) döndüren bir cihazdan daha fazla güvenmeyi tercih edebilirsiniz.
Cihaz özellikleri, cihazdaki Android OS'in Android SDK sürümünü gösterir. Gelecekte diğer cihaz özellikleri de eklenebilir.
Son cihaz etkinliği, LEVEL_1 (düşük istek sayısı) ile LEVEL_4 (yüksek istek sayısı) arasında bir düzey döndürür. Yüksek etkinlik seviyeleri, güvenilmeyen cihazlara kötüye kullanım amaçlı dağıtım için aşırı sayıda jeton oluşturmak amacıyla kullanılan bir cihazı gösterebilir.
Cihaz hatırlama özelliği, belirli cihazlarla ilgili bazı özel verileri saklamanıza olanak tanır. Uygulamanız daha sonra aynı cihaza tekrar yüklendiğinde bu verileri güvenilir bir şekilde geri alabilirsiniz.
İsteğe bağlı bilgileri etkinleştirdikten sonra API yanıtınızda yeni alanlar ve yanıtlar yer alır:
| 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ın bootloader'ı kilitli veya kilidi açılmış olabilir ve başlatma durumu doğrulanabilir ya da doğrulanmayabilir. Cihaz sertifikalı olmayabilir. Bu durumda Google; güvenlik, gizlilik veya uygulama uyumluluğu konusunda herhangi bir güvence veremez. Android 13 ve sonraki sürümlerde MEETS_BASIC_INTEGRITY kararı, onay
güven kökünün Google tarafından sağlanmasını gerektirir. |
|
MEETS_STRONG_INTEGRITY |
Uygulama, en son güvenlik güncellemesine sahip orijinal ve sertifikalı bir Android cihazda çalışıyor.
|
||
| Cihaz özellikleri | sdkVersion: 19, 20, ..., 37 |
Cihazda çalışan Android OS'in SDK sürümü.
Döndürülen sayı, Build.VERSION_CODES ile eşleşir. |
|
| Boş (boş değer) | Koşullardan biri karşılanmadığı için SDK sürümü değerlendirilmemiştir. Bu durumda sdkVersion alanı ayarlanmamıştır. Bu nedenle deviceAttributes alanı boştur.
Bunun nedeni aşağıdakilerden biri olabilir:
|
||
| Bu cihazda son bir saat içinde uygulama başına standart API bütünlük jetonu istekleri | Son bir saat içinde bu cihazda uygulama başına 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. Bunun nedeni aşağıdakilerden biri olabilir:
|
||
| 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ını siz belirlersiniz. Üç bit değeri varsayılan olarak false değerine ayarlanır. | |
writeDates: yyyymmFirst, yyyymmSecond, yyyymmThird |
Bunlar, yıl ve ay bazında doğru olan UTC cinsinden 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 tarafından bilinen doğrulanmış erişilebilirlik hizmetleri bu karardan otomatik olarak hariç tutulur.
Google Play Protect kararı, cihazda Google Play Protect'in 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 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 cihazda önceden yüklü olan uygulamalar, istekte bulunan uygulamanın giriş ve çıkışlarını okumak veya yakalamak için kullanılabilecek şekilde çalışıyor (ör. ekran kaydedici uygulamalar). | |
KNOWN_CONTROLLING |
Google Play tarafından yüklenen veya cihazda önceden yüklü olan uygulamalar çalışıyor. Bu uygulamalar, cihazı ve istekte bulunan uygulamanın giriş ve çıkışlarını kontrol etmek için kullanılabilir (ör. uzaktan kumanda uygulamaları). | |
KNOWN_OVERLAYS |
Google Play tarafından yüklenen veya cihaza önceden yüklenmiş olan uygulamalar çalışıyor ve 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üklü. | |
UNKNOWN_CAPTURING |
İstek gönderen 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üklenmiş) çalışıyor (ör. ekran kaydedici uygulamalar). | |
UNKNOWN_CONTROLLING |
Cihazı ve istekte bulunan uygulamanın giriş ve çıkışlarını kontrol etmek için kullanılabilecek başka uygulamalar (Google Play tarafından yüklenmemiş veya cihaza önceden yüklenmemiş) çalışıyor (ör. uzaktan kumanda uygulamaları). | |
UNKNOWN_OVERLAYS |
İstek gönderen uygulamada yer paylaşımı gösterebilecek başka uygulamalar (Play tarafından yüklenmemiş veya cihaza önceden yüklenmiş) çalışıyor. | |
| Boş (boş değer) | Gerekli bir koşul karşılanmadığı takdirde uygulama erişim riski değerlendirilmez. Bu durumda appAccessRiskVerdict alanı boş olur. Bu durum aşağıdakiler dahil olmak üzere çeşitli nedenlerden kaynaklanabilir:
|
|
| Google 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 |
Google Play Protect devre dışı. | |
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. Yani arka ucunuz, kararların şifresini çözmek için Google'ın sunucusunu çağırır. Alternatif olarak, güvenli sunucu ortamınızda yerel olarak şifre çözmek için anahtarları kendiniz yönetebilirsiniz.
Yanıt şifrelemeniz Google tarafından yönetilsin (ö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 şifreleme anahtarlarını Google Play Console'dan veya Google Play SDK Console'dan indirebilirsiniz. Bu özelliği kullanabilmek için uygulamanızın Google Play'de kullanılabilir olması gerekir.
Google Play Console'da yanıt şifreleme yönetimi stratejinizi değiştirmeden önce, kesinti 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 şifreleme anahtarları arasında geçiş yapma
- Google Play Console'u açıp uygulamanızı seçin .
- Google Play ile korunanlar sayfasına gidin.
- Play Integrity API'nin yanındaki Yönet'i tıklayın.
- Klasik istekler bölümünde, Yanıt şifreleme'nin yanındaki Düzenle'yi tıklayın.
Kendi yönettiğiniz anahtarlara geçmek için:
- Kendi yanıt şifreleme anahtarlarımı indirip yöneteceğim'i seçip 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) seçeneğini belirleyin.
- Değişiklikleri kaydet'i tıklayın.