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

PC Üzerinde Google Play Games, oyununuzda PC uyumluluğu ve optimizasyon değişiklikleri yapmanızı gerektirir. Bu değişiklikler, oyununuzun PC'de çalışabilmesini ve kullanıcı deneyiminin platform için optimize edilmesini sağlar.

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

PC uyumluluğu ve optimizasyonuyla ilgili değişiklikler yaparken (x86-64 desteği dışında), oyununuzu PC Üzerinde Google Play Games'i algılayacak ve ardından platforma özgü özellikleri devre dışı bırakacak veya etkinleştirecek şekilde ayarlayabilirsiniz. Bu, Android mobil ve PC sürümleriniz için aynı APK veya App Bundle'ı kullanmanıza olanak tanır.

Bu sayfadaki şartların ve önerilerin özetini aşağıda bulabilirsiniz:

x86-64 ABI mimarisini dahil et

Sürüm süreci için gereklidir

Oyununuzda yer alan tüm kitaplıklar, platformda en iyi performansı ve kararlılığı sağlamak için x86-64 ABI ile uyumlu sürümler gerektirir.

Oyununuzun 64 bit x86 çalıştırılabilir dosyası göndermesi teknik olarak uygun değilse istisna için inceleme ekibine ulaşmanız gerekir. Oyununuz bir istisna dışında tam sertifikaya ulaşamaz, ancak "oynanabilir" bir oyun olarak kataloğa eklenebilir.

Kitaplık derlemesi

En yüksek x86-64 işlemci uyumluluğunu sağlamak için kitaplıklarınızı derlerken atom talimat grubunu kullanmayın. Örneğin, gcc kullanırken -march=atom kullanmaktan kaçının ve bunun yerine -march=x86-64 kullanın.

Unity'de hedef mimari

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

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

  1. Oynatıcı Ayarları > Diğer Ayarlar > Yapılandırma > Komut Dosyası Arka Ucu'na gidin ve IL2CPP Komut Dosyası Arka Ucunu etkinleştirmek için açılır menüden IL2CPP'yi seçin.

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

    • Unity 2018 ve önceki sürümler: Oynatıcı Ayarları > Diğer Ayarlar > Hedef Mimari'ye gidin ve x86 onay kutusunu işaretleyin. Unity 2018 yalnızca x86 hedeflerini desteklediğinden x86-64 derleyemezsiniz. Bu derleme için inceleme ekibinin bir istisna yapması gerekecek. 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ümleri: Player Settings (Oynatıcı Ayarları) > Other Settings (Diğer Ayarlar) > Target Architectures'a (Oyuncu Ayarları > Diğer Ayarlar) gidin ve x86-64 (ChromeOS) seçeneğini etkinleştirin.

PC Üzerinde Google Play Games'i algılama

PC Üzerinde Google Play Games platformunu çalışma zamanında tespit ederek oyununuzdaki platforma özgü özellikleri etkinleştirebilir veya devre dışı bırakabilirsiniz.

Oyununuzun PC Üzerinde Google Play Games platformunda çalışıp çalışmadığını belirlemek için sistem özelliğini com.google.android.play.feature.HPE_EXPERIENCE 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ı yönetme

onPause (c++) etkinliğinin PC Üzerinde Google Play Games ortamında işlenmesi önemlidir. Oyuncu emülatör yer paylaşımını etkinleştirdiğinde oyununuz görünür. Bu nedenle, onPause etkinliğinin dinlenmemesi kullanıcı deneyimini olumsuz yönde etkileyebilir.

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

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

Gerekli:

  • İki veya daha fazla parmak gerektiren kullanıcı arayüzü işlemlerini (çoklu dokunma hareketleri) değiştirin. Örneğin, yakınlaştırmak için sıkıştırma ve diğer çoklu dokunma hareketlerini ilgili fare ve klavye girişleriyle değiştirmeniz gerekir. Cihaz giriş değişiklikleriyle ilgili ayrıntılar için Giriş desteği bölümüne bakın.

Önerilen:

  • Kullanıcıların görebileceği tüm metinlerde "tap" (dokun) yerine "click" (tıklama) yazmalı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ızla kat edebilecek başka bir yol 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 öğelere yapılan tıklamalar:
    • Öğenin görünür sınırları içinde herhangi bir yerde tıklamayı kabul edin.
    • Görünür öğenin dışındaki alanda tıklama kabul edilmez.
  • İletişim kutularında görünür bir kapat düğmesi olmalıdır. İletişim kutusu sınırlarının dışında tıklama algılamayın.

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

Mikrofon izni haricinde, PC Üzerinde Google Play Games'de izin iletişim kutuları gösterilmez. Bu nedenle, çalışma zamanında bunları göstermeye veya izin istememelisiniz. Daha önce izin iletişim kutuları görüntülediyseniz oyununuzu artık PC'lerde göstermeyecek şekilde güncellemeniz gerekir.

Desteklenmeyen Android özellikleri ve izinleri

Sürüm süreci için gereklidir

Cep telefonlarında ve tabletlerde yaygın olarak kullanılan bazı donanım özellikleri PC'de mevcut değildir. Kamera veya oynatıcının konumu gibi donanım özellikleri de buna dahildir. Eksik özellikler gerektiren oyunlar, oyuncuların PC'sine indirilemez ve yüklenemez. PC'deki eksik özellik istekleri otomatik olarak başarısız olur.

Aşağıdakileri yazarak kullanılabilir özelliklerin tam listesini görüntüleyebilirsiniz:

adb shell pm list features

Oyununuzu PC'lerle uyumlu hale getirmek için aşağıdaki değişikliklerin yapılması gerekir:

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

  • Çalışma zamanında eksik özellikleri kullanmaya çalışmayın. Mobil ve PC kanallarınızda aynı APK'yı kullanıyorsanız çalışma zamanında bilgisayar ortamını tespit edin ve alakalı 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 bilgisayar ortamını çalışma zamanında tespit edin ve alakalı kod yollarından kaçının. Manifest dosyanızı güncellemeniz gerekmez.

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

İşlevsel test gereksinimleri

Google Play Console'a ilk test derlemesini göndermeden önce şu 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 desteklenmiş olarak listelenebilir ancak tam olarak uygulanmaz. android.hardware.wifi özelliğinin nasıl kaldırılacağı hakkında daha fazla bilgi için Bağlantı durumunu ve bağlantı sayacını izleme bölümüne bakın. Desteklenmeyen özelliklerin tam listesi için Chromebook'lar için uygulama manifesti uyumluluk kılavuzuna bakın.

Kalite testi gereksinimleri

Yaygın olarak 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 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 Web Görünümleri

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

PC Üzerinde Google Play Games, taşıma işlemini kolaylaştırmak için Web Görünümü'nü destekler. Bu özellik PC Üzerinde Google Play Games ortamında açıldığından tipik masaüstü tarayıcısına sahip olmayacak. Daha önce Hizmet Şartları, Gizlilik Politikanız veya diğer benzer içeriklerinizi paylaşmak için WebView kullandıysanız bunun yerine bir tarayıcı amacı çağırmanız gerekir.

Desteklenmeyen Google Play Hizmeti API'lerini devre dışı bırak

Sürüm 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ı sunar. Uygulamanızın, çıkarılan veya PC'de desteklenmeyen modüllere güçlü bir şekilde bağlı olmadığını onaylamanız gerekir. Bazı modüllerin mevcut olabileceğini ancak bunların işlevlerinin her zaman desteklenmediğini göz önünde bulundurun. Örneğin, PC Üzerinde Google Play Games kapalıyken Firebase Cloud Messaging çalışmaz.

Desteklenen Modüller

Bu modüller şu anda PC Üzerinde Google Play Games tarafından kullanılabilir ve desteklenmektedir. Ek özellik desteği planları da planlanmaktadır:

Sınırlı Destek

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

Desteklenmiyor

Bu modüller PC Üzerinde Google Play Games'de desteklenmez ancak başarısız olduğunda PC Üzerinde Google Play Games'de soruna neden olmaz:

Bozuk

Sürüm süreci için gereklidir

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

Kapsamlı depolamayı etkinleştir

Sürüm süreci için gereklidir

Bu bölüm, oyununuz harici depolama alanında veri okuyor veya yazıyorsa geçerlidir. Depolama alanına okuma ve yazmanın alternatif bir yolu olarak kapsam depolama alanı kullanımı gerekir. Bunu yapmak, oynatıcıdan şu hassas izinleri isteme ihtiyacını ortadan kaldırır:

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

Kapsamlı depolama hakkında daha fazla bilgi için şu makaleyi inceleyin:

Analizler

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

Bu değişiklik, yalnızca şu anda Google Analytics 360 kullanıyorsanız oyununuzu etkileyecektir. Oyununuzdaki analiz etkinliklerini izlemek için Firebase SDK'sını kullanıyor ve oyununuzu Google Analytics Console'da bir mülk olarak görebiliyorsanız başka bir işlem yapmanız gerekmez.