PC Üzerinde Google Play Games Geliştirici Emülatörü, PC Üzerinde Google Play Games için geliştiricilere yönelik bir emülatördür. Oyuncu deneyiminin aksine, kendi paketlerinizi yükleyip hatalarını ayıklayabilirsiniz. Ayrıca, oyununuzun çeşitli PC yapılandırmalarında beklendiği gibi çalıştığından emin olmanıza yardımcı olmak için en-boy oranı, fare emülasyonu ve grafik arka ucu gibi çeşitli oyuncu yapılandırmalarını simüle edebilirsiniz.
Emülatörü Başlatma
Yüklendikten sonra, "Google Play Games Developer Emulator" adlı bir Başlat menüsü öğesi ve emülatörü başlatmak için bir masaüstü kısayolunuz olur. Pencereyi kapattığınızda emülatör, sistem tepsisinde kalır.
Oturum aç
Emülatörü ilk kez çalıştırdığınızda Google Hesabınızda oturum açmanız istenir. Geliştirme için kullanmayı planladığınız giriş kimlik bilgilerini kullanın.
Sistem tepsisi simgesini sağ tıklayıp Geliştirici Seçenekleri'ni belirledikten sonra Oturumu zorla kapat'ı tıklayarak oturumu kapatabilirsiniz. Bu durumda, emülatör hemen yeniden başlatılır ve sizden tekrar oturum açmanız istenir.
Navigasyon
Başlattıktan sonra, tipik bir Android ana ekranı görürsünüz. Sol fare tıklamaları, fare emülasyonu modunda olduğu gibi doğrudan parmakla dokunmaya dönüştürülür. Geliştirme için yan yüklenen oyunlar, masaüstünde tıklayıp yukarı sürükleyerek (telefonda veya tablette yukarı kaydırma hareketini taklit ederek) erişebileceğiniz uygulama listesinde görünür.
PC Üzerinde Google Play Games Geliştirici Emülatörü, fare çevirisine ek olarak gezinmeyi kolaylaştırmak için klavye kısayolları da sunar:
ctrl + h : Ana Sayfa düğmesine basınctrl + b : Geri düğmesine basınF11 veyaalt + enter : Tam ekran ve pencereli mod arasında geçiş yapmaÜst Karakter + Sekme : Giriş SDK'sının mevcut tuş eşlemeleri de dahil olmak üzere Google Play Games on PC yer paylaşımını açar.
Oyun yükleme
PC Üzerinde Google Play Games Geliştirici Emülatörü, paketleri yüklemek için Android Debug Bridge (adb)'i kullanır.
adb uyumluluğu
adb
'nın mevcut sürümleri, PC Üzerinde Google Play Games Geliştirici Emülatörü ile uyumludur.
Ayrıca, emülatörü yüklediğinizde C:\Program
Files\Google\Play Games Developer Emulator\current\emulator
konumuna uyumlu bir sürüm yüklenir.
Bu talimatları uygulamak için adb'nin $PATH
cihazınızda kullanılabilir olması gerekir. adb
komutuyla adb
'nın doğru şekilde yapılandırıldığını doğrulayabilirsiniz.adb devices
adb devices
List of devices attached
localhost:6520 device
Oyunu yükleme
Google Play Games for PC Emulator
uygulamasını başlatKomut istemine
adb devices
yazın. Şunları görmeniz gerekir:adb devices List of devices attached localhost:6520 device
Sorun Giderme:
- Hata alırsanız Adb uyumluluğu bölümündeki talimatları uyguladığınızı doğrulayın.
- Bir cihaz görmüyorsanız
6520
bağlantı noktası üzerinden yeniden bağlanmayı deneyin:
adb connect localhost:6520
Oyununuzu yüklemek için
adb install path\to\your\game.apk
yazın. Android App Bundle (aab) oluşturduysanız bundletool ile ilgili talimatları inceleyin ve bunun yerinebundletool install-apks
kullanın.Oyununuzu çalıştırmak için aşağıdakilerden birini yapın:
- Oyununuzu çalıştırmak için
adb shell monkey -p your.package.name 1
yazın.your.package.name
yerine oyununuzun paket adını girin. - PC Üzerinde Google Play Games Geliştirici Emülatörü'nde oyununuzu çalıştırmak için simgeyi tıklayın. Android telefonda olduğu gibi, yüklü oyunların listesini görmek için ana ekranda "yukarı kaydırmanız" gerekir.
- Oyununuzu çalıştırmak için
Oyunda hata ayıklama
Diğer oyunlarda olduğu gibi hata ayıklamak için Android Debug Bridge'i (adb) kullanın.
Emülatör, localhost:6520
üzerinden bağlanmış bir cihaz olarak görünür.
adb logcat
işlevi beklendiği gibi çalışır. Android Studio da dahil olmak üzere logcat çıkışını güzelleştirmeye veya filtrelemeye yardımcı olan araçlar da beklendiği gibi çalışır.
Günlüklere adb
dışında %LOCALAPPDATA%\Google\Play Games Developer Emulator\Logs
dizininizden de erişilebilir. Burada en kullanışlı olanı, emülatör başladığı andan itibaren adb logcat
tarafından yansıtılacak her şeyi temsil eden AndroidSerial.log
'dır.
Geliştirici ayarları
PC Üzerinde Google Play Games Geliştirici Emülatörü, son kullanıcı deneyiminden ziyade geliştirici verimliliğine odaklanır. Bu sayede, PC Üzerinde Google Play Games deneyimi yerine standart Android başlatıcıyı kullanmak ve oyuncular için otomatik olarak etkinleştirilen ve devre dışı bırakılan özellikler üzerinde kontrol sahibi olmak da dahil olmak üzere Android sistemine engelsiz erişebilirsiniz.
Fare girişi test ediliyor
Geliştirme sırasında, PC Üzerinde Google Play Games Geliştirici Emülatörü, doğrudan fare girişi yerine varsayılan olarak dokunma emülasyonunu kullanır. Sistem tepsisi simgesini sağ tıklayıp Geliştirici Seçenekleri'ni ve ardından PC modu (KiwiMouse)'u seçerek doğrudan fare girişini etkinleştirebilirsiniz.
PC Üzerinde Google Play Games'de iki fare modu vardır: fare tıklamalarını tek dokunmaya çeviren bir emülasyon modu ve oyunların fare işlemlerini yerel olarak işlemesine ve işaretçi yakalaması yapmasına olanak tanıyan bir geçiş "PC modu". PC Üzerinde Google Play Games'de fare girişiyle ilgili ayrıntılar için Fare girişini ayarlama başlıklı makaleyi inceleyin.
Aşağıdaki kodu manifestinize ekleyerek oynatıcı istemcisinde emülasyonu devre dışı bırakın:
<manifest ...>
<uses-feature
android:name="android.hardware.type.pc"
android:required="false" />
...
</manifest>
Bu özellik işaretinin geliştirme ortamında etkisi yoktur.
En boy oranlarını test etme
Geliştirici emülatörü, en boy oranını birincil ekrandan alan oynatıcı istemcisinin aksine 16:9 en boy oranıyla başlatılır. Sistem tepsisi simgesini sağ tıklayıp Geliştirici Seçenekleri'ni ve ardından En-Boy Oranı bölümündeki herhangi bir seçeneği belirleyerek oyunun farklı oyuncuların ekranlarında nasıl göründüğünü test edebilirsiniz.
En boy oranınızı yapılandırmak için tercih edilen yöntem, android:minAspectRatio
ve android:maxAspectRatio
özelliklerini kullanmaktır.
Örneğin, dikey bir oyunun en boy oranı 9/16
veya 0.5625
olur. Bu nedenle, oyununuzun kareden daha geniş olmasını önlemek için maksimum en boy oranını 1
olarak ayarlamak isteyebilirsiniz:
<activity android:maxAspectRatio="1">
...
</activity>
Benzer şekilde, yatay bir oyun 16/9
veya yaklaşık 1.778
olur. Bu nedenle, karenin daha da daralmasını önlemek için minimum en boy oranını 1
olarak ayarlayabilirsiniz:
<activity android:minAspectRatio="1">
...
</activity>
Neleri test edebilirsiniz?
Oyununuz yalnızca manifest dosyasındaki dikey modları destekliyorsa oyuncuların bilgisayarlarında nasıl göründüğünü görmek için açılır listeden 9:16 (Dikey) seçeneğini belirleyebilirsiniz. Aksi takdirde, oyununuzun manifest dosyanızda desteklediğiniz en geniş ve en dar yatay oranlarda çalıştığını doğrulayın. 16:9 (Varsayılan) (veya oyununuz yalnızca dikey modda çalışıyorsa 9:16 (Dikey)) en boy oranının tam sertifika için gerekli olduğunu unutmayın.
Oluşturma arka uçlarını test etme
PC Üzerinde Google Play Games, oyunlarınızı oluşturmak için Vulkan'ı kullanır. Bu, hem Android hem de PC ortamlarında yaygın olarak kullanılan bir teknolojidir. PC ve Android ortamlarını yalıtmak için korumalı alan katmanı kullanılır. Birçok oyun, oluşturma için hâlâ OpenGL ES'yi kullandığından ANGLE, OpenGL ES komutlarını ana bilgisayarla uyumlu Vulkan komutlarına dönüştürür.
Benzer şekilde, PC Üzerinde Google Play Games, ETC1 ve ETC2 gibi mobil uyumlu doku biçimlerini çalışma zamanında PC uyumlu biçimlere otomatik olarak dönüştürerek oyun uyumluluğunu en üst düzeye çıkarır ve geliştiricilerin harcadığı çabayı en aza indirir. En iyi sonuçları elde etmek için DXTC veya BPTC gibi PC GPU'ları tarafından desteklenen biçimleri kullanarak bu dönüşümden kaçının.
Neleri test edebilirsiniz?
Oyununuzda beklenmedik oluşturma artefaktları varsa kaynak grafiklerinizi inceleyin ve PC dostu bir biçime geçmeyi düşünün. Normal veya küp harita sorunlarını tespit etmek genellikle albedo sorunlarını tespit etmekten daha zor olduğundan, daha gelişmiş efektler için kullanılan dokulara dikkat edin.
ANGLE'ın OpenGL ES komutlarınızı Vulkan'a dönüştürmesi biraz ek yük oluşturur. Beklenen performans hedeflerinizi karşıladığınızı doğrulayın ve Vulkan tabanlı bir oluşturucuya geçmeyi düşünün.
PC oyununuzun profilini çıkarma
Emülatör, tüketici istemcisiyle aynı teknolojiyi kullandığından performans profili oluşturma için uygun bir ortamdır.
Perfetto, Android'de performansı analiz etmek için kullanılan bir araçtır. Aşağıdaki adımları uygulayarak Perfetto izi toplayıp görüntüleyebilirsiniz:
PowerShell isteminde
adb
kullanarak izleme başlatın.adb shell perfetto --time 10s gfx wm sched --out /data/misc/perfetto-traces/example.trace
--time
işareti, toplanacak izlemenin süresini belirtir. Bu örnekte izleme 10 saniyedir.--time
işaretinden sonraki bağımsız değişkenler, hangi etkinliklerin izleneceğini gösterir. Bu örnektegfx
grafikleri,wm
pencere yönetimini vesched
işlem planlama bilgilerini gösterir. Bunlar, oyunlarda profilleme için kullanılan yaygın işaretlerdir ve tam referans mevcuttur.--out
işareti, çıkış dosyasını belirtir. Bu dosya, bir sonraki adımda emülatörden ana makineye çekilir.
Barındırıcınızdan izleme çekme
adb pull /data/misc/perfetto-traces/example.trace $HOME/Downloads/example.trace
İzlemeyi Perfetto kullanıcı arayüzünde açma
- ui.perfetto.dev adresini açın.
- Sol üst köşedeki Gezinme bölümünde İzleme dosyasını aç'ı seçin.
- Önceki adımda indirdiğiniz
example.trace
dosyasınıDownloads/
dizininize açın.
Perfetto kullanıcı arayüzünde izlemeyi inceleyin. Bazı ipuçları:
- Her işlemin kendi satırı vardır. Bu satır genişletilerek ilgili işlemdeki tüm iş parçacıkları gösterilebilir. Bir oyunun profilini oluşturuyorsanız işlemi büyük olasılıkla ilk satırdadır.
- Control tuşunu basılı tutarak ve kaydırma tekerleğini kullanarak yakınlaştırabilir ve uzaklaştırabilirsiniz.
sched
etkinliği kullanılırken her iş parçacığı için bir satır bulunur. Bu satırda, iş parçacığının durumu çalışıyor, çalıştırılabilir, uyuyor veya engellenmiş olduğunda gösterilir.gfx
gibi bir etkinliği etkinleştirdiğinizde çeşitli iş parçacıkları tarafından yapılan çeşitli grafik çağrılarını görebilirsiniz. Ne kadar sürdüğünü görmek için tek tek "dilimleri" seçebilir veya bir satırı sürükleyerek alt kısımda bir "dilimler" bölümünün açılmasını sağlayabilir ve seçtiğiniz zaman aralığında tüm dilimlerin ne kadar sürdüğünü görebilirsiniz.
Grafik Profil Oluşturma
RenderDoc ile bazı grafik profil oluşturma işlemleri yapılabilir.
- Ortam değişkenini
ANDROID_EMU_RENDERDOC
boş olmayan bir dizeye (ör."1"
) ayarlayın. Ortam değişkenini
TMP
,%USERPROFILE%\AppData\LocalLow
olarak ayarlayın. Bu, Renderdoc'a günlük dosyalarını emülatör sanal alanında erişilebilir bir yere yerleştirmesini söyler.Vulkan arka ucunu kullanıyorsanız. Grafik Ayarları > Vulkan Instance Implicit Layers'ı (Vulkan Örneği Örtülü Katmanları) seçin ve VKLAYER_RENDERDOC_Capture'ın işaretli olduğundan emin olun.
PC Üzerinde Google Play Games Geliştirici Emülatörü'nü başlatın. Destek etkin olduğu sürece üstte bir RenderDoc yerleşimi çizilir.
RenderDoc'u, PC Üzerinde Google Play Games Geliştirici Emülatörü başlatılmadan önce veya sonra istediğiniz zaman başlatabilirsiniz.
Dosya > Çalışan örneğe ekle'yi tıklayın ve crosvm'yi seçin.
Ortam değişkenlerini belirtme
Renderdoc'un çalışması için Windows'da ortam değişkenleri eklemeniz veya değiştirmeniz gerekir. Ortam değişkenlerini kullanıcı arayüzünü, PowerShell'i veya cmd.exe'yi kullanarak değiştirebilirsiniz.
Kullanıcı arayüzünü kullanma
- Çalıştır iletişim kutusunu açmak için
Win+R tuşlarına basın. - Sistem Özellikleri penceresini açmak için
sysdm.cpl
yazın. - Henüz etkin değilse Gelişmiş sekmesini seçin.
- Environment Variables (Ortam Değişkenleri) düğmesini tıklayın.
Buradan, Yeni düğmesini tıklayarak yeni bir ortam değişkeni oluşturabilir veya bir değişken seçip Düzenle düğmesini tıklayarak düzenleyebilirsiniz.
PowerShell'i kullanma
PowerShell penceresinde şunu yazın:
$Env:VARIABLE_NAME=VALUE
VARIABLE_NAME
ve VALUE
değerlerini ayarlamak istediğiniz değerlerle değiştirin. Örneğin, ANDROID_EMU_RENDERDOC
değerini "1"
olarak ayarlamak için şunu yazın:
$Env:ANDROID_EMU_RENDERDOC="1"
cmd.exe'yi kullanma
cmd.exe penceresinde şunu yazın:
set VARIABLE_NAME=VALUE
VARIABLE_NAME
ve VALUE
değerlerini ayarlamak istediğiniz değerlerle değiştirin. Örneğin, ANDROID_EMU_RENDERDOC
değerini "1"
olarak ayarlamak için şunu yazın:
set ANDROID_EMU_RENDERDOC="1"
Android 11 (API düzeyi 30) veya sonraki sürümler için ipuçları
PC Üzerinde Google Play Games, en yeni Android sürümleriyle güncellenir. Android'in en yeni sürümüyle çalışmaya yönelik bazı ipuçlarını aşağıda bulabilirsiniz.
Araçları güncel tutma
Android Studio, geliştirici emülatörüyle uyumlu bir adb sürümü yükler. Ancak bazı oyun motorları, adb'nin eski bir sürümünü içerir. Bu durumda, geliştirici emülatörünü yükledikten sonra adb
'nın uyumlu bir sürümünü C:\Program Files\Google\Play Games Developer
Emulator\current\emulator
adresinde bulabilirsiniz.
adb
'nın bir sürümünü başlattığınızda diğer sürüm sonlandırılır. Bu nedenle, oyun motorunuz kendi adb
örneğini otomatik olarak başlatırsa her dağıtım yaptığınızda geliştirici emülatörüyle birlikte gelen adb
sürümünü yeniden başlatıp yeniden bağlamanız gerekebilir.
Android App Bundle kullanıyorsanız GitHub deposundan Bundletool'un en yeni sürümünü yüklemeniz gerekir.
Kısıtlı Depolama
Android 11 (API düzeyi 30) veya sonraki sürümlerde, harici depolama alanındaki uygulama ve kullanıcı verileri için daha iyi koruma sağlayan kapsamlı depolama özelliği bulunur. Oyununuzu kapsamlı depolama gereksinimleriyle uyumlu hale getirmenin yanı sıra APK genişletme dosyalarını (obb) veya öğe verilerini PC Üzerinde Google Play Games Geliştirici Emülatörü'ne yüklemek için ek adımlar uygulamanız gerekir. Oyununuzdan bu dosyalara erişirken sorun yaşıyorsanız aşağıdaki adımları uygulayın:
- Uygulamanızın okuyabileceği bir dizin oluşturun.
- Genişletme dosyalarınızı emülatöre gönderin.
adb shell mkdir /sdcard/Android/obb/com.example.game
adb push main.com.example.game.obb /sdcard/Android/obb/com.example.game
Paket görünürlüğü
Android 11 (API düzeyi 30) veya sonraki sürümleri hedefleyen uygulamalar, yeni paket görünürlüğü kuralları nedeniyle bir cihaza yüklenen diğer uygulamalar hakkında bilgi sorgulayamıyor. Bu durumda, oyununuz Play Store üzerinden yüklenmek yerine adb
aracılığıyla başka kaynaktan yüklendiğinde Play Hizmetleri'ne erişimi engellenir. Uygulama dışından yüklenen bir oyunla uygulama içi ürününüzü test etmek için AndroidManifest.xml
dosyanızdaki "com.android.vending
" paketine aşağıdaki şekilde bir sorgu eklemeniz gerekir:
<manifest>
<queries>
<package android:name="com.android.vending" />
</queries>
</manifest>
Tüketici istemcisine oyununuzu yükleme
Play Games Hizmetleri kataloğunda listelenene kadar tüketici istemcisine oyun yükleyemezsiniz. Oyununuzun tek bir sürümü olduktan sonra, gelecekteki güncellemeleri yayınlamadan önce doğrulamak için dahili test kanalı oluşturabilirsiniz.
Oyuncu istemcisi, PC Üzerinde Google Play Games Geliştirici Emülatörü'nün geliştirici odaklı özelliklerini desteklemez. Bu özellik, oyunun yayınlanmasından önce kalite kontrolü yapmak ve ilk yayınlandıktan sonra oyuncu deneyiminin baştan sona nasıl olduğunu test etmek için en iyi şekilde kullanılır.