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'yi dahil edin (zorunlu)
- Google Play Games'i çalışma zamanında algılama (önerilen)
- onPause etkinliğini işleme (önerilir)
- Kullanıcı arayüzü öğelerini güncelleme (zorunlu)
- Android uygulama izinleri iletişim kutularını devre dışı bırakma (zorunlu)
- Desteklenmeyen Android özelliklerini ve izinlerini devre dışı bırakma (zorunlu)
- WebView'leri tarayıcı intent'leriyle değiştirme (önerilen)
- Desteklenmeyen Google Play Hizmeti API'lerini devre dışı bırakma (zorunlu)
- Kapsamlı depolama alanını etkinleştirin (zorunlu)
- Google Analytics 4'e geçiş yapın (önerilir)
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:
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.
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ınaandroid: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:
- Google ile oturum açma (hesap aktarımı, Smart Lock, SMS doğrulaması, Şifre karmaşıklığı hesaplaması dahil değildir)
- Cronet
- Google Play Games Hizmetleri
- Görevler
- Vision
- Google Pay
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.
- Google Cloud Messaging (Desteği sonlandırılmıştır, Firebase Cloud Messaging'i kullanın)
- Firebase Authentication (Telefon numarası kimlik doğrulaması çalışmıyor)
- Firebase Cloud Messaging
- Firebase Ortak Kitaplıkları
- Firebase ML
- Firebase Remote Config
- Firebase Analytics
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:
- Google Analytics (Kullanımdan kaldırıldı, Firebase Analytics'i kullanın)
- Google Cast
- Awareness API
- Drive (Desteği sonlandırıldı, yakında kaldırılacak)
- FIDO
- Firebase Realtime Database
- Firestore
- Firebase A/B Testi
- Google Fit
- Address API
- Instant Apps API
- Location API
- Google Haritalar SDK'sı
- Yakındakiler
- Panorama
- Yerler
- Google+
- SafetyNet (Desteği sonlandırıldı. Yakında kullanıma sunulacak Play Integrity API'ye kaydolmak için lütfen ilgi formu'nu doldurun.)
- Google Etiket Yöneticisi
- Wear OS
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.