앱이 동작 변경사항을 처리하는 방식 테스트

Wear OS 5 개발자 프리뷰는 Android 14 (API 수준 34)를 기반으로 하며 이는 Wear OS 4의 기반이 되는 버전 (Android 13 또는 API 수준 33)보다 최신 버전입니다. 따라서 Wear OS 5 개발자 프리뷰에서 사용할 Wear OS 앱을 준비할 때 Android 14의 모든 앱에 영향을 미치는 시스템 동작 변경사항Android 14를 타겟팅하는 앱의 변경사항을 처리해야 합니다.

모든 앱에 영향을 미치는 Wear OS 5 변경사항

다음 동작 변경사항은 Wear OS와 관련된 사용 사례 및 라이브러리에 영향을 미칩니다. 이러한 변경사항은 타겟 SDK 버전과 관계없이 Wear OS 5에서 실행되는 모든 앱에 영향을 미칩니다.

개인 정보 대시보드

Wear OS 5 개발자 미리보기에는 Android 12에서 휴대기기에서 처음 출시된 개인 정보 대시보드 지원이 추가되었습니다.

개인 정보 대시보드는 사용자에게 다음 세부정보를 포함하여 각 앱의 데이터 사용량에 관한 중앙 집중식 뷰를 제공합니다.

  • 위치, 마이크 등 액세스하는 데이터 유형입니다.
  • 해당 데이터 유형에 얼마나 최근에 액세스했는지 확인합니다.

사용자는 이 정보에 액세스하여 충분한 정보를 바탕으로 개인 정보에 계속 액세스할 수 있는 앱을 결정할 수 있습니다. 사용자의 신뢰를 유지하려면 책임감 있게 데이터를 사용하고 사용자 데이터를 수집하고 사용할 때 투명하게 공개해야 합니다.

대부분의 정보 표시 데이터 소스는 워치 페이스 형식을 사용해야 합니다.

Wear OS 5 개발자 프리뷰를 포함하여 향후 버전의 Wear OS에서 시계 화면은 워치 페이스 형식을 사용하여 사용자 데이터가 포함된 정보 표시를 지원해야 합니다. 워치 페이스 형식을 사용하도록 시계 화면을 업데이트하는 것이 좋습니다. 이러한 정보 표시 변경사항에 관해 자세히 알아보세요.

테스트 목적으로 일시적으로 변경 비활성화

이 기능은 기본적으로 사용하도록 설정되어 있습니다. 테스트 목적으로 이 변경사항에 해당하는 기능 플래그를 사용 중지하려면 다음 명령어를 사용하세요.

adb shell device_config put wear_services \
  com.google.wear.services.infra.flags.restrict_complications_flag false && \
  adb reboot

Android 14를 타겟팅하는 앱에 영향을 미치는 Wear OS 5 변경사항

다음 변경사항은 Wear OS 5 개발자 미리보기의 기반이 되는 버전인 타겟 SDK 버전을 Android 14로 업데이트하는 경우에만 앱에 영향을 미칩니다.

항상 켜져 있는 앱을 백그라운드로 이동할 수 있음

Wear OS 5 개발자 미리보기부터 시스템은 상시 사용 설정 앱이 일정 시간 동안 대기 모드에 표시된 후 백그라운드로 이동합니다. 사용자는 시스템 설정에서 제한 시간을 구성할 수 있습니다.

상시 사용 설정 앱에서 진행 중인 사용자 작업(예: 음악 재생 또는 운동 세션)에 관한 정보를 표시하는 경우 작업이 끝날 때까지 진행 중인 활동을 계속 표시하는 것이 좋습니다. 이렇게 하려면 Ongoing Activity API를 사용하여 상시 사용 설정 활동에 연결된 진행 중인 알림을 게시하세요.

시스템에서 진행 중인 활동을 인식하려면 다음 코드 스니펫과 같이 진행 중인 알림의 터치 인텐트가 상시 사용 설정 활동을 가리켜야 합니다.

// Create a pending intent that point to your always-on activity
val touchIntent =
    PendingIntent.getActivity(
        context,
        0,
        Intent(context, MyAlwaysOnActivity::class.java),
        PendingIntent.FLAG_MUTABLE or PendingIntent.FLAG_UPDATE_CURRENT
    )

val notificationBuilder =
    NotificationCompat.Builder(this, CHANNEL_ID)
    // ...
    .setOngoing(true)

val ongoingActivity =
    OngoingActivity.Builder(
        applicationContext, NOTIFICATION_ID, notificationBuilder
    )
    // ...
    .setTouchIntent(touchIntent)
    .build()

ongoingActivity.apply(applicationContext)

notificationManager.notify(
    NOTIFICATION_ID,
    notificationBuilder.build()
)

테스트 목적으로 일시적으로 변경 비활성화

이 기능은 기본적으로 사용하도록 설정되어 있습니다. 테스트 목적으로 이 변경사항에 해당하는 기능 플래그를 사용 중지하려면 다음 명령어를 사용하세요.

adb shell device_config put wear_frameworks \
  com.google.android.clockwork.systemui.flags.ambiactive_components_expirable \
  false && adb reboot

운동 기록 앱은 포그라운드 서비스 유형을 선언해야 함

앱이 사용자의 운동 세션의 일부로 운동을 기록하는 경우 ExerciseClient를 호출하는 포그라운드 서비스에서 health 포그라운드 서비스 유형을 지정해야 합니다. 또한 앱이 운동 세션 중에 위치 정보를 모니터링할 수 있다면 location 포그라운드 서비스 유형도 지정해야 합니다.

<manifest ...>
  <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
    <application ...>
      <!-- If your app can also monitor location information, use
           android:foregroundServiceType="health|location" instead. -->
      <service
          android:name=".MyExerciseSessionRecorder"
          android:foregroundServiceType="health">
      </service>
    </application>
</manifest>

일부 손목에서 착용하지 않은 기기가 잠금 해제 상태로 유지됨

Wear OS 5 개발자 프리뷰를 실행하는 지원되는 기기에서 시스템은 사용자가 손목에 기기를 착용하고 있는지 감지합니다. 사용자가 손목 감지를 끈 다음 기기를 손목에서 풀면 시스템은 그렇지 않을 때보다 더 오랫동안 잠금 해제 상태를 유지합니다.

앱에 더 높은 수준의 보안이 필요한 경우(예: 잠재적으로 민감할 수 있는 데이터 또는 비공개 데이터를 표시할 때) 먼저 손목 감지가 사용 설정되어 있는지 확인합니다.

val wristDetectionEnabled =
        isWristDetectionAutoLockingEnabled(applicationContext)

이 메서드의 반환 값이 false이면 사용자별 콘텐츠를 표시하기 전에 사용자에게 앱에서 계정에 로그인하라는 메시지를 표시합니다.

드래그 가능한 콘텐츠가 시스템 동작 활성화 지점과 겹칠 수 있음

Wear OS 5 개발자 프리뷰부터 시스템은 모션 이벤트 동작을 시스템 UI에 사용되는 동작 탐색과 별도로 처리합니다.

앱의 UI에 시스템 동작 영역과 겹치는 드래그 가능한 큰 공간이 포함되어 있다면 이러한 뷰를 위해 시스템 동작 제외 직사각형을 추가해야 할 수도 있습니다. 이렇게 하려면 setSystemGestureExclusionRects()를 호출하여 시스템 UI에 지정된 영역에서 탐색 동작을 무시하도록 지시합니다. 이 방법은 더 넓은 화면 UI 환경을 제공하기 위해 모바일 앱에서 충돌하는 앱 동작을 처리하는 방법과 유사합니다.

setSystemGestureExclusionRects() API를 사용하면 시스템 UI가 동작 요청에 다르게 응답하도록 할 수 있습니다. 예를 들어 시스템 UI에서 사용자의 인텐트를 확인하기 위해 가로 막대와 같은 추가 UI 힌트를 표시할 수 있습니다.

비선형 글꼴 크기 조정

Wear OS 5 개발자 미리보기부터 시스템은 특히 사용자가 뷰 기반 UI 구성요소에서 더 큰 글꼴 크기를 선택하는 경우 더 부드러운 글꼴 크기 조정을 지원합니다.

암시적 인텐트와 대기 중인 인텐트 제한사항

앱에서 카드를 사용하는 경우 암시적 인텐트 및 대기 중인 인텐트 제한사항이 인텐트에 영향을 주는지 확인합니다.

여전히 일부 알림을 닫을 수 없음

Android 14(API 수준 34) 이상을 실행하는 기기에서 휴대기기 버전의 앱을 사용하는 경우 이전 버전에서는 닫을 수 없었던 알림을 사용자가 닫을 수 있습니다.

하지만 Wear OS 5 개발자 프리뷰에서는 이러한 알림을 여전히 닫을 수 없습니다.

Android 14의 기타 변경사항

Android 14의 다음 변경사항은 Wear OS 앱에 영향을 미칠 가능성이 높습니다.

모든 앱에 영향을 미치는 Android 14 변경사항

API 수준 34를 타겟팅하는 앱에 영향을 미치는 Android 14 변경사항