Trình bổ trợ Google Play Instant cho Unity sẽ định cấu hình dự án Unity để tạo một phiên bản ứng dụng tức thì của trò chơi. Hướng dẫn này mô tả cách cài đặt và sử dụng trình bổ trợ này.
Tải xuống và nhập trình bổ trợ
Trình bổ trợ này là một phần của trình bổ trợ Google Play cho Unity. Cách nhập trình bổ trợ, hãy thực hiện theo các bước sau:
- Tải bản phát hành mới nhất xuống từ các Trình bổ trợ Google Play dành cho các bản phát hành Unity.
- Nhập tệp
.unitypackage
bằng cách chọn lựa chọn trên trình đơn Unity IDE Thành phần > Nhập gói > Custom Package (Gói tuỳ chỉnh) và nhập tất cả các mục.
Các tính năng của Trình chỉnh sửa Unity
Nhập trình bổ trợ để thêm một Google > Trình đơn phụ Play Instant trong Unity. Chiến dịch này trình đơn con cung cấp các tuỳ chọn sau.
Chế độ cài đặt bản dựng
Mở cửa sổ cho phép chuyển đổi giữa chế độ Đã cài đặt và Tức thì chế độ phát triển. Việc chuyển sang chế độ Instant sẽ thực hiện những thay đổi sau:
- Tạo một Biểu tượng định nghĩa tập lệnh có tên là
PLAY_INSTANT
để dùng cho tập lệnh bằng#if PLAY_INSTANT
và#endif
. - Quản lý bản cập nhật cho AndroidManifest.xml cho một số thay đổi bắt buộc như dưới dạng android:targetSandboxVersion.
Cài đặt trình phát
Hộp thoại Player Settings (Cài đặt trình phát) như trong Hình 1, đưa ra các đề xuất để trợ giúp tối ưu hoá dịch vụ hỗ trợ cho Google Play Instant, phát triển dựa trên đồ hoạ và giảm kích thước APK.
Các Cài đặt trình phát này được chia thành Bắt buộc và Được đề xuất phần cài đặt. Nếu chế độ cài đặt có nút Cập nhật tương ứng, hãy nhấp vào nút đó để hãy thay đổi chế độ cài đặt thành giá trị ưu tiên.
Để giảm kích thước APK nhiều hơn nữa, hãy mở Trình quản lý gói Unity và xoá bất kỳ gói không sử dụng.
Triển khai nhanh
Tính năng Triển khai nhanh có thể giảm kích thước của ứng dụng tức thì dựa trên Unity bằng cách đóng gói một số trong một AssetBundle. Khi sử dụng tính năng Triển khai nhanh, công cụ phát triển trò chơi Unity và màn hình tải sẽ được đóng gói vào APK ứng dụng tức thì và sau khi ứng dụng tức thì khởi động, ứng dụng sẽ truy xuất AssetBundle từ máy chủ.
Hỗ trợ quy trình cài đặt
Mục tiêu của nhiều ứng dụng tức thì là giúp người dùng có cơ hội trải nghiệm ứng dụng trước khi cài đặt phiên bản đầy đủ. Trình bổ trợ Google Play Instant cho Unity cung cấp các API để hiện hộp thoại cài đặt trên Cửa hàng Play và để chuyển trạng thái ứng dụng tức thì sang ứng dụng cần cài đặt.
Hiển thị lời nhắc cài đặt
Ứng dụng tức thì có nút Install (Cài đặt) có thể hiển thị lượt cài đặt trên Cửa hàng Play bằng cách gọi nội dung sau từ trình xử lý lượt nhấp vào nút cài đặt:
Google.Play.Instant.InstallLauncher.ShowInstallPrompt();
Phương thức ShowInstallPrompt()
có phương thức nạp chồng cho phép một hoặc nhiều
như sau:
- Xác định xem người dùng có huỷ quá trình cài đặt hay không. Ghi đè
onActivityResult()
trong hoạt động chính của ứng dụng tức thì và kiểm traRESULT_CANCELED
trênrequestCode
được chỉ định. - Chuyển chuỗi liên kết giới thiệu lượt cài đặt qua thông số
referrer
. - Chuyển trạng thái về phiên trò chơi hiện tại qua
PutPostInstallIntentStringExtra()
.
Những điều này được minh hoạ trong ví dụ sau:
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");
}
Nếu người dùng hoàn tất quá trình cài đặt ứng dụng, Cửa hàng Play sẽ chạy lại ứng dụng
bằng cách sử dụng postInstallIntent
được cung cấp. Ứng dụng đã cài đặt có thể truy xuất một giá trị
được thiết lập trong postInstallIntent
bằng cách sử dụng:
var sessionInfo = InstallLauncher.GetPostInstallIntentStringExtra("sessionInfo");
Lưu ý:
- Các tiện ích bổ sung có trong
postInstallIntent
có thể không truy cập được vào tiện ích bổ sung đã cài đặt ứng dụng nếu người dùng cài đặt ứng dụng nhưng huỷ khởi chạy sau khi cài đặt. Việc truyền ý định bổ sung sẽ phù hợp hơn để giữ lại trạng thái phiên đang hoạt động so với việc giữ lại trạng thái ổn định; cho cái sau đề cập đến Cookie API. - Bất cứ ai cũng có thể xây dựng một ý định bằng các trường bổ sung để khởi chạy phiên bản đã cài đặt nên nếu tải trọng cấp một giá trị nào đó, hãy thiết kế tải trọng sao cho nó chỉ có thể được sử dụng một lần, ký bằng mã hoá và xác minh trên máy chủ.
Sử dụng Cookie API
Cookie API cung cấp các phương thức để chuyển cookie (ví dụ: mã nhận dạng người chơi hoặc cấp độ người chơi
dữ liệu hoàn thành) từ một ứng dụng tức thì sang ứng dụng đã cài đặt tương ứng. Bỏ thích
Phần bổ sung postInstallIntent
, trạng thái cookie vẫn áp dụng ngay cả khi người dùng
không khởi chạy ngay ứng dụng đã cài đặt. Ví dụ: ứng dụng tức thì có thể
gọi mã sau từ trình xử lý lượt nhấp vào nút cài đặt:
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);
}
Nếu người dùng hoàn tất quá trình cài đặt ứng dụng, thì ứng dụng đã cài đặt đó có thể truy xuất bằng cách sử dụng mã sau:
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.
}