升级派对是一个发现流程,每当 Android 用户收到主要操作系统升级时,都会向他们强调新功能。
Android 操作系统的重大升级可能会给用户带来平淡无奇的体验。升级方流程提高了用户参与度,并帮助用户了解如何导航新更新的操作系统。
升级到最新操作系统版本后,用户会收到推送通知,欢迎他们使用新操作系统,并展示具有新功能的卡片流程。
要为您的设备激活升级方,请使用请求激活 Android 升级方表格进行注册。
定制升级派对体验
您可以通过以下方式自定义升级派对体验:
- 删除不相关的功能。
- 更新文本块中的语言。
- 修改动画、颜色和字体以匹配您的品牌。
要自定义流程,请查看升级方风格指南中的指南,并在请求激活 Android 升级方表单中包含您的自定义信息。
升级邀请风格指南
使用此风格指南修改升级邀请外观以适合您自己的品牌(屏幕、颜色、字体)。我们强烈建议保持尺寸和结构接近原始设计。
升级邀请流程包含以下三个组成部分:
- 介绍画面
- 特色画面
- 片尾画面
每个屏幕上的动画有助于解释每个功能。
介绍画面
介绍屏幕包含一个简短的动画,欢迎用户并鼓励他们开始介绍屏幕上显示的流程。
布局

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

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

设备动画始终包含:
- 多彩背景
- 设备框架
- 用户界面内容
造型
- 选择与 UI 内容和总体外观相匹配的背景颜色。
- 在屏幕内,设置易于辨认的字体大小。如果需要,请设置更大的字体大小。
运动
记录每个功能流程的动画,包括触摸交互。将录音导出为Lottie 文件。
片尾画面
结尾屏幕完成了流程。它向用户表明他们已经浏览了所有屏幕。
布局

设备动画始终包含:
- 背景上的半圆(加上动画形状)
- 设备框架
- 用户界面内容
造型
- 选择与 UI 内容和总体外观相匹配的背景颜色。
- 使用半圆形。
运动
遵循标准的片尾屏幕动画流程:
- 手机向上移动了一点。
- 背景中出现一个圆圈。
- 形状从手机后面出现。
- 这些形状像五彩纸屑一样从背景中飞出。
![]() | ![]() |
使用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.0.0-eap.aar') }
包含以下库作为依赖项:
com.google.android.gms:play-services-base:17.6.0 com.google.android.gms:play-services-basement:17.6.0 com.google.android.gms:play-services-tasks:17.2.1
使用API
要初始化客户端,请使用
UpgradeParty
类并设置activity
参数。import com.google.android.gms.growth.UpgradeParty; UpgradeParty.getClient(activity);
生成的UpgradePartyClient
公开了 API 功能。
是有资格升级的一方
Task<Boolean> isEligibleForUpgradeParty();
返回一个Task
对象,该对象异步验证用户是否有资格参加升级方。生成的布尔值指示用户是否符合资格。
调用UpgradeParty
Task<Void> invokeUpgradeParty();
调用升级方Activity
。生成的Task
对象指示启动活动时是否发生错误。
错误
这两种 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 Upgrade Party 在运行 Android 12 操作系统的设备上运行。