Lời mời nâng cấp là một quy trình người dùng giới thiệu các tính năng mới chính có trong bản nâng cấp hệ điều hành Android chính hiện có.
Quy trình này nhằm mục đích giúp thuyết phục người dùng nâng cấp thiết bị lên phiên bản hệ điều hành mới nhất.
Khi một thiết bị có bản nâng cấp hệ điều hành đang chờ người dùng phê duyệt, người dùng sẽ nhận được một thông báo đẩy cho biết các tính năng mới và mời họ thực hiện nâng cấp.
Nhà sản xuất thiết bị có thể bật Upgrade Party cho các thiết bị chạy hệ điều hành Android bằng cách gửi biểu mẫu Yêu cầu kích hoạt lời mời nâng cấp Android.
Tuỳ chỉnh lời mời nâng cấp
Bạn có thể tuỳ chỉnh trải nghiệm Lời mời nâng cấp theo các cách sau:
- Xoá các tính năng không liên quan.
- Cập nhật ngôn ngữ trong các khối văn bản.
- Sửa đổi ảnh động, màu sắc và phông chữ cho phù hợp với thương hiệu của bạn.
Để tuỳ chỉnh quy trình, hãy xem các nguyên tắc trong Hướng dẫn về kiểu lời mời nâng cấp và thêm thông tin tuỳ chỉnh vào câu trả lời trong biểu mẫu.
Hướng dẫn về kiểu lời mời nâng cấp
Sử dụng hướng dẫn về kiểu này để sửa đổi giao diện của Lời mời nâng cấp cho phù hợp với thương hiệu của riêng bạn (màn hình, màu sắc, phông chữ). Bạn nên giữ kích thước và cấu trúc gần với thiết kế ban đầu.
Quy trình Mời nâng cấp có 3 thành phần sau:
- Màn hình giới thiệu
- Màn hình tính năng
- Màn hình kết thúc
Ảnh động trên mỗi màn hình giúp giải thích từng tính năng.
Màn hình giới thiệu
Màn hình giới thiệu chứa một ảnh động ngắn chào mừng người dùng và khuyến khích họ bắt đầu quy trình xuất hiện trên màn hình giới thiệu.
Bố cục
Ảnh động trên thiết bị luôn bao gồm:
- Nền trắng và các hình dạng đầy màu sắc
- Khung thiết bị
- Nội dung giao diện người dùng
Tạo kiểu
Nếu chọn điều chỉnh kiểu Material You, bạn có thể sử dụng màu sắc và hình dạng mặc định như trong ví dụ.
Nếu bạn sử dụng màu thương hiệu của riêng mình, hãy đảm bảo rằng màu đó phù hợp với nền giao diện người dùng.
Chuyển động
Cách 1: Có đồng hồ trên màn hình chính
- Các con số xuất hiện trên màn hình.
- Các con số sẽ di chuyển vào giữa và giảm kích thước. Khung điện thoại di động sẽ xuất hiện.
- Điện thoại giảm kích thước. Các hình dạng bắt đầu xuất hiện trên màn hình.
- Ảnh động đã hoàn tất. Các hình dạng này vẫn tiếp tục di chuyển nhẹ nhàng.
|
|
Cách 2: Không có đồng hồ trên màn hình chính
- Điện thoại di động xuất hiện trên màn hình.
- Điện thoại di chuyển vào giữa và tăng kích thước. Các hình dạng bắt đầu xuất hiện trên màn hình.
- Điện thoại đạt đến kích thước tối đa và các hình dạng tiếp tục di chuyển.
|
|
Màn hình tính năng
Mỗi màn hình tính năng đều làm nổi bật một tính năng trong hệ điều hành mới.
Bố cục
Ảnh động trên thiết bị luôn bao gồm:
- Nền nhiều màu
- Khung thiết bị
- Nội dung giao diện người dùng
Tạo kiểu
- Chọn màu nền phù hợp với nội dung trên giao diện người dùng và giao diện chung.
- Trong các màn hình, hãy đặt cỡ chữ dễ đọc. Nếu cần, hãy đặt cỡ chữ lớn hơn.
Chuyển động
Ghi lại ảnh động về quy trình của từng tính năng, bao gồm cả các hoạt động tương tác bằng thao tác chạm. Xuất bản ghi âm dưới dạng tệp Lottie.
Màn hình kết thúc
Màn hình kết thúc sẽ hoàn tất quy trình. Thông báo cho người dùng biết rằng họ đã xem hết tất cả các màn hình.
Bố cục
Ảnh động trên thiết bị luôn bao gồm:
- Hình bán nguyệt trên nền (cùng với các hình dạng động)
- Khung thiết bị
- Nội dung giao diện người dùng
Tạo kiểu
- Chọn màu nền phù hợp với nội dung trên giao diện người dùng và giao diện chung.
- Sử dụng hình bán nguyệt.
Chuyển động
Làm theo quy trình chuẩn về ảnh động cho màn hình kết thúc:
- Điện thoại di động di chuyển lên một chút.
- Một vòng tròn xuất hiện ở nền.
- Các hình dạng xuất hiện từ phía sau điện thoại di động.
- Các hình dạng bay ra khỏi nền như hoa giấy.
|
|
Kiểm thử Quy trình mời nâng cấp
- Trên thiết bị Android, hãy chuyển đến phần: Cài đặt > Google > Gỡ lỗi Upgrade Party.
- Chuẩn bị điều kiện kích hoạt Lời mời nâng cấp cho hệ điều hành thiết bị có liên quan (tuỳ thuộc vào phiên bản hệ điều hành hiện tại và quy trình Lời mời nâng cấp cụ thể cần kiểm thử). Hoặc:
- Nhấp vào Write Fake upgrade (current version) (Viết nội dung nâng cấp giả (phiên bản hiện tại)). (ví dụ: nếu bạn chạy hệ điều hành Android 13, quy trình này sẽ kích hoạt quy trình kiểm thử Android 13)
- Nhấp vào Write pending upgrade (current version + 1) (Ghi bản nâng cấp đang chờ xử lý (phiên bản hiện tại + 1)). (ví dụ: nếu bạn chạy hệ điều hành Android 12, thao tác này sẽ kích hoạt quy trình kiểm thử Android 13)
- Nhấp vào Báo cáo việc nâng cấp hệ điều hành
- Nhấp vào thông báo bạn nhận được hoặc nhấp vào Mở lời mời nâng cấp.
Các lựa chọn kích hoạt lời mời nâng cấp
Có 3 cách để kích hoạt quy trình Mời nâng cấp: 1. tự động 2. phát sóng 3. SDK Dịch vụ Play được kích hoạt
Tự động – Thông báo do Google kích hoạt (chỉ dành cho các thiết bị chạy gOTA)
Đối với các thiết bị OEM chạy gOTA, quá trình tích hợp sẽ diễn ra tự động và không cần các bước tích hợp Lời mời nâng cấp. Sau khi phát hiện thấy một bản nâng cấp hệ điều hành chính đang chờ xử lý, dịch vụ Google Play sẽ gửi thông báo đẩy đến thiết bị, dẫn đến quy trình Mời nâng cấp.
Thông báo truyền tin trên Android – Thông báo do Google kích hoạt (Nên dùng)
Thông báo truyền tin của ứng dụng là cách đơn giản nhất và được đề xuất để tích hợp quy trình Mời nâng cấp.
Bộ nhận tín hiệu truyền tin cho phép bạn kích hoạt quy trình Lời mời nâng cấp từ ứng dụng bằng cách sử dụng một thông báo truyền tin. Thông báo truyền tin sẽ gửi một thông báo đẩy đến thiết bị từ Dịch vụ Google Play, dẫn đến quy trình Lời mời nâng cấp.
Điều kiện tiên quyết để truyền phát
Để chuẩn bị cho ứng dụng của bạn, hãy hoàn tất các bước trong những phần sau.
Đảm bảo rằng các tệp cấu hình của ứng dụng sử dụng các giá trị sau:
- minSdkVersion từ 14 trở lên
- compileSdkVersion từ 28 trở lên
- Một usesPermission của android.permission.RECOVERY
Gửi thông báo
Xem hướng dẫn bên dưới để ứng dụng (hoặc mã) của OEM gửi thông báo truyền tin Android nhằm kích hoạt thông báo đẩy:
Gửi tín hiệu truyền tin bằng thao tác này.
com.google.android.gms.growth.upgradeparty.upgradeinvite.ACTION_SYSTEM_UPDATEThêm gói
com.google.android.gmsvào thông báo truyền tin.com.google.android.gms
Yêu cầu khác
Quy trình Mời nâng cấp cũng cho phép người dùng thực hiện nâng cấp hệ điều hành ngay trong quy trình này.
Để việc này hoạt động, hãy hiển thị một ý định tuỳ chỉnh mà Google có thể gọi từ quy trình Lời mời nâng cấp để kích hoạt việc tải bản cập nhật xuống.
Ví dụ về cách sử dụng tính năng truyền phát
Hãy xem ví dụ sau đây về thông báo truyền tin của ứng dụng:
Context context = getApplicationContext();
Intent upgradeInviteIntent = new Intent()
.setAction( "com.google.android.gms.growth.upgradeparty.upgradeinvite.ACTION_SYSTEM_UPDATE")
.setPackage("com.google.android.gms");
.putExtra("com.google.android.gms.growth.upgradeparty.upgradeinvite.EXTRA_PENDING_ANDROID_OS_VERSION_NUMBER", 14);
context.sendBroadcast(updateIntent);
Giá trị của khoá EXTRA_PENDING_ANDROID_OS_VERSION_NUMBER là một số nguyên cho biết phiên bản hệ điều hành đang chờ xử lý (trong ví dụ này, phiên bản Android sẽ được cài đặt là 14). Tham số này được dùng để xác định quy trình Lời mời nâng cấp nào sẽ được kích hoạt.
SDK Dịch vụ Play – chỉ kích hoạt quy trình
SDK bên thứ ba cho phép bạn kích hoạt quy trình Lời mời nâng cấp từ ứng dụng hoặc thông báo OTA của riêng bạn. Sử dụng API bên ngoài của bên thứ ba để kích hoạt chính quy trình Lời mời nâng cấp. Bạn không nên sử dụng phương thức này.
Điều kiện tiên quyết
Để chuẩn bị cho ứng dụng của bạn, hãy hoàn tất các bước trong những phần sau.
Hãy đảm bảo tệp bản dựng của ứng dụng sử dụng các giá trị sau:
- minSdkVersion từ 14 trở lên
- compileSdkVersion từ 28 trở lên
Định cấu hình ứng dụng
Cách định cấu hình ứng dụng:
1. Extract the library from the provided .zip file, and place it in your
kho lưu trữ.
2. Thêm các phần phụ thuộc cho Google Growth SDK vào tệp Gradle ở cấp ứng dụng trong mô-đun của bạn, thường là app/build.gradle:
dependencies {
implementation files('<PATH_TO_BINARY>/play-services-growth-16.1.0-eap04.aar')
}
Để cung cấp các phần phụ thuộc của ứng dụng, hãy thêm các thư viện sau:
com.google.android.gms:play-services-base:18.0.1 com.google.android.gms:play-services-basement:18.0.0 com.google.android.gms:play-services-tasks:18.0.1
Khởi chạy API
Để khởi tạo một ứng dụng, hãy dùng lớp UpgradeParty:
import com.google.android.gms.growth.UpgradeParty; UpgradeParty.getClient(activity);Tham số hoạt động phải là đối tượng Activity khởi tạo.
Các hàm API
UpgradePartyClient thu được sẽ cung cấp những chức năng sau.
isEligibleForUpgradeInvite
import com.google.android.gms.growth.UpgradeInviteEligibilityParams;
Task<Boolean> isEligibleForUpgradeInvite(UpgradeInviteEligibilityParams params);
/** Contains parameters for the eligibility query. */
class UpgradeInviteEligibilityParams {
/** Integer indicating the pending OS version (in this example, the Android version to be installed is 14). This is used to determine which Upgrade Invite flow will be triggered. */
int pendingAndroidOsVersionNumber;
}
Trả về một Task (Tác vụ) xác minh không đồng bộ xem người dùng có đủ điều kiện nhận Lời mời nâng cấp hay không. Giá trị boolean thu được cho biết người dùng có đủ điều kiện hay không.
invokeUpgradeInvite
Task<Void> invokeUpgradeInvite();
Gọi Hoạt động mời nâng cấp. Đối tượng _Task _ kết quả cho biết liệu có xảy ra lỗi khi bắt đầu hoạt động hay không.
Mã lỗi
Cả hai phương thức API đều có thể gặp lỗi với một ngoại lệ thuộc loại com.google.android.gms.common.api.ApiException. Trong những trường hợp như vậy, người gọi dự kiến sẽ thử lại vào lúc khác. Các mã trạng thái phổ biến) dự kiến bao gồm:
- INTERNAL_ERROR – cho mọi lỗi trong quy trình logic cơ bản
- TIMEOUT – nếu yêu cầu không được xử lý kịp thời
- API_NOT_CONNECTED – khi API không hoạt động (tức là mô-đun UpgradeParty chưa sẵn sàng)
- NETWORK_ERROR – không thể xử lý yêu cầu do lỗi mạng
- DEVELOPER_ERROR – gói gọi không được phép truy cập vào UpgradeParty API
Ví dụ về cách sử dụng SDK
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import com.google.android.gms.growth.UpgradeParty;
import com.google.android.gms.growth.UpgradePartyClient;
public class SampleActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final UpgradePartyClient client = UpgradeParty.getClient(this);
// Hide the invocation button initially
View startUpgradeInviteButton = findViewById(R.id.__some_button__);
startUpgradeInviteButton.setVisibility(View.GONE);
// Register an onClick handler to invoke the Upgrade Party Activity
startUpgradeInviteButton
.setOnClickListener(
view -> {
client
.invokeUpgradeInvite()
.addOnCompleteListener(
task -> {
if (!task.isSuccessful()) {
// Do something with error, see task.getException()
}
});
});
}
// Check if eligible for an Upgrade Party
client
.isEligibleForUpgradeInvite()
.addOnCompleteListener(
task -> {
if (!task.isSuccessful()) {
// Do something with error, see task.getException()
} else {
// Show/Hide invocation button, based on the result
int visibility =
task.getResult() ? View.VISIBLE : View.GONE;
startUpgradeInviteButton.setVisibility(visibility);
}
});
}