升级派对是一个探索流程,旨在每当 Android 用户收到主要操作系统升级时,突出显示新功能。
对于您的用户而言,主要的 Android 操作系统升级可能是一次平淡无奇的体验。“升级派对”流程可以提高用户参与度,并帮助用户了解如何浏览他们新刷新的操作系统。
升级到最新的操作系统版本后,用户会收到推送通知,欢迎他们使用新的操作系统,并展示包含新功能的卡片流。
设备制造商可以通过提交激活 Android 升级派对请求表单,为其 Android 操作系统设备启用“升级派对”。
自定义“升级派对”体验
您可以通过以下方式自定义“升级派对”体验
- 移除不相关的功能。
- 更新文本块中的语言。
- 修改动画、颜色和字体以匹配您的品牌。
要自定义流程,请查看《升级派对风格指南》中的准则,并将您的自定义信息包含在表单回复中。
升级邀请风格指南
使用本风格指南修改“升级邀请”的外观,使其适合您自己的品牌(屏幕、颜色、字体)。我们强烈建议您保持尺寸和结构与原始设计接近。
“升级邀请”流程包含以下三个组件
- 介绍屏幕
- 功能屏幕
- 结束屏幕
每个屏幕上的动画都有助于解释每个功能。
介绍屏幕
介绍屏幕包含一个简短的动画,欢迎用户并鼓励他们开始介绍屏幕上显示的流程。
布局

设备动画始终包含以下内容
- 白色背景和彩色形状
- 设备框架
- 界面内容
样式
如果您选择采用Material You 样式,则可以使用示例中显示的默认颜色和形状。

如果您使用自己的品牌颜色,请确保它与界面背景搭配良好。
动画
选项 1:主屏幕上带有时钟
- 数字进入屏幕。
- 数字移至中心,同时尺寸减小。手机框架出现。
- 手机尺寸减小。形状开始进入屏幕。
- 动画完成。形状保持轻微移动。
![]() |
![]() |
选项 2:主屏幕上没有时钟
- 手机进入屏幕。
- 手机移至中心,同时尺寸增大。形状开始进入屏幕。
- 手机达到最大尺寸,形状保持移动。
![]() |
![]() |
功能屏幕
每个功能屏幕都突出显示新操作系统中的一项功能。
布局

设备动画始终包含以下内容
- 彩色背景
- 设备框架
- 界面内容
样式
- 选择与界面内容和整体外观搭配良好的背景颜色。
- 在屏幕内部,设置易于辨认的字体大小。如果需要,请设置更大的字体大小。
动画
录制每个功能流程的动画,包括触摸互动。将录制内容导出为 Lottie 文件。
结束屏幕
结束屏幕完成流程。它向用户表明他们已浏览完所有屏幕。
布局

设备动画始终包含以下内容
- 背景上的半圆(加上动画形状)
- 设备框架
- 界面内容
样式
- 选择与界面内容和整体外观搭配良好的背景颜色。
- 使用半圆形形状。
动画
遵循标准的结束屏幕动画流程
- 手机稍微向上移动。
- 背景中出现一个圆圈。
- 形状从手机后面升起。
- 形状像五彩纸屑一样从背景中飞出。
![]() |
![]() |
使用 SDK 触发“升级派对”
默认情况下,Android 操作系统会在用户升级后立即向其发送推送通知,其中展示包含最新功能的卡片流。如果您希望从您自己的推送通知或应用触发流程,请使用 Android SDK。
前提条件
确保您应用的构建文件使用以下值
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
对象,该对象异步验证用户是否有资格参加“升级派对”。生成的布尔值指示用户是否有资格参加。
invokeUpgradeParty
Task<Void> invokeUpgradeParty();
调用“升级派对”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);
}
});
}
测试“升级派对”流程
按照以下步骤测试您的用户在升级 Android 操作系统时看到的“升级派对”流程
- 在测试 Android 设备上,转到设置 > Google > 升级派对调试。
- 选择报告升级,然后选择打开升级派对。这将根据设备操作系统版本启动相关流程。例如,Android 12 操作系统上会播放 Android 12 升级派对。