PC Üzerinde Google Play Games Geliştirici Emülatörü, PC Üzerinde Google Play Games için geliştirici odaklı bir emülatördür. Oynatıcı deneyiminin aksine, kendi paketlerinizi yükleyebilir ve hata ayıklayabilirsiniz. Ayrıca, oyununuzun çeşitli PC yapılandırmalarında beklendiği gibi performans göstermesini sağlamak için en boy oranı, fare emülasyonu ve grafik arka ucu gibi çeşitli oyuncu yapılandırmalarını da simüle edebilirsiniz.
Emülatörü başlatma
Yüklendikten sonra, "Google Play Games Geliştirici Emülatörü" başlat menüsü öğesi ve emülatörü başlatmak için bir masaüstü kısayolu alırsınız. Pencereyi kapattığınızda emülatör, sistem tepsinizde 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.
Oturumunuzu kapatmak için sistem tepsisi simgesini sağ tıklayın, Geliştirici Seçenekleri'ni ve ardından Oturumu kapat'ı tıklayın. Bunu yaptığınızda emülatör hemen yeniden başlatılır ve tekrar oturum açmanızı ister.
Navigasyon
Uygulamayı 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 parmak dokunuşlarına dönüştürülür. Geliştirme için harici olarak yüklenen oyunlar, masaüstünde tıklayıp yukarı sürükleyerek (telefon veya tablette yukarı kaydırma işlemini taklit ederek) ulaşabileceğiniz uygulama listesinde görünür.
PC Üzerinde Google Play Games Geliştirici Emülatörü, fare çevirisine ek olarak gezinmeyi iyileştirmek 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 pencere modu arasında geçiş yapmaÜst Karakter + Sekme : Giriş SDK'sı için geçerli tuş eşlemeleri 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 Hata Ayıklama Köprüsü'nü (adb) kullanır.
adb uyumluluğu
adb
'ün mevcut sürümleri, PC Üzerinde Google Play Games Geliştirici Emülatörü ile uyumludur.
Ayrıca, emülatör yüklenirken C:\Program
Files\Google\Play Games Developer Emulator\current\emulator
konumuna uyumlu bir sürüm yüklenir.
Bu talimatları uygulayabilmeniz için $PATH
cihazınızda adb yüklü olmalıdır. adb
değerinin adb devices
komutuyla doğru şekilde yapılandırıldığını doğrulayabilirsiniz
adb devices
List of devices attached
localhost:6520 device
Oyunu yükleme
Google Play Games for PC Emulator
uygulamasını başlatKomut isteminize
adb devices
yazın. Aşağıdakileri görürsünüz: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ızdan emin olun.
- 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 talimatlarını inceleyin ve bunun yerinebundletool install-apks
kullanın.Aşağıdakilerden birini yaparak oyununuzu çalıştırı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ı yazın. - PC Üzerinde Google Play Games Geliştirici Emülatörü'nde oyunu ç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
Oyunlarda hata ayıklama
Hata ayıklama işlemini diğer oyunlarda yaptığınız gibi Android Debug Bridge (adb) ile gerçekleştirin.
Emülatör, localhost:6520
üzerinden bağlı bir cihaz olarak görünür.
adb logcat
, Android Studio da dahil olmak üzere logcat çıkışını güzelleştirmeye veya filtrelemeye yardımcı olan araçlar gibi beklendiği gibi çalışır.
Günlüklere adb
'e ek olarak %LOCALAPPDATA%\Google\Play Games Developer Emulator\Logs
dizininizden de erişilebilir. Burada en yararlı olan, adb logcat
'un emülatör başladığı andan itibaren yankılanacağı her şeyi temsil eden AndroidSerial.log
'tir.
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 da dahil olmak üzere Android sistemine engelsiz erişebilir ve oyuncular için otomatik olarak etkinleştirilen ve devre dışı bırakılan özellikler üzerinde kontrol sahibi olabilirsiniz.
Fare girişini test etme
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, ardından PC modu (KiwiMouse)'nu seçerek doğrudan fare girişini etkinleştirebilirsiniz.
PC Üzerinde Google Play Games'in iki fare modu vardır: Fare tıklamalarını tek dokunuşlara dönüştüren taklit modu ve oyunların fare hareketlerini doğal olarak işlemesine ve işaretçi yakalamasına olanak tanıyan geçişli "PC modu". PC Üzerinde Google Play Games'de fare girişi hakkında ayrıntılı bilgi için Fare girişini ayarlama başlıklı makaleyi inceleyin.
Oynatıcı istemcisinde, aşağıdaki ifadeyi manifest dosyanıza ekleyerek emülasyon devre dışı bırakılır:
<manifest ...>
<uses-feature
android:name="android.hardware.type.pc"
android:required="false" />
...
</manifest>
Bu özellik işaretinin geliştirme ortamında herhangi bir 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ında açılır. Sistem tepsisi simgesini sağ tıklayıp Geliştirici Seçenekleri'ni ve ardından Ekran 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
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 ayarlayabilirsiniz:
<activity android:maxAspectRatio="1">
...
</activity>
Benzer şekilde, yatay bir oyun 16/9
veya yaklaşık 1.778
boyutunda olur. Bu nedenle, kareden daha ince olmasını önlemek için minimum en boy oranını 1
olarak ayarlayabilirsiniz:
<activity android:minAspectRatio="1">
...
</activity>
Neleri test edebilirsiniz?
Oyununuz manifest'te yalnızca dikey modları destekliyorsa açılır menüden 9:16 (Dikey)'i seçerek oyunun oyuncuların bilgisayarlarında nasıl göründüğünü görebilirsiniz. Aksi takdirde, 16:9 (Varsayılan)'ın (veya oyununuz yalnızca dikeyse 9:16 (Dikey)'in) tam sertifika için gerekli olduğunu unutmayın ve oyununuzun manifest'te desteklediğiniz en geniş ve en dar yatay oranlarda çalıştığını doğrulayın.
Oluşturma arka uçlarını test etme
PC Üzerinde Google Play Games, oyunlarınızı oluşturmak için Vulkan'ı kullanır. Vulkan, hem Android hem de PC ortamlarında yaygın olarak kullanılan bir API'dir. PC ve Android ortamlarını yalıtmak için korumalı alan katmanı kullanılır. Birçok oyunda oluşturma işlemi için hâlâ OpenGL ES kullanıldığı için ANGLE, OpenGL ES komutlarını ana PC ile 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ştirici çalışmalarını en aza indirir. En iyi sonuçlar 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 hataları yaşanıyorsa kaynak grafiklerinizi inceleyin ve PC'ye uygun bir biçime geçmeyi düşünün. Normal veya küp haritası sorunlarının genellikle albedo ile ilgili sorunlardan daha zor fark edilmesi nedeniyle, daha gelişmiş efektler için kullanılan dokulara çok dikkat edin.
ANGLE'ın OpenGL ES komutlarınızı Vulkan'a dönüştürmesi bazı ek maliyetler getirir. Beklenen performans hedeflerinize ulaştığınızdan emin olun ve Vulkan tabanlı bir oluşturma aracına geçmeyi düşünün.
PC oyununuzun profilini çıkarma
Emülatör, tüketici istemciyle aynı teknolojiyi kullandığından performans profilleme için uygun bir ortamdır.
Perfetto, Android'deki performansı analiz etmek için kullanılan bir araçtır. Aşağıdaki adımları uygulayarak bir Perfetto izlemesi toplayabilir ve görüntüleyebilirsiniz:
PowerShell isteminde
adb
kullanarak izleme başlatınadb shell perfetto --time 10s gfx wm sched --out /data/misc/perfetto-traces/example.trace
--time
işareti, toplanacak izleme süresini belirtir. Bu örnekte, izleme 10 saniyedir.--time
işaretinden sonraki bağımsız değişkenler, hangi etkinliklerin izleneceğini belirtir. Bu örnektegfx
grafikleri,wm
pencere yönetimini vesched
işlem planlama bilgilerini gösterir. Bunlar, oyunların profilini oluşturmak için kullanılan yaygın işaretlerdir ve tam referans mevcuttur.--out
işareti, bir sonraki adımda emülatörden ana makineye çekilen çıkış dosyasını belirtir.
İzi ana makinenizden alma
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/
dizininde açın.
Perfetto kullanıcı arayüzünde izlemeyi inceleyin. Bazı ipuçları:
- Her işlemin kendi satırı vardır. Bu satır, ilgili işlemin tüm iş parçacıklarını göstermek için genişletilebilir. Bir oyunun profilini çıkarıyorsanız bu oyunun işlemi büyük olasılıkla ilk satırdadır.
- Denetimli tuşunu basılı tutarak ve kaydırma çubuğunu kullanarak yakınlaştırabilir ve uzaklaştırabilirsiniz.
sched
etkinliği kullanıldığında, her iş parçacığı için iş parçacığının durumunun ne zaman çalıştığını, çalışılabilir olduğunu, uykuda olduğunu veya engellendiğini gösteren bir satır bulunur.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. "Dilim"leri tek tek seçerek ne kadar süre sürdüklerini görebilir veya bir satırı sürükleyerek alt kısımda "dilim" bölümünün açılmasını sağlayabilirsiniz. Bu bölüm, seçtiğiniz zaman aralığındaki tüm dilimlerin ne kadar sürdüğünü gösterir.
Grafik Profil Oluşturma
RenderDoc ile bazı grafik profilleri oluşturabilirsiniz.
- Ortam değişkenini
ANDROID_EMU_RENDERDOC
boş olmayan bir dize ("1"
gibi) olarak ayarlayın. TMP
ortam değişkenini%USERPROFILE%\AppData\LocalLow
olarak ayarlayın. Bu, Renderdoc'a günlük dosyalarını emülatör korumalı alanında erişilebilir bir yere yerleştirmesini söyler.Vulkan arka ucunu kullanıyorsanız. Grafik Ayarları > Vulkan Örneği Örtülü Katmanları'nı 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 yer paylaşımı çizilir.
PC Üzerinde Google Play Games Geliştirici Emülatörü'nün kullanıma sunulmasından önce veya sonra dilediğiniz zaman RenderDoc'u başlatın.
Dosya > Çalışmakta Olan Örneğe Ekle'yi tıklayın ve crosvm'i seçin.
Ortam Değişkenlerini Belirtme
Renderdoc'un çalışması için Windows'ta ortam değişkenleri eklemeniz veya değiştirmeniz gerekir. Kullanıcı arayüzünü, PowerShell'i veya cmd.exe'yi kullanarak ortam değişkenlerini 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. - Etkin değilse Gelişmiş sekmesini seçin.
- Ortam Değişkenleri düğmesini tıklayın.
Buradan, yeni bir ortam değişkeni oluşturmak için Yeni düğmesini tıklayabilir veya bir değişken seçip Düzenle düğmesini tıklayarak değişkeni düzenleyebilirsiniz.
PowerShell'i kullanma
PowerShell penceresinde şunları 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:
$Env:ANDROID_EMU_RENDERDOC="1"
cmd.exe'yi kullanma
cmd.exe penceresinde şunları 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:
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 son Android sürümleriyle güncellenir. Android'in en son sürümüyle çalışmayla ilgili bazı ipuçlarını aşağıda bulabilirsiniz.
Araçları güncel tutun
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 uyumlu bir sürümünü C:\Program Files\Google\Play Games Developer
Emulator\current\emulator
adresinde bulabilirsiniz.
adb
'nin bir sürümünü başlatırsanız diğeri sonlandırılır. Bu, oyun motorunuz kendi adb
örneğini otomatik olarak başlatırsa dağıtım yaparken geliştirici emülatörüyle birlikte gelen adb
sürümünü yeniden başlatmanız ve yeniden bağlamanız gerekebileceği anlamına gelir.
Android App Bundle kullanıyorsanız Bundletool'un en son sürümünü GitHub deposundan yüklemeniz gerekir.
Kısıtlı Depolama
Android 11 (API düzeyi 30) veya sonraki sürümler, harici depolama alanındaki uygulama ve kullanıcı verilerine daha iyi koruma sağlayan kapsamlı depolama özelliğini içerir. Oyununuzu kapsamlı depolama alanı şartlarıyla uyumlu hale getirmenin yanı sıra APK genişletme dosyalarını (obb) veya öğe verilerini PC Üzerinde Google Play Games Geliştirici Emulator'una yüklemek için ek adımlar uygulamanız gerekir. Oyununuzdan bu dosyalara erişirken sorun yaşarsanı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üğü
Yeni paket görünürlüğü kuralları nedeniyle, Android 11 (API düzeyi 30) veya sonraki sürümleri hedefleyen uygulamaların, cihazda yüklü diğer uygulamalar hakkında bilgi sorgulamasına izin verilmez. Bu, oyununuzun Play Store üzerinden yüklenmek yerine adb
üzerinden başka kaynaktan yüklendiğinde Play Hizmetleri'ne erişmesinin engellendiği anlamına gelir. IAP'nizi, harici olarak yüklenen bir oyunla 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>
Oyununuzu tüketici istemcisinde 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 bir dahili test kanalı oluşturabilirsiniz.
Oynatıcı istemcisi, PC Üzerinde Google Play Games Geliştirici Emülatörü'nün geliştirici odaklı özelliklerini desteklemez. Bu yöntem, oyunu yayınlanmadan önce kalite kontrolü yapmak veya ilk sürümden sonra uçtan uca oyuncu deneyimini test etmek için en iyi şekilde kullanılır.