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 için grafik, cihaz girişi ve cihazlar arası oyun oynama koşulları 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 dışında) yaparken oyununuzu PC Üzerinde Google Play Games'i algılayacak şekilde ayarlayabilir ve ardından platforma özgü ö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 sayfada yer alan şartlar ve önerilerin özetini aşağıda bulabilirsiniz:

x86-64 ABI mimarisini dahil edin

Sürüm oluşturma süreci tarafından zorunlu kılınmıştır.

Oyununuza dahil edilen tüm kitaplıkların, platformda en iyi performansı ve kararlılığı sağlamak için x86-64 ABI uyumlu sürümleri gerekir.

Oyununuzun 64 bit x86 yürütülebilir dosyası yayınlaması teknik olarak mümkün değilse istisna için inceleme ekibiyle iletişime geçmeniz gerekir. Oyununuz, istisnalar dışında tam sertifikaya ulaşamaz ancak "oynanabilir" oyun olarak kataloğa eklenebilir.

Kitaplık derlemesi

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

Unity'de hedef mimari

Unity 2019 ve 2020'in 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. IL2CPP komut dosyası arka ucunu etkinleştirmek için Oyuncu Ayarları > Diğer Ayarlar > Yapılandırma > Komut Dosyası Arka Ucu'na gidin ve 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 ekibinden istisna uygulanması 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: Oynatıcı Ayarları > Diğer Ayarlar > Hedef Mimariler'e gidin ve x86-64 (ChromeOS)'ü etkinleştirin.

PC Üzerinde Google Play Games'i algılama

PC Üzerinde Google Play Games platformunu çalışma zamanında algılayarak oyununuzda 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 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ü etkinliklerini işleme

PC Üzerinde Google Play Games ortamında onPause (c++) etkinliğini ele almanız önemlidir. Bir oyuncu emülatör yer paylaşımını etkinleştirdiğinde oyununuz görünür hale gelir. Bu nedenle, onPause etkinliğini dinlememek kötü bir kullanıcı deneyimine neden olabilir.

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

Bazı kullanıcı arayüzü öğeleri ve hareketleri PC'ye 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 iki parmağınızı yaklaştırıp uzaklaştırma ve diğer çoklu dokunma hareketlerini ilgili fare ve klavye girişiyle değiştirmeniz gerekir. Cihaz girişi değişiklikleri hakkında ayrıntılı bilgi için Giriş desteği başlıklı makaleyi inceleyin.

Önerilen:

  • Kullanıcının görebildiği tüm metinlerde "dokunun" yerine "tıklayın" 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 kat etmenin 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ıklanması:
    • Öğenin görünür sınırları içinde herhangi bir yeri tıklamayı kabul eder.
    • Görünür öğenin dışındaki alandaki tıklamaları kabul etmez.
  • İletişim kutularında görünür bir kapat düğmesi olmalıdır. İletişim kutusunun sınırları dışındaki tıklamaları algılamaz.

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

PC'de Google Play Games, mikrofon ve bildirim izinleri hariç izin iletişim kutuları göstermez. Bu nedenle, bunları görüntülemeye veya çalışma zamanında izin istemeye çalışmamalısınız. Daha önce izin iletişim kutuları gösterdiyseniz oyununuzu, bu iletişim kutularının artık PC'lerde gösterilmemesi için güncellemeniz gerekir.

Desteklenmeyen Android özellikleri ve izinleri

Sürüm oluşturma süreci tarafından zorunlu kılınmıştır.

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

Aşağıdakileri yazarak mevcut ö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 uygulamanızın manifest dosyasında isteğe bağlı olarak işaretleyin. Bu yalnızca uygulama manifestinizde zaten beyan edilmiş özellikler için geçerlidir.

  • Eksik özellikleri çalışma zamanında 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 izinlerini 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. Manifestinizi 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 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ıldığında desteklenenler olarak listelenebilse de tam olarak uygulanmamıştır. android.hardware.wifi özelliğinin nasıl kaldırılacağı 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 nihai 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, oyununuz PC Üzerinde Google Play Games için bu izinleri devre dışı bırakmalıdır:

  • 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'ler

Tarayıcı intent'i, PC Üzerinde Google Play Games ortamındaki bir 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, taşıma işlemini kolaylaştırmak için WebView'i destekler. Bu sayfa, PC'de Google Play Games ortamında açılacağından, tipik masaüstü tarayıcısı bu sayfada bulunmaz. Daha önce Hizmet Şartlarınızı, Gizlilik Politikanızı veya benzer içerikleri paylaşmak için WebView kullanıyorsanız bunun yerine tarayıcı amacını çağırmanız gerekir.

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

Sürüm oluşturma süreci tarafından zorunlu kılınmıştır.

PC Üzerinde Google Play Games, yalnızca Google Play Hizmetleri API'lerinin bir alt kümesini içeren kendi Google Play Hizmetleri varyantını gönderir. Uygulamanızın, PC'de atlanan veya desteklenmeyen modüllere yoğun şekilde bağlı olmadığını onaylamanız gerekir. Bazı modüller kullanılabilir olsa da işlevleri her zaman desteklenmez. Örneğin, PC Üzerinde Google Play Games kapalıyken Firebase Cloud Messaging çalışmaz.

Desteklenen Modüller

Şu anda PC Üzerinde Google Play Games tarafından desteklenen ve kullanılabilen bu modüller için ek özellik desteği planlanmaktadır:

Sınırlı Destek

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

Desteklenmiyor

Aşağıdaki modüller PC Üzerinde Google Play Games'de desteklenmez ancak başarısız olduklarında PC Üzerinde Google Play Games'de soruna neden olmaz:

Bozuk

Sürüm oluşturma 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ı depolama alanını etkinleştirme

Sürüm oluşturma süreci için gereklidir.

Bu bölüm, oyununuz harici depolama alanından veri okuyor veya bu alana veri yazıyorsa geçerlidir. Depolama alanında okuma ve yazma işleminin alternatif bir yolu olarak depolama alanı kapsamı yaptırımı gereklidir. Bu sayede, oyuncudan aşağıdaki hassas izinleri istemeniz gerekmez:

  • 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 mülkü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örebiliyorsanız başka bir işlem yapmanız gerekmez.