Unity için Google Play Instant eklentisi, Unity projenizi Oyununuzun hazır uygulama sürümü. Bu kılavuzda, Google Etiket Yöneticisi'nin bu eklentiden yararlanabilirsiniz.
Eklentiyi indirme ve içe aktarma
Eklenti, Unity'ye yönelik Google Play Eklentileri'nin bir parçasıdır. İçe aktarmak için aşağıdaki adımları uygulayın:
- Unity sürümleri için Google Play Eklentileri'nden son sürümü indirin.
- Unity IDE menü seçeneğini belirleyerek
.unitypackage
dosyasını içe aktarın Öğeler > Paketi içe aktar > Özel Paket'e dokunup tüm öğeleri içe aktararak.
Unity Editor özellikleri
Google > Unity'de Anında alt menüsünü oynatın. Bu alt menüde aşağıdaki seçenekler sunulur.
Derleme Ayarları
Yüklü ve Anında arasında geçişe olanak tanıyan bir pencere açar kullanmanızı öneririz. Anında moduna geçildiğinde aşağıdaki değişiklikler gerçekleşir:
- Şunlar için kullanılabilecek
PLAY_INSTANT
adında bir Komut Dosyası Tanımlama Simgesi oluşturur#if PLAY_INSTANT
ve#endif
ile komut dosyası oluşturma. - Örneğin, bazı gerekli değişiklikler için AndroidManifest.xml güncellemelerini yönetir. olması android:targetSandboxVersion seçeneğini belirtin.
Oynatıcı Ayarları
Şekil 1'de gösterilen Oynatıcı Ayarları iletişim kutusu, yardımcı olacak önerileri görüntüler Google Play Instant için desteği optimize etme, daha uyumlu ve APK'nızın boyutunu küçültün.
Bu Oynatıcı Ayarları, Zorunlu ve Önerilen olarak ikiye ayrılır. Ayarlar'da devre dışı bırakabilirsiniz. Bir ayara karşılık gelen bir Güncelle düğmesi varsa bu düğmeyi tıklayarak ayarı tercih edilen değere getirin.
APK boyutunu daha da küçültmek için Unity Paket Yöneticisi'ni açın ve mevcut tüm APK paket ekleyebilirsiniz.
Hızlı Dağıtım
Quick Deploy, bazı uygulamaları paket haline getirerek Unity tabanlı hazır uygulamaların boyutunu küçültebilir. bir AssetBundle. Hızlı Dağıtım kullanılırken Unity oyun motoru ve bir yükleme ekranı paketlenmiştir hazır uygulama APK'sına çalışır ve hazır uygulama başladıktan sonra AssetBundle öğesi.
Kurulum iş akışlarını destekleme
Birçok hazır uygulamanın amacı, kullanıcılara uygulamayı deneme şansı vermektir . Unity için Google Play Instant eklentisi, API'ler sunar. Play Store yükleme iletişim kutusu görüntülemek ve hazır sürümden yüklü uygulamaya.
Yükleme istemi göster
Yükle düğmesi olan bir hazır uygulama, Play Store'dan yükleme işlemini gösterebilir yükleme düğmesi tıklama işleyicisinden aşağıdaki komutu çağırarak iletişim kutusunu açın:
Google.Play.Instant.InstallLauncher.ShowInstallPrompt();
ShowInstallPrompt()
yöntemi, aşağıdakilerin bir veya daha fazlasına izin veren bir aşırı yüklenmeye sahip
şu:
- Kullanıcının yükleme işlemini iptal edip etmediğini belirleme. Geçersiz kıl
Hazır uygulamanın ana etkinliğinde
onActivityResult()
vardır ve BelirtilenrequestCode
üzerindeRESULT_CANCELED
. referrer
parametresi aracılığıyla bir yükleme yönlendiren dizesi iletilir.- Mevcut oyun oturumuyla ilgili geçme durumu
PutPostInstallIntentStringExtra()
Bunlar aşağıdaki örnekte gösterilmektedir:
using Google.Play.Instant;
...
const int requestCode = 123;
var sessionInfo = /* Object serialized as a string representing player's current location, etc. */;
using (var activity = UnityPlayerHelper.GetCurrentActivity())
using (var postInstallIntent = InstallLauncher.CreatePostInstallIntent(activity))
{
InstallLauncher.PutPostInstallIntentStringExtra(postInstallIntent, "sessionInfo", sessionInfo);
InstallLauncher.ShowInstallPrompt(activity, requestCode, postInstallIntent, "test-referrer");
}
Kullanıcı uygulama yüklemesini tamamlarsa Play Store uygulamayı yeniden başlatır
(postInstallIntent
kullanılarak). Yüklü uygulama bir değer alabilir
postInstallIntent
içinde şu ayarlar kullanılarak ayarlanır:
var sessionInfo = InstallLauncher.GetPostInstallIntentStringExtra("sessionInfo");
Notes:
postInstallIntent
içindeki ekstralar, yüklü cihaza ulaşmayabilir Kullanıcı uygulamayı yükler ancak yükleme sonrası başlatma işlemini iptal ederse. Aktarma amacı ekstraları, etkin oturum durumunu korumak için daha uygundur sürdürmek için gerekenden çok daha fazladır. RACI matrisine Çerez API'sı.- Herkes, yüklü uygulamayı başlatmak için ek alanlarla bir intent oluşturabilir Bu nedenle yük değer bir şey sağlıyorsa yükü bu yükü Yalnızca bir kez kullanılabilir, şifreyle imzalayın ve imzalanmasıdır.
Cookie API'yi kullanma
Cookie API, çerez iletmek için yöntemler (ör.oynatıcı kimliği veya seviye) sunar.
tamamlama verileri) gönderebilir. Beğenmeyi kaldır
postInstallIntent
ekstraları varsa çerez durumu, kullanıcı
yüklü uygulamayı hemen başlatmaz. Örneğin, bir hazır uygulama
yükleme düğmesi tıklama işleyicisinden aşağıdaki kodu çağırın:
using Google.Play.Instant;
...
var playerInfo = /* Object serialized as a string representing game levels completed, etc. */;
var cookieBytes = System.Text.Encoding.UTF8.GetBytes(playerInfo);
try
{
var maxCookieSize = CookieApi.GetInstantAppCookieMaxSize();
if (cookieBytes.Length > maxCookieSize)
{
UnityEngine.Debug.LogErrorFormat("Cookie length {0} exceeds limit {1}.", cookieBytes.Length, maxCookieSize);
}
else if (CookieApi.SetInstantAppCookie(cookieBytes))
{
UnityEngine.Debug.Log("Successfully set cookie. Now display the app install dialog...");
InstallLauncher.ShowInstallPrompt();
}
else
{
UnityEngine.Debug.LogError("Failed to set cookie.");
}
}
catch (CookieApi.InstantAppCookieException ex)
{
UnityEngine.Debug.LogErrorFormat("Failed to set cookie: {0}", ex);
}
Kullanıcı uygulama yüklemesini tamamlarsa yüklü uygulama çerez verilerini kullanabilirsiniz:
var cookieBytes = CookieApi.GetInstantAppCookie();
var playerInfoString = System.Text.Encoding.UTF8.GetString(cookieBytes);
if (!string.IsNullOrEmpty(playerInfoString))
{
// Initialize game state based on the cookie, e.g. skip tutorial level completed in instant app.
}