PC Üzerinde Google Play Games için PC uyumluluğu ve optimizasyonu

PC Üzerinde Google Play Games'i kullanmak için oyununuzda PC uyumluluğu ve optimizasyonuyla ilgili değişiklikler yapmanız gerekir. Bu değişiklikler, oyununuzun PC'de çalışmasını ve kullanıcı deneyiminin platform için optimize edilmesini sağlar.

Ayrıca PC Üzerinde Google Play Games'in grafik, cihaz girişi ve cihazlar arası oynama gereksinimleri vardır. Daha fazla bilgi için Başlangıç kılavuzu'na bakın.

PC uyumluluğu ve optimizasyon değişikliklerini (x86-64 desteği hariç) yaparken oyununuzu PC Üzerinde Google Play Games'i algılayacak şekilde ayarlayabilir, ardından platforma özel özellikleri devre dışı bırakabilir veya etkinleştirebilirsiniz. Bu sayede, Android mobil ve PC sürümleriniz için aynı APK'yı veya uygulama paketini kullanabilirsiniz.

Bu sayfadaki şartların ve önerilerin özeti aşağıda verilmiştir:

x86-64 ABI mimarisini ekleyin

Yayın süreci için gereklidir

Platformda en iyi performans ve kararlılık için oyununuza dahil edilen tüm kitaplıkların x86-64 ABI uyumlu sürümleri gerekir.

Oyununuzun 64 bit x86 yürütülebilir dosyası göndermesi teknik olarak mümkün değilse istisna için inceleme ekibiyle iletişime geçmeniz gerekir. Oyununuz, bir istisna nedeniyle tam sertifikayı alamıyor ancak katalogda "hazır oyun" olarak yer alabiliyor.

Kitaplık derlemesi

En iyi x86-64 işlemci uyumluluğunu sağlamak için kitaplıklarınızı derlerken atom talimat setini kullanmayın. Örneğin, gcc kullanırken -march=atom yerine -march=x86-64 kullanın.

Unity'de hedef mimari

Unity 2019 ve 2020'nin bazı sürümlerinde Android'de x86-64 mimari desteği yoktur. Unity 2019.4.31f1, 2020.3.19f1 veya sonraki bir sürümü kullandığınızdan emin olun.

Oyununuzda Unity oyun motorunun uyumlu bir sürümü kullanılıyorsa x86-64 Android hedeflerini etkinleştirmek için aşağıdakileri yapın:

  1. Player Settings > Other Settings > Configuration > Scripting Backend (Oyun Ayarları > Diğer Ayarlar > Yapılandırma > Komut Dosyası Oluşturma Arka Uç) bölümüne gidin ve açılır menüden IL2CPP'yi seçerek IL2CPP Komut Dosyası Oluşturma Arka Ucu'nu etkinleştirin.

  2. Unity sürümünüz için x86-64 Android hedeflerini etkinleştirin:

    • Unity 2018 ve önceki sürümler: Player Settings > Other Settings > Target Architecture (Oyun Ayarları > Diğer Ayarlar > Hedef Mimari) bölümüne gidin ve x86 onay kutusunu işaretleyin. Unity 2018 yalnızca x86 hedeflerini desteklediğinden x86-64 oluşturamazsınız. Bu derleme için inceleme ekibinden istisna izni alınması gerekir. x86 istisnası isteğinde bulunmak için lütfen Google temsilcinizle iletişime geçin.

    • Unity 2019 Uzun Süreli Destek (LTS) sürümü ve sonraki sürümler: Player Settings > Other Settings > Target Architectures'a (Oynatıcı Ayarları > Diğer Ayarlar > Hedef Mimariler) gidin ve x86-64 (ChromeOS)'i etkinleştirin.

PC Üzerinde Google Play Games'i algılama

PC Üzerinde Google Play Games platformunu çalışma zamanında algılayarak oyununuzda platforma özel özellikleri etkinleştirebilir veya devre dışı bırakabilirsiniz.

Oyununuzun PC Üzerinde Google Play Games platformunda çalışıp çalışmadığını belirlemek için com.google.android.play.feature.HPE_EXPERIENCE sistem özelliğini kontrol edin:

Kotlin

    var isPC = packageManager.hasSystemFeature("com.google.android.play.feature.HPE_EXPERIENCE")
  

Java

    PackageManager pm = getPackageManager();
    boolean isPC = pm.hasSystemFeature("com.google.android.play.feature.HPE_EXPERIENCE")
  

C#

var unityPlayerClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
var currentActivity = unityPlayerClass.GetStatic<AndroidJavaObject>("currentActivity");
var packageManager = currentActivity.Call<AndroidJavaObject>("getPackageManager");
var isPC = packageManager.Call<bool>("hasSystemFeature", "com.google.android.play.feature.HPE_EXPERIENCE");
  

Android yaşam döngüsü olaylarını işleme

Google Play Games on PC ortamında onPause (c++) etkinliğini işlemek önemlidir. Oyununuz, bir oyuncu emülatör yer paylaşımını etkinleştirdiğinde görünür. Bu nedenle, onPause etkinliğini dinlememek kötü bir kullanıcı deneyimine yol açabilir.

Kullanıcı arayüzünü güncelleme

Belirli kullanıcı arayüzü öğeleri ve hareketleri PC'de uygun değildir ve güncellenmelidir.

Gerekli:

  • İki veya daha fazla parmakla yapılması gereken kullanıcı arayüzü işlemlerini (çoklu dokunma hareketleri) değiştirin. Örneğin, parmakla yakınlaştırma ve diğer çoklu dokunma hareketlerini ilgili fare ve klavye girişiyle değiştirmeniz gerekir. Cihaz giriş değişiklikleriyle ilgili ayrıntılar için Giriş desteği başlıklı makaleyi inceleyin.

Önerilen:

  • Kullanıcı tarafından görülebilen tüm metinlerde "dokun" yerine "tıkla" ifadesi kullanılmalıdır.
  • Kaydırılabilir listelerde kaydırma çubukları olmalıdır.
  • Kullanıcıların kaydırabileceği alanlarda kaydırma çubukları veya uzun mesafeleri hızlıca geçmenin başka bir yolu olmalıdır.
  • Metin girişi için ekranda tıklanabilir bir klavye göstermeyin.
  • Tüm metin girişleri, metin alanı sınırları içinde olmalıdır.
  • Görünür öğelerdeki tıklamalar:
    • Öğenin görünür sınırları içinde herhangi bir yeri tıklamayı kabul edin.
    • Görünür öğenin dışındaki alanda tıklamayı kabul etmeyin.
  • İletişim kutularında görünür bir kapat düğmesi olmalıdır. İletişim kutusu sınırlarının dışındaki tıklamalar algılanmaz.

Çoğu izin iletişim kutusunu devre dışı bırakma

Mikrofon ve bildirim izinleri hariç olmak üzere, PC Üzerinde Google Play Games'de izin iletişim kutuları gösterilmez. Bu nedenle, bunları göstermeye çalışmamalı veya çalışma zamanında izin istememelisiniz. Daha önce izin iletişim kutuları gösterdiyseniz oyununuzu güncelleyerek bu iletişim kutularının PC'lerde gösterilmesini engellemeniz gerekir.

Desteklenmeyen Android özellikleri ve izinleri

Yayın süreci için gereklidir

Cep telefonları ve tabletlerde bulunan bazı yaygın donanım özellikleri PC'de kullanılamaz. Kamera veya oyuncunun konumu gibi donanım özellikleri buna dahildir. Eksik özellikler gerektiren oyunlar, oyuncuların bilgisayarlarına indirilemez ve yüklenemez. Bilgisayarda eksik olan özelliklerle ilgili istekler otomatik olarak başarısız olur.

Kullanılabilir özelliklerin tam listesini görüntülemek için şunu yazın:

adb shell pm list features

Oyununuzun PC'lerle uyumlu olması için aşağıdaki değişikliklerin yapılması gerekir:

  • <uses-feature> beyanına android:required="false" ekleyerek uygulama manifestinizdeki özellikleri isteğe bağlı olarak işaretleyin. Bu yalnızca uygulama manifestinizde zaten beyan edilmiş özellikler için geçerlidir.

  • Çalışma zamanında eksik özellikleri kullanmaya çalışmayın. Hem mobil hem de PC kanallarınızda aynı APK'yı kullanıyorsanız PC ortamını çalışma zamanında algılayın ve ilgili kod yollarından kaçının.

  • Çalışma zamanında desteklenmeyen Android izinleri istemeyin. Hem mobil hem de PC kanallarınızda aynı APK'yı kullanıyorsanız çalışma zamanında PC ortamını algılayın ve ilgili kod yollarından kaçının. Manifest dosyanızı güncellemeniz gerekmez.

Uygulama manifest uyumluluğu hakkında daha fazla bilgi için Chromebook uygulama manifest uyumluluğu kılavuzuna bakın.

İşlevsel test şartları

İlk test derlemesini Google Play Console'a göndermeden önce bu donanım özelliklerini kaldırın:

  • android.hardware.wifi
  • android.hardware.bluetooth
  • android.hardware.camera
  • android.hardware.location

Bu özelliklerden bazıları, uyumluluk nedeniyle pm list features çalıştırılırken desteklenen özellikler olarak listelenebilir ancak tam olarak uygulanmamıştır. android.hardware.wifi özelliğini kaldırma hakkında daha fazla bilgi için Bağlantı durumunu ve bağlantı ölçümünü izleme başlıklı makaleyi inceleyin. Desteklenmeyen özelliklerin tam listesi için Chromebook'lar için uygulama manifesti uyumluluğu kılavuzuna bakın.

Kalite testi şartları

Sık kullanılan bu donanım özellikleri PC'lerle uyumlu değildir. Bu nedenle, Google Play Console'a son gönderimden önce bunları kaldırmanız gerekir:

  • android.hardware.audio.pro
  • android.hardware.bluetooth
  • android.hardware.camera
  • android.hardware.consumerir
  • android.hardware.location
  • android.hardware.nfc
  • android.hardware.sensor.light
  • android.hardware.sensor.accelerometer
  • android.hardware.sensor.barometer
  • android.hardware.sensor.compass
  • android.hardware.sensor.gyroscope
  • android.hardware.sensor.proximity
  • android.hardware.telephony
  • android.hardware.touchscreen
  • android.hardware.usb.accessory
  • android.hardware.usb.host
  • android.hardware.wifi
  • android.software.midi

Desteklenmeyen izinler

Aşağıdaki yaygın olarak kullanılan izinler PC'lerde desteklenmez. Bu nedenle, oyununuzun PC Üzerinde Google Play Games için bu izinleri devre dışı bırakması gerekir:

  • android.permission.ACCESS_COARSE_LOCATION
  • android.permission.ACCESS_FINE_LOCATION
  • android.permission.ACCESS_WIFI_STATE
  • android.permission.BLUETOOTH
  • android.permission.CAMERA
  • android.permission.FOREGROUND_SERVICE
  • android.permission.GET_ACCOUNTS
  • android.permission.INSTALL_PACKAGES
  • android.permission.READ_CONTACTS
  • android.permission.READ_EXTERNAL_STORAGE
  • android.permission.READ_PHONE_STATE
  • android.permission.RECEIVE_BOOT_COMPLETED
  • android.permission.REQUEST_INSTALL_PACKAGES
  • android.permission.SYSTEM_ALERT_WINDOW
  • android.permission.USE_CREDENTIALS
  • android.permission.WRITE_EXTERNAL_STORAGE
  • android.permission.WRITE_SETTINGS
  • com.google.android.gms.permission.ACTIVITY_RECOGNITION

Harici web siteleri ve WebView'lar

Tarayıcı amaçları, PC Üzerinde Google Play Games ortamındaki tarayıcı yerine PC'nin yerel web tarayıcısında yüklenir. Bu, çoğu durumda oyuncular için ideal bir deneyimdir.

Taşıma işlemini kolaylaştırmak için PC Üzerinde Google Play Games, WebView'ı destekler. Bu, PC Üzerinde Google Play Games ortamında açıldığından normal masaüstü tarayıcısı bulunmaz. Daha önce Hizmet Şartlarınızı, Gizlilik Politikanızı veya benzer içerikleri paylaşmak için WebView kullanıyorsanız bunun yerine bir tarayıcı amaçlı işlemi çağırmanız gerekir.

Desteklenmeyen Google Play Hizmetleri API'lerini devre dışı bırakma

Yayın süreci için gereklidir

PC Üzerinde Google Play Games, Google Play Hizmetleri API'lerinin yalnızca bir alt kümesini içeren kendi Google Play Hizmetleri varyantını kullanır. Uygulamanızın, PC'de atlanan veya desteklenmeyen modüllere çok fazla bağlı olmadığını onaylamanız gerekir. Bazı modüllerin kullanılabileceğini ancak işlevlerinin her zaman desteklenmediğini unutmayın. Örneğin, PC Üzerinde Google Play Games kapatıldığında Firebase Cloud Messaging çalışmaz.

Desteklenen Modüller

Bu modüller şu anda PC Üzerinde Google Play Games'de kullanılabilir ve desteklenir. Ek özellik desteği planlanmaktadır:

Sınırlı Destek

Aşağıdaki modüller kısmen işlevseldir. Bu oyunları PC Üzerinde Google Play Games'de desteklemek için elimizden geleni yapacağız ancak işlevlerini garanti edemeyiz.

Desteklenmiyor

Bu modüller, PC Üzerinde Google Play Games'de desteklenmez ancak başarısız olduklarında PC Üzerinde Google Play Games'de sorunlara neden olmaz:

Bozuk

Yayın süreci için gereklidir

Bu modüller, PC Üzerinde Google Play Games'de beklenmedik davranışlara neden olabileceğinden PC'lerde kullanılmamalıdır.

Kapsamlı depolamayı etkinleştirme

Yayın süreci için gereklidir

Bu bölüm, oyununuz harici depolama alanına okuma veya yazma işlemi yapıyorsa geçerlidir. Depolama alanına okuma ve yazma için alternatif bir yöntem olarak kapsamlı depolama alanı zorunluluğu getirilmiştir. Bu işlem, oyuncudan aşağıdaki hassas izinleri isteme ihtiyacını ortadan kaldırır:

  • android.permission.READ_EXTERNAL_STORAGE
  • android.permission.WRITE_EXTERNAL_STORAGE

Kapsamlı depolama alanı hakkında daha fazla bilgi için:

Analizler

Eski Google Analytics ürünleri, PC Üzerinde Google Play Games'de çalışmaz. Bu durum oyunlarınız için geçerliyse oyununuzu Google Analytics 4'e taşımanız gerekir.

Bu durum, yalnızca şu anda Google Analytics 360 kullanıyorsanız oyununuzu etkiler. Oyununuzdaki analiz etkinliklerini izlemek için Firebase SDK'sını kullanıyorsanız ve oyununuzu Google Analytics Konsolu'nda mülk olarak görüyorsanız başka bir işlem yapmanız gerekmez.