面向操作系统更新的 Android Upgrade Party

升级派对是一个发现流程,每当 Android 用户收到主要操作系统升级时,都会向他们强调新功能。

Android 操作系统的重大升级可能会给用户带来平淡无奇的体验。升级方流程提高了用户参与度,并帮助用户了解如何导航新更新的操作系统。

升级到最新操作系统版本后,用户会收到推送通知,欢迎他们使用新操作系统,并展示具有新功能的卡片流程。

要为您的设备激活升级方,请使用请求激活 Android 升级方表格进行注册。

定制升级派对体验

您可以通过以下方式自定义升级派对体验:

  • 删除不相关的功能。
  • 更新文本块中的语言。
  • 修改动画、颜色和字体以匹配您的品牌。

要自定义流程,请查看升级方风格指南中的指南,并在请求激活 Android 升级方表单中包含您的自定义信息。

升级邀请风格指南

使用此风格指南修改升级邀请外观以适合您自己的品牌(屏幕、颜色、字体)。我们强烈建议保持尺寸和结构接近原始设计。

升级邀请流程包含以下三个组成部分:

  • 介绍画面
  • 特色画面
  • 片尾画面
图 1.升级邀请流程中的三种屏幕类型

每个屏幕上的动画有助于解释每个功能。

介绍画面

介绍屏幕包含一个简短的动画,欢迎用户并鼓励他们开始介绍屏幕上显示的流程。

布局
图 2.升级邀请介绍屏幕的线框布局

设备动画始终包含:

  • 白色背景和彩色形状
  • 设备框架
  • 用户界面内容
造型

如果您选择调整Material You样式,则可以使用示例中显示的默认颜色和形状。

图 3.升级邀请流程的默认配色方案。

如果您使用自己的品牌颜色,请确保它与 UI 背景配合良好。

运动

选项 1:在主屏幕上显示时钟

  1. 数字进入屏幕。
  2. 数字向中心移动,同时尺寸减小。出现手机边框。
  3. 手机尺寸变小。形状开始进入屏幕。
  4. 动画完成。形状不断轻轻移动。
图 4.带有时钟的升级邀请介绍屏幕动画的线框布局。
图 5.带有时钟的介绍屏幕的示例动画。

选项 2:主屏幕上没有时钟

  1. 手机进入画面。
  2. 手机向中心移动,同时尺寸增大。形状开始进入屏幕。
  3. 手机达到最大尺寸,形状不断移动。
图 6.不带时钟的升级邀请介绍屏幕动画的线框布局。
图 7.没有时钟的介绍屏幕的示例动画。

特色画面

每个功能屏幕都会突出显示新操作系统中的一个功能。

布局
图 8.升级邀请功能屏幕的线框布局。

设备动画始终包含:

  • 多彩背景
  • 设备框架
  • 用户界面内容
造型
  • 选择与 UI 内容和总体外观相匹配的背景颜色。
  • 在屏幕内,设置易于辨认的字体大小。如果需要,请设置更大的字体大小。
运动

记录每个功能流程的动画,包括触摸交互。将录音导出为Lottie 文件

片尾画面

结尾屏幕完成了流程。它向用户表明他们已经浏览了所有屏幕。

布局
图 9.升级邀请结尾屏幕的线框布局。

设备动画始终包含:

  • 背景上的半圆(加上动画形状)
  • 设备框架
  • 用户界面内容
造型
  • 选择与 UI 内容和总体外观相匹配的背景颜色。
  • 使用半圆形。
运动

遵循标准的片尾屏幕动画流程:

  1. 手机向上移动了一点。
  2. 背景中出现一个圆圈。
  3. 形状从手机后面出现。
  4. 这些形状像五彩纸屑一样从背景中飞出。
图 10.升级邀请结尾屏幕动画的线框布局。
图 11.示例片尾屏幕动画。

使用SDK触发升级方

默认情况下,Android 操作系统会在用户升级后立即向用户发送推送通知,展示具有最新功能的卡流。如果您希望从自己的推送通知或应用程序触发流程,请使用 Android SDK。

先决条件

确保您的应用程序的构建文件使用以下值:

  • minSdkVersion为 14 或更高
  • compileSdkVersion为28或更高

配置您的应用程序

  1. 从提供的 Zip 文件中提取库,并将其放入您的存储库中。
  2. 将 Google Growth SDK 的依赖项添加到模块的应用程序级Gradle文件中,通常为app/build.gradle

     dependencies {
         implementation files('<PATH_TO_BINARY>/play-services-growth-16.0.0-eap.aar')
     }
    
  3. 包含以下库作为依赖项:

     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

  1. 要初始化客户端,请使用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 操作系统时看到的升级方流程:

  1. 在测试 Android 设备上,转到“设置”>“Google”>“升级方调试”
  2. 选择“报告升级” ,然后选择“打开升级方” 。这将根据设备操作系统版本启动相关流程。例如,Android 12 Upgrade Party 在运行 Android 12 操作系统的设备上运行。