OS 업데이트용 Android 업그레이드 파티

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

업그레이드 파티는 Android 사용자에게 주요 OS 업그레이드가 제공될 때마다 새로운 기능을 강조표시하는 검색 흐름입니다.

Android 운영체제의 주요 업그레이드는 사용자에게 부담을 줄 수 있습니다. 업그레이드 파티 흐름은 사용자 참여도를 높이고 사용자가 새롭게 단장된 OS를 어떻게 탐색해야 하는지 파악하는 데 도움을 줍니다.

최신 OS 버전으로 업그레이드하면 새로운 OS의 환영 메시지 및 새로운 기능이 포함된 카드 흐름을 보여주는 푸시 알림이 전송됩니다.

기기의 업그레이드 파티를 활성화하려면 Android 업그레이드 파티 활성화 요청 양식을 사용하여 등록하세요.

업그레이드 파티 환경 맞춤설정

다음과 같은 방법으로 업그레이드 파티 환경을 맞춤설정할 수 있습니다.

  • 관련 없는 기능을 삭제합니다.
  • 텍스트 블록의 표현을 업데이트합니다.
  • 브랜드에 맞게 애니메이션, 색상, 글꼴을 수정합니다.

흐름을 맞춤설정하려면 업그레이드 파티 스타일 가이드의 가이드라인을 검토하고 Android 업그레이드 파티 활성화 요청 양식에 맞춤설정 정보를 제공하세요.

업그레이드 파티 스타일 가이드

이 스타일 가이드를 사용하여 자체 브랜드(화면, 색상, 글꼴)에 맞게 업그레이드 파티 디자인을 수정하세요. 크기와 구조를 기존 디자인과 비슷하게 유지하는 것이 좋습니다.

업그레이드 파티 플로우에는 다음과 같은 세 가지 구성요소가 있습니다.

  • 인트로 화면
  • 기능 화면
  • 아우트로 화면
그림 1. 업그레이드 파티 플로우의 세 가지 화면 유형

화면마다 표시되는 애니메이션은 각각의 기능을 설명하는 데 도움이 됩니다.

인트로 화면

인트로 화면에는 사용자를 환영하고 사용자에게 인트로 화면에 표시되는 흐름을 시작하도록 권하는 짧은 애니메이션이 포함되어 있습니다.

레이아웃
그림 2. 업그레이드 파티 인트로 화면 와이어프레임 레이아웃

기기 애니메이션은 항상 다음과 같이 구성됩니다.

  • 흰색 배경과 다채로운 색상의 도형
  • 기기 프레임
  • UI 콘텐츠
스타일

Material You 스타일을 선택하면 예시에 표시된 기본 색상과 도형을 사용할 수 있습니다.

그림 3. 업그레이드 파티 플로우의 기본 색 구성표입니다.

자체 브랜드 색상을 사용하는 경우 UI 배경에서 잘 작동하는지 확인하세요.

움직임

옵션 1: 홈 화면에 시계 표시

  1. 화면에 숫자가 들어옵니다.
  2. 숫자의 크기가 점점 줄어들면서 가운데로 이동합니다. 휴대전화 프레임이 나타납니다.
  3. 휴대전화의 크기가 줄어듭니다. 도형이 화면에 들어가기 시작합니다.
  4. 애니메이션이 완료됩니다. 도형이 계속 부드럽게 움직입니다.
그림 4. 시계가 있는 인트로 화면 애니메이션이 표시되는 업그레이드 파티 와이어프레임 레이아웃
그림 5. 시계가 있는 인트로 화면의 애니메이션 예시

옵션 2: 홈 화면에 시계 없음

  1. 휴대전화가 화면에 들어옵니다.
  2. 휴대전화의 크기가 점점 커지면서 가운데로 이동합니다. 도형이 화면에 들어가기 시작합니다.
  3. 휴대전화가 최대 크기에 도달하고 모양이 계속 움직입니다.
그림 6. 시계가 없는 인트로 화면 애니메이션이 표시되는 업그레이드 파티 와이어프레임 레이아웃
그림 7. 시계가 없는 인트로 화면의 애니메이션 예시

기능 화면

각각의 기능 화면에서는 새로운 OS의 기능이 강조표시됩니다.

레이아웃
그림 8. 업그레이드 파티 기능 화면 와이어프레임 레이아웃

기기 애니메이션은 항상 다음과 같이 구성됩니다.

  • 다채로운 색상의 배경
  • 기기 프레임
  • UI 콘텐츠
스타일
  • UI 콘텐츠와 일반적인 디자인에 잘 어울리는 배경 색상을 선택합니다.
  • 화면 내부에 잘 읽히는 글꼴 크기를 설정합니다. 필요한 경우 큰 글꼴 크기를 설정합니다.
움직임

터치 상호작용을 포함하여 각 기능 흐름의 애니메이션을 녹화합니다. 녹화 파일을 Lottie files로 내보냅니다.

아우트로 화면

아우트로 화면에서 흐름이 완료되며 사용자에게 모든 화면을 확인했음을 나타냅니다.

레이아웃
그림 9. 업그레이드 파티 아우트로 화면 와이어프레임 레이아웃

기기 애니메이션은 항상 다음과 같이 구성됩니다.

  • 반원이 있는 배경(+ 도형 애니메이션)
  • 기기 프레임
  • UI 콘텐츠
스타일
  • UI 콘텐츠와 일반적인 디자인에 잘 어울리는 배경 색상을 선택합니다.
  • 반원 모양을 사용합니다.
움직임

다음의 표준 아우트로 화면 애니메이션 흐름을 따릅니다.

  1. 휴대전화가 약간 위로 이동합니다.
  2. 배경에 원이 표시됩니다.
  3. 도형은 휴대전화 뒤에 표시됩니다.
  4. 도형은 색종이 조각처럼 배경에서 날아갑니다.
그림 10. 업그레이드 파티 아우트로 화면 애니메이션 와이어프레임 레이아웃
그림 11. 아우트로 화면 애니메이션의 예

SDK를 사용해 업그레이드 파티 트리거

기본적으로 Android OS는 업그레이드되는 즉시 사용자에게 최신 기능이 포함된 카드 흐름이 있는 푸시 알림을 전송합니다. 자체 푸시 알림 또는 앱에서 흐름을 트리거하려면 Android SDK를 사용하세요.

기본 요건

앱의 빌드 파일이 다음 값을 사용하는지 확인합니다.

  • minSdkVersion 14 이상
  • compileSdkVersion 28 이상

앱 구성

  1. 제공된 Zip 파일에서 라이브러리를 추출하고 저장소에 저장합니다.
  2. 모듈의 앱 수준 Gradle 파일(일반적으로 app/build.gradle)에 Google Growth SDK의 종속 항목을 추가합니다.

     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 기능을 노출합니다.

isEligibileForUpgradeParty

Task<Boolean> isEligibleForUpgradeParty();

사용자가 업그레이드 파티 대상인지 비동기적으로 확인하는 Task 객체를 반환합니다. 결과로 도출되는 불리언 값은 사용자가 자격요건을 충족하는지 나타냅니다.

InvokeUpgradeParty

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 OS를 업그레이드할 때 표시되는 업그레이드 파티 흐름을 테스트합니다.

  1. Android 기기 테스트에서 설정 > Google > 업그레이드 파티 디버그로 이동합니다.
  2. 업그레이드 보고를 선택한 후 업그레이드 파티 열기를 선택합니다. 그러면 기기 OS 버전에 따라 관련 흐름이 시작됩니다. 예를 들어 Android 12 업그레이드 파티는 Android 12 OS를 실행하는 기기에서 재생됩니다.