Mevcut bir oyunu hazır oyuna dönüştürme

Çalışma yapılacak uygulamaları ayarlama adımları Google Play Instant, açıklandığı gibi İlk hazır uygulamanızı oluşturma bölümünde oyunlar için de geçerlidir. Bu kılavuzda, oyunlara özgü bazı kurulum adımları açıklanmaktadır.

Google Play Instant için oyun geliştirirken şunları kullanabilirsiniz: Birlik (Google Play Instant Unity ile veya olmadan eklentisi) bulabilirsiniz. Cocos2D, Android Studio veya kendi özel motorunuz.

Bu kılavuzda, oturum açmak için kullanacağınız oyun deneyimini zaten bildiğiniz varsayılmaktadır. çok iyi olur. Üretken yapay zeka modelleri için fikirleri ve en iyi uygulamaları görmek isterseniz oyunları için kullanıcı deneyimi en iyi uygulamalarını okuyun. Google Play Instant.

Aynı zamanda, Google Play Instant için Teknik gereksinimleri yapılacaklar listesi.

Aşağıdaki intent filtresini içeren bir etkinlik giriş noktası olur Google Play Instant deneyimi için:

<activity android:name=".GameActivity">
   <intent-filter>
      <action android:name="android.intent.action.MAIN" />
      <category android:name="android.intent.category.LAUNCHER" />
   </intent-filter>
</activity>

Bu etkinlik, kullanıcı Play'de Şimdi Dene düğmesine dokunduğunda başlatılır Depolayın veya Anında oyna'yı seçin düğmesini tıklayın. Bu etkinliği doğrudan derin bağlantı API'si

Doğru sürüm kodlarını tanımlama

Oyununuzun hazır uygulama deneyiminizin sürüm kodu Yüklenebilir oyunun sürüm kodu. Uygulamanıza bu şekilde sürüm oluşturmak kullanıcıların Google Play Instant deneyiminden indirmeye kullanıcının cihazına yüklediği bir videodur. Android çerçevesi bunu dikkate alır bir uygulama güncellemesine dönüştürmenizi sağlar.

Önerilen sürüm oluşturma şemasını uyguladığınızdan emin olmak için şu stratejileri uygulayın:

  • Google Play Instant deneyimi için sürüm kodlarını 1'de yeniden başlatın.
  • Yüklenebilir uygulamanın sürüm kodunu yüksek bir sayı artırın. Örneğin: 1000, hazır uygulama deneyiminizin sürümünde yeterli alan bulunduğundan emin olun sayısını artırır.

Hazır oyununuzu ve yüklenebilir oyununuzu iki ayrı oyunda geliştirebilirsiniz. Android Studio projeleri. Ancak bunu yaparsanız oyununuzu Google Play'de yayınlayın:

  1. Her iki Android Studio projesinde de aynı paket adını kullanın.
  2. Google Play Console'da her iki varyantı da aynı uygulamaya yükleyin.
ziyaret edin.

Oyununuzun sürümünü ayarlamayla ilgili daha fazla bilgi için uygulamasında gösterilir.

Yürütme ortamını destekleme

Diğer uygulamalar gibi Google Play Instant'taki oyunlar da bir korumalı alan görürsünüz. Bu yürütme ortamını desteklemek için adımları tamamlayın görebilirsiniz.

Net metin trafiğini devre dışı bırak

Google Play Instant'taki oyunlar HTTP trafiğini desteklemez. Oyununuz Android 9 (API düzeyi 28) veya sonraki sürümleri hedefliyorsa Android, şifresiz metin desteğini devre dışı bırakır varsayılan olarak ayarlayabilirsiniz.

Ancak oyununuz Android 8.1 (API düzeyi 27) veya önceki sürümleri hedefliyorsa Network Security Config dosyası oluşturun. Bu dosyada, cleartextTrafficPermitted öğesini şurada gösterildiği gibi false olarak ayarlayın: şu kod snippet'ini kullanabilirsiniz:

res/xml/network_security_config.xml

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <domain-config cleartextTrafficPermitted="false">
        <domain includeSubdomains="true">secure.example.com</domain>
    </domain-config>
</network-security-config>

Hedef korumalı alan sürümünü güncelleyin

Hazır oyununuzun AndroidManifest.xml dosyasını, şurayı hedefleyecek şekilde güncelleyin: Google Play Instant'ın desteklediği korumalı alan ortamı. Tamamlayabilirsiniz Bu güncellemeyi,android:targetSandboxVersion oyunlarının <manifest> öğesi, aşağıdaki kod snippet'inde gösterildiği gibi:

<manifest
   xmlns:android="http://schemas.android.com/apk/res/android"
  ...
   android:targetSandboxVersion="2" ...>

Daha fazla bilgi için targetSandboxVersion özelliğini gönderin.

Bu nedenle önbellek veya uygulama verileri gibi yöntemler kullanmayın.

Hazır uygulama deneyiminiz, şu tarihe kadar kullanıcının cihazına indirilmiş olarak kalır: hazır uygulama deneyimi önbelleği temizlenir. Bu işlem, aşağıdakilerden birinde gerçekleşir durumlar:

  • Hazır uygulama deneyimi önbelleğinin çöp toplaması, çünkü cihaz kullanılabilir bellek azalıyor.
  • Kullanıcı cihazını yeniden başlatır.

Her iki işlem de gerçekleşirse kullanıcının hazır uygulama deneyiminizi yeniden indirmesi gerekir belirlemeniz gerekir.

Sistemin depolama alanı çok azsa hazır uygulama deneyiminin kullanıcı verileri dahili depolama alanından kaldırılır. Dolayısıyla, düzenli olarak oyununuzun sunucusuyla senkronize etmenizi ve kullanıcının ilerleme durumu korunur.

Uygulamanızın boyutunu küçültme

Diğer uygulama türlerinin aksine, Google Play Instant'taki oyunlar 15 MB'lık indirme boyutu sınırı vardır. Bu boyutta bir oyun oluşturmak için oyununuzun mantığını yeniden düzenlememiz gerekebilir. Bu bölümde bazı araçlar ve tekniklerini kullanarak oyununuzun boyutunu optimize edebilirsiniz.

Araçlar

Aşağıdaki araç listesi, oyununuzun boyutu:

  • APK Analizcisi: bir APK'nın içeriğidir. Bu görünümü kullanarak her bir anahtar kelime için toplam boyuta katkıda bulunduğu bayt olarak kabul edilir. Bu aracı şunlar için kullanın: bulunan kaynakların, öğelerin, mantığın ve yerel kitaplıkların boyutunu ne kadar önemli olduğunu göstereceğim.
  • Bloaty McBloatface: boyut profili oluşturabilirsiniz.
  • Android GPU Denetleyici: Dosya boyutu etkisini görün oyununuzu yeniden derlemek zorunda kalmadan doku boyutunu küçültme.

Teknikler

Aşağıda, boyutu küçültmek için kullanabileceğiniz tekniklerin bir listesi verilmiştir: oyununuz:

  • Oyununuzun mantığından bir kısmını çıkarın ve bir veya daha fazla özelliğe yerleştirin modüllerin hesaba katılır.
  • Oyununuzdaki dokuların çözünürlüğünü azaltın.
  • Şu özelliklerden faydalanabilirsiniz: WebP biçimlendirdiğinizden emin olun. WebP biçimi, JPEG resimleriyle aynı kalitede ancak% 15 oranında %30 daha küçük. WebP görüntülerinin sıkıştırmasını açmak daha uzun sürse de açma süresi, cihazınızın indirme süresinden önemli ölçüde olduğunu öğrenmiştiniz. Google bu biçimi açık kaynak bir oyuna da entegre etti. arama motoru.
  • Sesleri ve müzikleri sıkıştırın veya yeniden kullanın.
  • İkili dosya dosyanızı küçültmenize yardımcı olması için farklı derleme işaretleri kullanın:
    • -fvisibility=hidden – En önemlisi. cmake alanında, şunları belirtebilirsiniz: şu şekilde ekleyin:
      $ set_target_properties(your-target PROPERTIES CXX_VISIBILITY_PRESET hidden)
      
    • -Oz: Boyutu küçültmek için de önemlidir. gcc kullanarak derliyorsanız Bunun yerine -Os.
    • -flto – Bazen dosya boyutunu küçültür.
    • Bağlayıcı işaretleri: --gc-sections öğesini derleyici işaretleriyle birlikte kullanın. Örneğin, -ffunction-sections ve -fdata-sections olarak.
  • Kodunuzu ve kaynaklarınızı küçültmek için ProGuard'ı kullanın.
  • Daha küçük DEX dosyaları oluşturmak için Gradle 4.4 veya üstünü kullanın.
  • Öğelerin bulutta teslimini uygulayın.

Büyük bir oyunu birden fazla APK'ya bölme

Google Play Instant deneyimini optimize etmek zor olabilir. şunu uyguladıktan sonra bile oyununuzu 15 MB'lık tek bir APK'ya sığdırmak için APK boyutunu küçültme önerilerini inceleyin. Adres oyununuzu birden fazla APK'ya bölebilirsiniz. Oyuncular: birincil, temel APK'yı indirme; oyun oynarken, kalan bölme APK'lar oyuna arka planda kullanıma sunulur.

Örneğin, temel APK, temel oyun motorunu ve öğeleri bir yükleme ekranı görüntülemek için gereklidir. Temel APK başlatıldığında, ekranı yükler ve hemen şunu içeren ek bir bölünmüş APK ister: oyun ve seviye verilerini görebilirsiniz. Bölünmüş APK kullanılabilir hale geldikten sonra kendi sürümünü yükleyebilir oyun motoruna eklemeli ve oyuncuya oyuna başlaması için sorumluluklar var.

Kullanıcı deneyimiyle ilgili en iyi uygulamaları benimseme

Oyununuzu hazır deneyimleri destekleyecek şekilde yapılandırdıktan sonra aşağıdaki bölümlerde gösterilen mantığın, başarılı bir kullanıcıya sahip olacaksınız.

64 bit mimarileri destekleme

Google Play'de yayınlanan uygulamaların 64 bit mimarileri desteklemesi gerekir. Bu makale için Uygulamanızın 64 bit sürümü performans iyileştirmeleri sunar ve (yalnızca 64 bit donanıma sahip cihazlar için) 64 bit desteği hakkında daha fazla bilgi edinin.

Oyunun hazır uygulama deneyimi çalıştırıp çalıştırmadığını kontrol etme

Oyununuzun mantığından bazıları kullanıcının oyun veya oyununuzu hazır uygulama deneyimi, isInstantApp() yöntemidir. Bu yöntem, şu anda çalıştırılan işlem birtrue hazır uygulama deneyimi.

Bu kontrolü yaparak uygulamanızın sınırlı yürütme ortamına sahip olması veya platform özellikleri.

Yükleme istemi görüntüle

Deneme amaçlı bir Google Play Instant deneyimi oluşturduysanız oyun bir noktada oynatıcıya tam sürümü yüklemesini isteyin. Bunu yapmak için showInstallPrompt() yöntemini Android için Google API'lerinde bulabilirsiniz.

Oynatıcıdan nasıl ve ne zaman yükleme isteğinde bulunacağınız hakkında daha fazla bilgi edinmek için Google Play Games Beta sürümünde Google Play Instant.

Yüklü bir deneyime veri aktarma

Deneme deneyiminizden keyif alan bir oyuncu, tam sürümü kullanın. İyi bir kullanıcı deneyimi sağlamak için oynatıcının ilerlemesinin hazır uygulama deneyiminizden tam sürümü kullanın.

Oyununuzda targetSandboxVersion belirtilmişse 2 olarak değişirse oyuncunun ilerlemesi aktarılır otomatik olarak oyununuzun tam sürümüne geçebilirsiniz. Aksi takdirde oyuncu ilerleme durumuyla ilgili veriler manuel olarak. Bunu yapmak için Cookie API örnek uygulama'yı kullanın.

Ek kaynaklar

Aşağıdaki ek kaynaklardan Google Play Instant hakkında daha fazla bilgi edinebilirsiniz:

Codelab: İlk Hazır Uygulamanızı Derleme
Mevcut bir uygulamaya Google Play Instant desteği ekleme.
Codelab: Çok Özellikli Hazır Uygulama Derleme
Çok özellikli bir uygulamayı modüler hale getirme.