Triển khai quá trình phân phối thành phần trên đám mây

Cảnh báo: Google Play Instant sẽ không còn hoạt động nữa. Kể từ tháng 12 năm 2025, bạn sẽ không thể xuất bản Ứng dụng tức thì thông qua Google Play và tất cả API Instant của Dịch vụ Google Play sẽ không còn hoạt động. Play sẽ không còn phân phối Ứng dụng tức thì cho người dùng bằng bất kỳ cơ chế nào.

Chúng tôi thực hiện thay đổi này dựa trên ý kiến phản hồi của nhà phát triển và những khoản đầu tư liên tục của chúng tôi để cải thiện hệ sinh thái kể từ khi ra mắt Google Play Instant.

Để tiếp tục tối ưu hoá cho việc thu hút thêm người dùng, nhà phát triển nên chuyển hướng người dùng đến ứng dụng hoặc trò chơi thông thường của mình bằng đường liên kết sâu để chuyển hướng họ đến những hành trình hoặc tính năng cụ thể khi thích hợp.

Khi giảm kích thước ứng dụng để đáp ứng các yêu cầu về kích thước, trước tiên, hãy thử các kỹ thuật tối ưu hoá kích thước APK tiêu chuẩn. Nếu cần giảm kích thước hơn nữa, bạn có thể phải dựa vào việc phân phối tài sản trên đám mây. Tài liệu này mô tả cách chuẩn bị tài sản để phân phối trên đám mây và các lựa chọn hỗ trợ từ nhiều công cụ trò chơi. Mặc dù hướng dẫn trên trang này tập trung vào trò chơi, nhưng các nguyên tắc này áp dụng cho mọi ứng dụng có chứa các thành phần lớn.

Chuẩn bị

Khi nghĩ đến việc chia ứng dụng để phân phối tài sản trên đám mây, hãy cân nhắc cách bạn có thể chia các tệp ứng dụng thành nhiều phần dựa trên thời điểm người dùng cần có các tệp đó. Thời gian này thường rơi vào 3 danh mục sau: luôn cần, cần khi khởi chạy và cần sau này.

Luôn cần thiết

Một số thành phần khó tách thành các khối nhỏ hơn hoặc bắt buộc phải được gói trong APK cơ sở. Ví dụ: mã trò chơi của bạn và các phần phụ thuộc vào thư viện hoặc công cụ của mã đó. Mặc dù Google Play Core hỗ trợ các gói ứng dụng cho mã, nhưng nhiều công cụ không hỗ trợ mã được tải xuống sau.

Cần thiết khi ra mắt

Sau khi trò chơi bắt đầu, người dùng có thể chơi ngay. Google Play Instant yêu cầu người dùng có thể bắt đầu chơi trò chơi của bạn trong vòng chưa đầy 15 giây qua kết nối LTE hoặc 4G (xem danh sách kiểm tra Google Play Instant). Do đó, hãy giới hạn mọi lượt tải xuống thứ cấp sau khi khởi chạy chỉ ở mức cần thiết để hỗ trợ trải nghiệm ban đầu. Ví dụ: một lượt tải xuống theo sau nhanh chóng ngay sau khi khởi chạy có thể bao gồm cấp độ đầu tiên của trò chơi và tài sản vị trí, hoặc bất kỳ mã nào cần thiết để chạy vài phút đầu tiên của trò chơi.

Cần sau

Mọi thứ mà bạn có thể tải xuống sau, ở chế độ nền khi cần, sẽ thuộc danh mục này. Danh mục này bao gồm hầu hết các thành phần cho trò chơi dài. Việc tải các thành phần này xuống sau sẽ giúp giảm kích thước ứng dụng của bạn xuống mức nhỏ nhất có thể.

Hỗ trợ về động cơ

Phân phối tài sản trên đám mây là cách chính để cho phép trò chơi của bạn vượt quá giới hạn 15 MB đối với trò chơi Play tức thì. Khả năng hỗ trợ tải thành phần xuống sẽ khác nhau tuỳ theo công cụ phát triển trò chơi. Hãy xem các trường hợp phổ biến nhất bên dưới, cũng như các lựa chọn để lưu trữ thành phần.

Xin lưu ý rằng việc có ít tài sản cần thiết khi khởi chạy sẽ giúp người dùng tham gia trò chơi nhanh hơn, điều này giúp giảm tỷ lệ người dùng rời bỏ và tăng tỷ lệ giữ chân người chơi cho lần khởi chạy đầu tiên đó.

Play Feature Delivery (thông qua gói ứng dụng)

Nếu xuất bản ứng dụng dưới dạng gói ứng dụng (đây là phương thức ưu tiên), bạn có thể dùng mô-đun tính năng để tìm nạp thêm tài nguyên ngoài APK cơ sở. Đối với ứng dụng tức thì, mỗi mô-đun tính năng phải đặt dist:instant="true" trong tệp kê khai. Bạn không nên dùng thuộc tính dist:on-demand; thuộc tính này chủ yếu dùng cho các mô-đun theo yêu cầu trong APK đã cài đặt. Ngoài ra, mỗi mô-đun tính năng phải có kích thước dưới 15 MB (giới hạn kích thước của tệp APK tức thì), bất kể mô-đun đó có chứa mã hay không. Nếu không duy trì mỗi mô-đun dưới hạn mức này, bạn sẽ không thể xuất bản lên kênh phát hành công khai hoặc kênh alpha. Sau khi định cấu hình đúng cách, bạn có thể tìm nạp các mô-đun tính năng trong thời gian chạy bằng thư viện PlayCore.

Cocos Creator

Cocos đã hỗ trợ tính năng phân phối nội dung trên đám mây kể từ phiên bản v2.0.4. Cocos tải tài sản xuống theo yêu cầu, hiển thị phần giữ chỗ nếu tài sản chưa được tải xuống kịp thời. Cocos tạo các tệp tài sản phải được lưu trữ bằng một số dịch vụ trực tuyến vì Cocos không cung cấp dịch vụ nào của riêng mình.

Unity

Tính năng phân phối trên đám mây được hỗ trợ trong Trình bổ trợ Google Play Instant của Unity cho Unity phiên bản 5.6, 2017.4 hoặc 2018.2. Các phiên bản Unity sau này mang lại nhiều lợi ích hơn cho việc loại bỏ công cụ, vì vậy, bạn nên di chuyển sang các phiên bản này để giải phóng thêm dung lượng. Các tài sản trên đám mây của Unity được lưu trữ trong các tệp AssetBundle mà Unity tạo cho bạn. Việc tải các thành phần này lên một máy chủ đám mây sẽ cho phép phân phối thành phần trên đám mây, vì Unity có khả năng hỗ trợ sẵn có cho việc tải gói thành phần xuống.

Các công cụ khác

Dù bạn sử dụng một công cụ tuỳ chỉnh hay một tập hợp các thư viện gốc, lựa chọn của bạn có thể hỗ trợ tải tài sản xuống từ đám mây ngay lập tức. Nếu có đủ tài sản mà bạn cần tải xuống từ đám mây, thì bạn sẽ cần mã hoá hoặc tích hợp một cách để tải tài sản xuống theo yêu cầu cho trò chơi của mình. Firebase Hosting hoặc API Cloud Storage của Firebase là những nơi phù hợp để bắt đầu. Một số công cụ cung cấp tính năng tìm nạp tệp HTTPS đơn giản, có thể đáp ứng nhu cầu của bạn.

Thành phần lưu trữ

Trừ phi bạn đang sử dụng gói ứng dụng của Google Play để tải tài sản xuống thông qua Play, nếu không bạn sẽ cần lưu trữ tài sản ở nơi khác. Bạn có thể lưu trữ các tệp này bằng bất kỳ dịch vụ nào bạn muốn, miễn là dịch vụ đó có phạm vi phân phối và mức độ sẵn có hợp lý trên toàn cầu. Người dùng ứng dụng Google Play Games chơi trò chơi trên khắp thế giới, vì vậy, các thành phần được lưu trữ trên đám mây cần được phân phối nhanh chóng cho họ ở bất kỳ vị trí nào.