컴패니언 장치 프로필

Android 12에 도입된 컴패니언 장치 프로필은 컴패니언 앱이 스마트워치와 같은 컴패니언 장치 유형에 특정한 권한 집합을 요청할 수 있도록 하는 기능입니다. 컴패니언 장치 프로필을 사용하면 앱이 권한을 개별적으로 요청하는 여러 프롬프트 대신 정의된 권한 집합을 요청하기 위해 모바일 장치의 사용자에게 단일 프롬프트를 표시할 수 있으므로 등록 프로세스가 간소화됩니다. 이를 통해 보다 간소화된 설정 환경과 컴패니언 앱에 대한 더 나은 옵트인 비율을 제공할 수 있습니다.

컴패니언 장치 프로필의 사용은 컴패니언 장치가 있는 장치 제조업체만 사용할 수 있습니다. 컴패니언 장치가 기능에 액세스하려면 요구 사항 을 충족하고 승인을 받아야 합니다.

Android 12에서 사용할 수 있는 컴패니언 기기 프로필 유형은 COMPANION_DEVICE_WATCH 입니다.

컴패니언 장치에 대한 자세한 내용은 컴패니언 장치 페어링 을 참조하십시오.

기기 동작

이 섹션에서는 컴패니언 장치 프로필이 사용될 때의 장치 동작에 대해 설명합니다.

사용자가 컴패니언 장치와의 연결을 생성하기 위한 앱의 요청을 수락하면 CompanionDeviceManager (CDM) 서비스는 컴패니언 장치가 연결될 때까지 대기하고 연결되면 CDM은 장치 프로필 역할(예: watch)을 컴패니언 장치에 할당합니다. 지정된 프로필 역할에 대해 정의된 모든 권한을 부여하는 컴패니언 앱. 그림 1은 COMPANION_DEVICE_WATCH 장치 프로필에 대한 권한을 요청하는 앱의 예를 보여줍니다.

장치 프로필 대화 상자 확인

그림 1. 시계 장치 프로필에 대한 권한을 요청하는 대화 상자.

앱과 컴패니언 장치 간의 연결이 제거되면(예: 패키지에 대한 데이터가 지워지거나 장치를 잊어버린 경우) CDM은 앱에 대한 장치 프로필 역할을 취소하여 프로필 역할에 대해 정의된 모든 권한을 제거합니다. 앱에서.

사용자가 특정 장치 프로필에 대한 권한 부여 요청을 수락한 후 사용자는 부여된 개별 권한을 취소할 수 있습니다. 사용자가 권한을 취소하면 앱이 도우미 장치와 연결된 상태로 유지되지만 특정 기능을 사용하지 못할 수 있습니다. 앱이 작동하기 위해 권한이 필요한 경우 앱은 일반 권한 요청 을 통해 권한을 요청해야 합니다.

요구 사항

컴패니언 앱이 컴패니언 장치 프로필 API에 액세스하려면 앱이 다음 요구 사항을 충족해야 합니다.

  • 컴패니언 장치(예: 스마트워치)가 있습니다.
  • 컴패니언 장치 프로필에 대해 정의된 권한을 요구하는 정당한 이유가 있어야 합니다.

컴패니언 장치 프로필 요구 사항 보기

다음 표에서는 COMPANION_DEVICE_WATCH 장치 프로필 역할에 대해 정의된 권한과 이를 사용하기 위한 요구 사항을 설명합니다.

권한 컴패니언 앱 및 기기 요구 사항
알림

BIND_NOTIFICATION_LISTENER_SERVICE
  • Bluetooth 및/또는 Wi-Fi를 사용하여 연결된 장치 되기
  • 알림을 표시할 수 있는 화면이 있습니다(화면 대신 햅틱을 사용하는 장치는 제외).
  • 예를 들어 컴패니언 장치 화면에 전화 알림 표시와 같은 사용자 대면 알림 경험을 제공합니다.
핸드폰

phone
  • Bluetooth 및/또는 Wi-Fi를 사용하여 연결된 장치 되기
  • 음성 대화가 가능한 마이크와 스피커가 내장되어 있습니다.
  • 발신자 정보를 표시하는 화면이 있습니다.
  • 사용자 대면 전화 통화 경험 제공(컴패니언 앱은 전화 통화 연결)
SMS

sms
  • Bluetooth 및/또는 Wi-Fi를 사용하여 연결된 장치 되기
  • SMS 메시지를 표시하는 화면이 있습니다.
  • 사용자 대면 SMS 경험 제공
콘택트 렌즈

contacts
  • Bluetooth 및/또는 Wi-Fi를 사용하여 연결된 장치 되기
  • 디스플레이 화면이 있습니다
  • 통화 또는 메시징 경험의 일부로 연락처 정보를 사용합니다.
달력

calendar
  • Bluetooth 및/또는 Wi-Fi를 사용하여 연결된 장치 되기
  • 디스플레이 화면이 있습니다
  • 시계에서 사용자 지향 캘린더 경험 제공
주변 기기

nearby_devices
  • Bluetooth 및/또는 Wi-Fi를 사용하여 연결된 장치 되기
  • 디스플레이 화면이 있습니다
  • 시계에서 사용자 대면 페어링/연결 경험 제공
eSIM 프로비저닝

USE_ICC_AUTH_WITH_DEVICE_IDENTIFIER
  • Bluetooth 및/또는 Wi-Fi를 사용하여 연결된 장치 되기
  • 디스플레이 화면이 있습니다
  • 시계에서 이동 통신사의 가입자 서비스를 관리하는 사용자 대면 경험 제공
진행 중인 통화 관리

MANAGE_ONGOING_CALLS
  • Bluetooth 및/또는 Wi-Fi를 사용하여 연결된 장치 되기
  • 음성 대화가 가능한 마이크와 스피커가 내장되어 있습니다.
  • 발신자 정보를 표시하는 화면이 있습니다.
  • 사용자 대면 전화 통화 경험 제공(컴패니언 앱은 전화 통화 연결)

액세스 권한 얻기

앱이 컴패니언 장치 프로필에 액세스하려면 승인을 받고 허용 목록에 추가해야 합니다. 허용 목록에 추가하라는 요청이 수신되면 Android 팀은 앱을 검토하여 해당 컴패니언 장치 프로필의 요구 사항 을 충족하는지 확인합니다.

구현

특정 기기와 함께 컴패니언 앱을 구현하는 기기 제조업체의 경우 다음 필수 Android 시스템 구성을 사용하여 컴패니언 앱을 인증하면 앱이 사용자에게 CDM 프롬프트 표시를 건너뛸 수 있습니다.

  1. 다음 명령을 사용하여 인증서를 검색합니다.

    keytool  -printcert -jarfile PATH/TO/APK
    
  2. 구성 파일의 다음 샘플 입력에 표시된 대로 패키지 이름과 인증서를 바꿉니다.

    <!-- A list of packages managing companion device(s) by the same manufacturers as the main device.
    It will not create the association without prompting if the association has been called multiple
    times in a short period. Note that config_companionDeviceManagerPackage and config_companionDeviceCerts
    are parallel arrays. -->
    
        <string-array name="config_companionDevicePackages" translatable="false">
            <item>YOUR_COMAPNION_APP_PACKAGE_NAME</item>
        </string-array>
    
        <!-- A list of SHA256 Certificates managing companion device(s) by the same manufacturers as the
        main device. It will fall back to showing a prompt if the association has been called multiple
        times in a short period. Note that config_companionDeviceCerts and config_companionDeviceManagerPackage
        are parallel arrays.
        Example: "1A:2B:3C:4D" -->
    
        <string-array name="config_companionDeviceCerts" translatable="false">
            <item>YOUR_COMPANION_APP_CERTIFICATE</item>
        </string-array>
    
  3. AssociationRequest 를 사용하여 단일 컴패니언 장치에 연결 요청을 수행합니다.

DEVICE_PROFILE_WATCH 프로필을 요청하는 컴패니언 앱을 구현하는 타사 개발자의 경우 다음을 수행합니다.

  1. setDeviceProfile 메소드를 호출하십시오.
  2. AssociationRequest 를 빌드할 때 DEVICE_PROFILE_WATCH 프로필을 전달합니다.

확인

컴패니언 장치 프로필 기능의 동작을 테스트하려면 다음 CTS 테스트를 사용하세요.