PC Üzerinde Google Play Games Geliştirici Emülatörü ile geliştirme

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. Oyuncu deneyiminden farklı olarak kendi paketlerinizi yükleyip hata ayıklama işlemi yapabilirsiniz. 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ı simüle edebilirsiniz.

Emülatör başlatılıyor

Yüklendikten sonra "Google Play Games Geliştirici Emülatörü" başlangıç menüsü öğeniz ve emülatörü başlatmak için bir masaüstü kısayoluna sahip olursunuz. Pencereyi kapattığınızda emülatör sistem tepsinizde kalır.

Oturum açma

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 seçip Oturumu kapatmaya zorla'yı tıklayarak oturumu kapatabilirsiniz. Bunu yaptığınızda, emülatör hemen yeniden başlatılır ve tekrar oturum açmanızı ister.

Başlatıldı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 yapılan dokunuşlara dönüştürülür. Geliştirilmek üzere başka cihazdan yüklenen oyunlar uygulama listesinde görünür. Bu listeye, masaüstünde tıklayıp yukarı sürükleyerek (telefonda veya tablette yukarı kaydırma gibi) ulaşabilirsiniz.

Fare çevirisinin yanı sıra PC Üzerinde Google Play Games Geliştirici Emülatörü, gezinmeyi iyileştirmek için klavye kısayolları sağlar:

  • ctrl + h: ana sayfa düğmesine basın
  • ctrl + b: geri düğmesine basın
  • F11 veya alt + enter: Tam ekran ve pencereli mod arasında geçiş yapın
  • üst karakter + sekme: Giriş SDK'sı için geçerli tuş eşlemeleri dahil olmak üzere PC Üzerinde Google Play Games 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) kullanır.

adb uyumluluğu

adb uygulaması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 adresine uyumlu bir sürüm yüklenir.

Bu talimatları uygulamak için adb, $PATH içinde kullanılabilir olmalıdır. adb devices komutuyla adb yönergesinin doğru şekilde yapılandırıldığını doğrulayabilirsiniz

adb devices
List of devices attached
localhost:6520  device

Oyunu yükle

  • Google Play Games for PC Emulator uygulamasını başlat
  • Komut isteminize adb devices yazın. Şunları 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ı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 talimatlarını inceleyin ve bunun yerine bundletool install-apks kullanın.

  • Oyununuzu çalıştırmak için:

    • Oyununuzu çalıştırmak için adb shell monkey -p your.package.name 1 yazın ve your.package.name kısmını oyununuzun paket adıyla değiştirin.
    • PC Üzerinde Google Play Games Geliştirici Emülatörü'nde, oyununuzu çalıştırmak için simgeyi tıklayın. Tıpkı bir Android telefonda olduğu gibi, yüklü oyunların listesini görmek için ana ekranı "yukarı kaydırmanız" gerekir.

Oyunlarda hata ayıklama

Diğer oyunlarda yaptığınız gibi hata ayıklamak için Android Debug Bridge (adb) kullanın. Emülatör, localhost:6520 üzerinden bağlanan bir cihaz olarak görünür.

adb logcat, tıpkı Android Studio dahil olmak üzere logcat çıktısını düzeltmeye veya filtrelemeye yardımcı olan araçlarda beklendiği gibi çalışır.

Günlüklere, adb yanı sıra %LOCALAPPDATA%\Google\Play Games Developer Emulator\Logs dizininizde de erişilebilir. Burada en kullanışlı öğe, emülatörün başladığı andan itibaren adb logcat ürününün yankı çıkaracağı her şeyi temsil eden AndroidSerial.log öğesidir.

Geliştirici ayarları

PC Üzerinde Google Play Games Geliştirici Emülatörü, son kullanıcı deneyimi yerine geliştiricinin verimliliğine odaklanır. Bu, PC Üzerinde Google Play Games deneyimi yerine standart Android başlatıcıyı kullanmak ve oyuncular için aksi takdirde otomatik olarak etkinleştirilip devre dışı bırakılan özellikler üzerinde kontrol yapmak da dahil olmak üzere Android sistemine kesintisiz erişiminizin olduğu anlamına gelir.

Fare girişi test ediliyor

Geliştirme sırasında, PC Üzerinde Google Play Games Geliştirici Emülatörü size doğrudan fare girişi yapmak 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 dokunmalara çeviren emüle edilmiş mod ve oyunların fare işlemlerini yerel olarak ele almasına ve işaretçi yakalama işlemi gerçekleştirmesine olanak tanıyan "PC modu" geçiş 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.

Oynatıcı istemcisinde bu öğe manifest dosyanıza eklendiğinde 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ı üzerinde hiç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 başlatılır. Sistem tepsisi simgesini sağ tıklayıp Geliştirici Seçenekleri'ni ve ardından Görüntü Oranı bölümünden 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 ayarlamak isteyebilirsiniz:

<activity android:maxAspectRatio="1">
 ...
</activity>

Benzer şekilde, yatay bir oyun 16/9 veya yaklaşık olarak 1.778 olur. Bu nedenle, kareden daha ince olmasını önlemek için minimum 1 en boy oranını ayarlamak isteyebilirsiniz:

<activity android:minAspectRatio="1">
 ...
</activity>

Neleri test edebilirsiniz?

Oyununuz manifest dosyasında yalnızca dikey modları destekliyorsa kullanıcıların PC'lerinde 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 görüntü oranlarında çalıştığını doğrulayın ve 16:9 (Varsayılan) (veya yalnızca tam sertifika için dikey moddaysa 9:16 (Dikey) gerektiğini unutmayın.

Oluşturma arka uçlarını test etme

PC Üzerinde Google Play Games, OpenGL ES çağrılarının DirectX veya Vulkan arka ucu kullanılarak ana bilgisayar tarafından doğru şekilde işlenmesini sağlamak için uyumluluk katmanı olarak ANGLE'ı kullanır. Emülatör, OpenGL'de olmasa da doğrudan Vulkan'ı destekler. Bu katman, mobil olarak yalnızca sıkıştırılmış doku biçimlerini PC uyumlu biçimlere de dönüştürür. Sistem tepsisi simgesini sağ tıklayıp Grafik Yığınını Geçersiz Kılma'yı seçerek, bunu sisteminizin varsayılan ayarına ayarlayabilir veya uyumluluk testi için vulkan'ı zorla açık ya da kapalı duruma getirebilirsiniz.

Neleri test edebilirsiniz?

Desteklenen doku biçimlerinde ve masaüstünde çeşitli mobil özellikleri emüle etmek için gereken adımlarda küçük farklılıklar vardır. Oyununuzun profilini çıkarıp optimize ederken her bir arka ucu kontrol etmek faydalı olabilir.

PC oyununuzun profilini oluşturma

Emülatör, tüketici istemcisiyle aynı teknolojiyi kullandığından performans profili oluşturmak için uygun bir ortamdır.

Perfetto, Android'de performans analizi sağlayan bir araçtır. Aşağıdaki adımları uygulayarak Perfetto izini toplayabilir ve görüntüleyebilirsiniz:

  1. PowerPoint isteminde adb kullanarak iz başlatın

    adb shell perfetto --time 10s gfx wm sched --out /data/misc/perfetto-traces/example.trace
    
    1. --time işareti, toplanacak izlemenin süresini belirtir.Bu örnekte iz 10 saniyedir.
    2. --time işaretinden sonraki bağımsız değişkenler, hangi etkinliklerin izleneceğini belirtir. Bu örnekte gfx grafikleri, wm pencere yönetimini ve sched işlem planlama bilgilerini belirtir. Bunlar, profil oluşturma oyunlarıyla ilgili yaygın işaretlerdir ve tam referans mevcuttur.
    3. --out işareti, bir sonraki adımda emülatörden ana makineye alınan çıkış dosyasını belirtir.
  2. İzi barındırıcınızdan alın

    adb pull /data/misc/perfetto-traces/example.trace $HOME/Downloads/example.trace
    
  3. İzi Perfetto kullanıcı arayüzünde açın

    1. ui.perfetto.dev sayfasını açın.
    2. Gezinme bölümünde sol üst köşeden İzleme dosyasını aç'ı seçin.
    3. Önceki adımda indirdiğiniz example.trace dosyasını Downloads/ dizininizde açın.
  4. İzi, Perfetto kullanıcı arayüzünde inceleyin. Bazı ipuçları:

    1. Her işlemin kendi satırı vardır. Bu satır, işlemdeki tüm iş parçacıklarını gösterecek şekilde genişletilebilir. Bir oyunun profilini oluşturuyorsanız muhtemelen ilk satır işlemdir.
    2. Control tuşunu basılı tutup kaydırma tekerleğini kullanarak yakınlaştırabilir ve uzaklaştırabilirsiniz.
    3. sched etkinliği kullanılırken her iş parçacığı için, iş parçacığının durumunun ne zaman çalıştığını, çalıştırılabilir, uykuda veya engellenmiş olduğunu gösteren bir satır olur.
    4. 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 boyunca sürükleyerek alt kısımda bir "dilimler" bölümünün açılmasını sağlayabilir ve seçtiğiniz zaman diliminde tüm dilimlerin ne kadar sürdüğünü gösterebilirsiniz.

Grafik Profili Oluşturma

Bazı grafik profili oluşturma işlemini RenderDoc ile yapmak mümkündür.

  1. ANDROID_EMU_RENDERDOC ortam değişkenini boş olmayan bir dizeye ("1" gibi) ayarlayın.
  2. TMP ortam değişkenini %USERPROFILE%\AppData\LocalLow olarak ayarlayın. Bu, Renderdoc'a günlük dosyalarını emülatör korumalı alanı içinde erişilebilir bir yere yerleştirmesini bildirir.

  3. Vulkan arka ucunu kullanıyorsanız. Grafik Ayarları > Vulkan Örneği Dolaylı Katmanlar'ı seçin ve VKLAYER_RENDERDOC_Capture'ın işaretli olduğundan emin olun.

  4. PC Üzerinde Google Play Games Geliştirici Emülatörü'nü başlatın. Destek etkin olduğu sürece üst kısma bir RenderDoc yer paylaşımı çizilir.

  5. RenderDoc'u PC Üzerinde Google Play Games Geliştirici Emülatörü başlatılmadan önce veya sonra istediğiniz zaman başlatın.

  6. Dosya > Çalıştırılan Örneğe Ekle'yi tıklayın ve crosvm'yi seçin.

Ortam Değişkenlerini Belirtin

Renderdoc'un çalışması için Windows'da ortam değişkenleri eklemeniz veya değiştirmeniz gerekir. Kullanıcı arayüzü, PowerPoint veya cmd.exe 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.

Burada, yeni bir ortam değişkeni oluşturmak için Yeni düğmesini veya bir değişken seçip düzenlemek için Düzenle düğmesini tıklayabilirsiniz.

PowerPoint'i kullanma

Powershell penceresinde şu ifadeyi 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" türüne ayarlamak için:

$Env:ANDROID_EMU_RENDERDOC="1"
cmd.exe kullanma

cmd.exe penceresine ş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" türüne 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ı burada bulabilirsiniz.

Araçları güncel tutun

Android Studio, geliştirici emülatörüyle uyumlu bir adb sürümünü yükler; ancak, bazı oyun motorları daha eski bir adb sürümü içerir. Bu durumda, geliştirici emülatörünü yükledikten sonra C:\Program Files\Google\Play Games Developer Emulator\current\emulator adresinde uyumlu bir adb sürümü bulabilirsiniz.

Bir adb sürümünü başlatırsanız diğeri sonlandırılır. Diğer bir deyişle, 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 son sürümünü yüklemeniz gerekir.

Kısıtlı Depolama

Android 11 (API düzeyi 30) veya sonraki sürümlerde kapsamlı depolama alanı bulunur. Bu sayede harici depolama alanındaki uygulama ve kullanıcı verileri için daha iyi koruma sağlanır. Oyununuzu kapsamlı depolama alanı 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 gerçekleştirmeniz gerekir. Oyununuzda bu dosyalara erişirken sorun yaşarsanız şu adımları uygulayın:

  1. Uygulamanızın okuyabileceği bir dizin oluşturun.
  2. Genişletme dosyalarınızı emülatöre aktarın.
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 bir cihazda yüklü diğer uygulamalar hakkında bilgi sorgulaması engellenir. Yani, oyununuzun Play Store'dan değil, adb aracılığıyla başka cihazdan yüklendiğinde Play Hizmetleri'ne erişimi engellenir. IAP'nizi başka cihazdan yüklenmiş 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 istemcisine yükleme

Play Games Hizmetleri kataloğunda listelenene kadar bir oyunu tüketici istemcisine yükleyemezsiniz. Oyununuzun tek sürümü yayınlandıktan sonra, yayınlanmadan önce gelecekteki güncellemeleri doğrulamak için bir dahili test kanalı oluşturabilirsiniz.

Oyuncu istemcisi, PC Üzerinde Google Play Games Geliştirici Emülatörü'nün geliştirici odaklı özelliklerini desteklemiyor. Bunun en iyi kullanım şekli, ilk sürümden sonra uçtan uca oyuncu deneyimini test etmek amacıyla, oyun yayınlanmadan önce kalite kontrolü yapmaktır.