Upgrade Party 是一个发现流程,可在 Android 用户收到重大操作系统升级时向其重点介绍新功能。
重大的 Android 操作系统升级可能不会给您的用户留下深刻的印象。Upgrade Party 流程可提高用户互动度,并帮助用户了解如何浏览新升级的操作系统。
升级到最新操作系统版本后,用户会收到推送通知,该通知会欢迎他们使用新操作系统并展示包含新功能的卡片流程。
如需为您的 Android OS 启用 Upgrade Party,请使用请求激活 Android Upgrade Party 表单进行注册。
自定义 Upgrade Party 体验
您可以通过以下方式自定义 Upgrade Party 体验:
- 移除不相关的功能。
- 更新文本块中的语言。
- 修改动画、颜色和字体,使其契合您的品牌风格。
如需自定义该流程,请查看“Upgrade Party 风格指南”中的准则,并在请求激活 Android Upgrade Party 表单中添加您的自定义信息。
升级邀请风格指南
使用本风格指南修改升级邀请的外观,使其契合您自己的品牌风格(屏幕、颜色、字体)。我们强烈建议您保持尺寸和结构与原始设计接近。
升级邀请流程包含以下三个组件:
- 简介屏幕
- 功能屏幕
- 结语屏幕
每种屏幕上的动画都有助于说明各项功能。
简介屏幕
简介屏幕包含一段简短动画,该动画会对用户表示欢迎并鼓励他们启动简介屏幕上显示的流程。
布局
设备动画始终包括:
- 白色背景和彩色形状
- 设备框架
- 界面内容
样式
如果您选择调整 Material You 样式,可以使用示例中显示的默认颜色和形状。
如果您使用自己的品牌颜色,请确保该颜色与界面背景相得益彰。
动画
选项 1:在主屏幕上显示时钟
- 数字进入屏幕。
- 数字向中心移动,同时尺寸变小。系统显示手机框架。
- 手机尺寸变小。若干形状开始进入屏幕。
- 动画播放完毕。这些形状不断轻微移动。
选项 2:不在主屏幕上显示时钟
- 手机进入屏幕。
- 手机向中心移动,同时尺寸变大。若干形状开始进入屏幕。
- 手机达到最大尺寸,这些形状不断移动。
功能屏幕
每个功能屏幕都会重点介绍新操作系统中的一项功能。
布局
设备动画始终包括:
- 彩色背景
- 设备框架
- 界面内容
样式
- 选择与界面内容和常规外观相得益彰的背景颜色。
- 在屏幕内,设置清晰可辨的字体大小。如果需要,可设置较大的字体大小。
动画
为每项功能的流程录制动画,包括轻触互动。 将录制内容导出为 Lottie 文件。
结语屏幕
结语屏幕会结束该流程。它会告知用户已浏览完所有屏幕。
布局
设备动画始终包括:
- 背景中的半圆(外加若干动画形状)
- 设备框架
- 界面内容
样式
- 选择与界面内容和常规外观相得益彰的背景颜色。
- 使用半圆形状。
动画
遵循标准的结语屏幕动画流程:
- 手机稍微向上移动。
- 背景中出现一个圆圈。
- 若干形状从手机后方出现。
- 这些形状像五彩纸屑一样飞出背景。
通过 SDK 触发 Upgrade Party
默认情况下,Android OS 会在用户升级时立即向其发送推送通知,以展示包含最新功能的卡片流程。如果您希望通过自己的推送通知或应用触发该流程,请使用 Android SDK。
前提条件
确保您应用的 build 文件使用以下值:
minSdkVersion
为 14 或更高版本compileSdkVersion
为 28 或更高版本
配置您的应用
- 从提供的 ZIP 文件中解压库,并将其放入代码库中。
将 Google Growth SDK 的依赖项添加到模块的应用级 Gradle 文件(通常为
app/build.gradle
)中:dependencies { implementation files('<PATH_TO_BINARY>/play-services-growth-16.1.0-eap04.aar') }
将以下库添加为依赖项:
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
使用 API
如需初始化客户端,请使用
UpgradeParty
类并设置activity
参数。import com.google.android.gms.growth.UpgradeParty; UpgradeParty.getClient(activity);
生成的 UpgradePartyClient
会提供 API 功能。
isEligibleForUpgradeParty
Task<Boolean> isEligibleForUpgradeParty();
返回 Task
对象,用于异步验证用户是否符合 Upgrade Party 条件。生成的布尔值表示用户是否符合条件。
invokeUpgradeParty
Task<Void> invokeUpgradeParty();
调用 Upgrade Party Activity
。生成的 Task
对象会指明在启动 activity 时是否出现了错误。
错误
这两种 API 方法都可能会失败,显示 com.google.android.gms.common.api.ApiException
类型的异常。在这些情况下,调用方应稍后重试。
常见的状态代码包括:
INTERNAL_ERROR
:表示底层逻辑流程中的任何错误。TIMEOUT
:在无法及时处理请求时显示。API_NOT_CONNECTED
:表示 API 不可用(例如,UpgradeParty
模块尚未准备就绪)。DEVELOPER_ERROR
:在发起调用的软件包无法访问UpgradeParty
类时显示。
SDK 示例
请参阅调用 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 startUpgradePartyButton = findViewById(R.id.__some_button__);
startUpgradePartyButton.setVisibility(View.GONE);
// Register an onClick handler to invoke the Upgrade Party Activity
startUpgradePartyButton
.setOnClickListener(
view -> {
client
.invokeUpgradeParty()
.addOnCompleteListener(
task -> {
if (!task.isSuccessful()) {
// Do something with error, see task.getException()
}
});
});
}
// Check if eligible for an Upgrade Party
client
.isEligibleForUpgradeParty()
.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;
startUpgradePartyButton..setVisibility(visibility);
}
});
}
测试 Upgrade Party 流程
按照以下步骤测试用户在升级 Android OS 时会看到的 Upgrade Party 流程:
- 在测试 Android 设备上,依次转到设置 > Google > Upgrade Party 调试。
- 选择报告升级,然后选择打开 Upgrade Party。系统将根据设备操作系统版本启动相关流程。例如,Android 12 Upgrade Party 会在搭载 Android 12 操作系统的设备上播放。