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

PC Üzerinde Google Play Games, oyununuzda PC uyumluluğu ve optimizasyonuyla ilgili değişiklikler yapmanızı gerektirir. 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ı oyun oynama gereksinimleri vardır. Daha fazla bilgi için Başlangıç rehberine bakın.

PC uyumluluğu ve optimizasyonu 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 dahil edin

Mümkünse oyununuza dahil edilen tüm kitaplıkların x86-64 için oluşturulduğundan emin olun. Bu sayede, çeviri katmanlarını atlayarak en iyi performansı ve kararlılığı elde edebilirsiniz.

Kitaplık derlemesi

En iyi 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 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.

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. 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 Scripting Backend'i 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'a (Oynatıcı Ayarları > Diğer Ayarlar > Hedef Mimari) 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. Lütfen x86 istisnası isteğinde bulunmak için 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 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

PC Üzerinde Google Play Games ortamında onPause (c++) etkinliğini işlemeniz ö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 (çoklu dokunma hareketleri) yapılması gereken kullanıcı arayüzü işlemlerini değiştirin. Örneğin, parmakla yakınlaştırma ve diğer çoklu dokunma hareketlerini fare ve klavye girişleriyle değiştirmeniz gerekir. Cihaz giriş değişiklikleri hakkında ayrıntılı bilgi 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 büyük 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 öğelerin tıklanma sayısı:
    • Öğ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. PC'de 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 önceden 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 çalışma zamanında PC ortamını 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 sürümünü Google Play Console'a göndermeden önce aşağıdaki 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 manifest 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çlı işlemler, 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.

PC Üzerinde Google Play Games, bağlama işlemini kolaylaştırmak için 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ı amacı çağırmanız gerekir.

Desteklenmeyen Google Play Hizmeti 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 olmazlar:

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 depolamaya 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 şu kaynaklara bakın:

Analytics

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 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.