착용 운영 체제 앱은 전화와 독립적으로 작동 할 수 있습니다. 사용자는 시계에 대한 작업을 완료 할 수 있습니다,안드로이드 또는 이오스 전화에 액세스하지 않고.
다음을 참조하여 관련된 자원:
- 지 확인 원격 응용 프로그램 예제
계획 앱
사용할 수 있습니다 여러 APK(multi-APK)기능의 구글 플레이를 게시하는 하나 이상의 APK 에서 동일한 응용 프로그램 목록이 있습니다. 이 기능을 사용하여 배포해야합니다; 휴대 전화에 시계를 삽입하지 마십시오. 앱 배포에 대한 자세한 내용은 앱 패키징 및 배포를 참조하십시오.
참고:(즉,온 시계 플레이 스토어에서)착용에 구글 플레이 스토어에서 프로모션에 대한 자격,앱이 휴대 전화에서 독립적으로 작동해야합니다. 이오스뿐만 아니라 안드로이드 지원이 필요합니다. 일반적으로 독립 실행형 앱의 최소 및 대상 수준 및 웨어 2.0 은 수준 25 입니다. 이 응용 프로그램은 당신에게 아름다운 욕실 꾸미기의 갤러리를 보여줍니다.
참고:마모 1 에서 앱의 가용성에 영향을 미치는 대기 시간 문제로 인해.이 응용 프로그램은 당신에게 아름다운 욕실 꾸미기의 갤러리를 보여줍니다.:
- 이 응용 프로그램은 당신에게 아름다운 욕실 꾸미기의 갤러리를 보여줍니다.
주의 사항: 이 응용 프로그램은 당신이 당신의 스마트 폰 또는 태블릿을 사용하는 데 도움이 될 것입니다. 기존 프로덕션 휴대폰에 업데이트를 게시하는 경우 해당 휴대폰에 시계를 계속 삽입합니다.
독립 실행형 앱의 경우 런타임 권한이 필요합니다.
네트워크 요청 및 고 대역폭 네트워크 액세스에 대한 자세한 내용은 네트워크 액세스 및 동기화를 참조하십시오.
앱을 독립 실행형으로 식별
착용 앱은 안드로이드 매니페스트 파일에<application>
요소의 자식으로 meta-data
요소가 있어야 합니다. meta-data
요소의 이름은com.google.android.wearable.standalone
이며 값은true
또는false
이어야 합니다. 이 요소는 시계 앱이 독립 실행 형 응용 프로그램이며,따라서 작동하는 전화 측 안드로이드 응용 프로그램을 필요로하지 않는 여부를 나타냅니다. 요소 설정이true
이면 모든 채널(예:베타 채널)에서 활성 요소가true
으로 설정된 경우 아이폰에 연결된 시계의 플레이 스토어에서 앱을 사용할 수 있습니다. 현재 사용자에게 제공되는 모든 앱(알파,베타,프로덕션)에 위의 설정이 있는 경우 사용자가 아이폰과 페어링된 시계를 검색하면 앱을 사용할 수 없습니다.
시계 앱은 다음 중 하나로 간주될 수 있습니다:
- 전화 앱과는 완전히 독립적
- 반독립(전화 앱은 필요하지 않으며 선택적 기능만 제공)
- 전화 앱에 종속
시계 앱이 완전히 독립적이거나 반독립적인 경우 독립형 범주에 속하는 것으로 간주됩니다. 이meta-data
요소의 값을 설정 하 여 구글 플레이 스토어에이 분류를 표시 해야 합니다true
:
<application>... <meta-data android:name="com.google.android.wearable.standalone" android:value="true" />...</application>
독립 실행 형 응용 프로그램(즉,독립 또는 반 독립적 인 응용 프로그램입니다)아이폰 사용자 또는 플레이 스토어가 부족한 안드로이드 폰의 사용자가 설치할 수 있기 때문에,시계 응용 프로그램은 전화 응용 프로그램없이 사용할 수 있어야합니다.
시계 앱이 전화 앱에 의존하는 경우 위의meta-data
요소의 값을false
로 설정하십시오. 요소를false
로 설정하면 시계 앱이 플레이 스토어가 있는 휴대폰과 페어링된 시계에만 설치되어야 함을 의미합니다.
참고:값이false
인 경우에도 전화 앱을 설치하기 전에 시계 앱을 설치할 수 있습니다. 따라서 시계 앱이 컴패니언 전화에 필요한 전화 앱이 없다는 것을 감지하면 시계 앱은 사용자에게 전화 앱을 설치하라는 메시지를 표시해야 합니다.
앱을 웨어 앱으로 정의
앱의 안드로이드 매니페스트 파일에 <uses-feature>
태그가 정의되어 있는지 확인해야 합니다. watch
앱임을 나타내야 합니다(예:android:name="android.hardware.type.watch"
).:
<manifest>... <uses-feature android:name="android.hardware.type.watch" />...</manifest>
공유 코드 및 데이터 저장
코드는 웨어 앱과 폰 앱 간에 공유할 수 있습니다. 선택적으로 폼 팩터와 관련된 코드는 별도의 모듈에 있을 수 있습니다.
예를 들어,네트워킹을 위한 공통 코드는 공유 라이브러리에 있을 수 있다. 당신은 당신이 전화에서와 같이,로컬로 데이터를 저장하는 표준 안드로이드 스토리지 아피스를 사용할 수 있습니다. 예를 들어 공유 환경 설정 또는 룸 지속성 라이브러리를 사용할 수 있습니다.
다른 장치에서 앱 감지
시계 앱은 해당 전화 앱을 사용할 수 있는지 또는 그 반대인지를 감지 할 수 있습니다.
휴대폰 앱 또는 시계 앱은CapabilityClient
을 사용하여 앱의 현재 상태를 페어링 된 장치에 광고 할 수 있습니다. 정적 및 동적으로 수행 할 수 있습니다. 앱이 사용자 웨어 네트워크의 노드(예:전화,페어링된 시계 또는 클라우드)에 있는 경우CapabilityClient
은 다른 앱이 설치되어 있는지 감지할 수 있도록 합니다. 자세한 내용은 기능 광고를 참조하십시오.
앱 중 하나가 다른 앱을 감지 할 수없는 경우 사용자가 원격 장치에서 플레이 스토어 목록을 열도록 활성화 할 수 있습니다. 이 제대로 작동하려면 자신의 동반자 전화 응용 프로그램의 존재를 필요로 시계 애플 리케이션을위한 솔루션입니다. 전제 조건은 원격 장치에서 플레이 스토어의 존재를 확인하는 것입니다.
모든 전화(예:아이폰 등)플레이 스토어를 지원합니다.).
이 섹션에서는 이러한 시나리오에 대한 모범 사례를 설명합니다:
- 독립형 시계 앱에 휴대폰 앱 필요
- 휴대폰 앱에 독립형 시계 앱 필요
이 기능을 보여주는 샘플을 검토합니다. 아래 설명된 클래스에 대한 자세한 내용은 다음을 참조하십시오. 또한 이 참조에는PhoneDeviceType
클래스에 대한 정보가 포함되어 있습니다.
앱 검색을 위한 기능 이름 지정
각 장치 유형(시계 또는 전화)에 해당하는 앱의 경우res/values/wear.xml
파일에서 기능 이름에 대해 고유한 문자열을 지정합니다.
웨어 모듈에서wear.xml
파일에는 다음과 같은 기능 이름에 대한 다른 값이 포함됩니다.
자세한 내용은 기능 광고를 참조하십시오. 시계 앱은 사용자의 컴패니언 휴대폰에 휴대폰 앱이 있는지 여부를 감지할 수 있습니다.:
-
CapabilityClient
을 사용하여 휴대폰 앱이 페어링된 휴대폰에 설치되어 있는지 확인합니다. 자세한 내용은 샘플을 참조하십시오. - 휴대 전화 앱이 휴대 전화에 설치되어 있지 않은 경우
PhoneDeviceType.getPhoneDeviceType()
방법을 사용하여 휴대 전화 유형을 확인하십시오. -
PhoneDeviceType.DEVICE_TYPE_ANDROID
이 반환되면 전화는 안드로이드 전화입니다. 휴대 전화에서 앱 스토어를 엽니 다 착용 장치에서RemoteIntent.startRemoteActivity()
를 호출합니다. (휴대 전화 우리당과 다를 수 있습니다)휴대 전화 응용 프로그램에 대한 시장 우리당을 사용합니다. 예를 들어 다음과 같은 시장 우리당을 사용하십시오:market://details?id=com.example.android.wearable.wear.finddevices
- PhoneDeviceType.DEVICE_TYPE_IOS이 반환되면 휴대폰이 재생 저장소가 없음을 의미합니다. 착용 장치에
RemoteIntent.startRemoteActivity()
를 호출하여 아이폰에 앱 스토어를 엽니 다. 예를 들어,. 휴대 전화 응용 프로그램이 설치되어있는 경우 아이폰에서,착용 운영 체제에서,당신은 프로그래밍 방식으로 확인할 수 없습니다. 가장 좋은 방법은 앱 스토어 열기를 수동으로 트리거하는 메커니즘(예:버튼)을 사용자에게 제공하는 것입니다. 이 응용 프로그램을 사용하면 시계에서 전화를 열 수 있으며 전화 앱이 필요하지 않습니다.
페어링된 전화 유형 감지 세부 정보
다음은
getPhoneDeviceType()
방법을 사용하여 시계가 페어링된 전화 유형을 확인하는 스니펫입니다:코 틀린
var phoneDeviceType: Int = PhoneDeviceType.getPhoneDeviceType(context)
자바
int phoneDeviceType = PhoneDeviceType.getPhoneDeviceType(context);
getPhoneDeviceType()
메서드에서 반환되는 값은 다음 중 하나입니다:반환 값 설명 DEVICE_TYPE_ANDROID
동반자 전화는 안드로이드 장치입니다. DEVICE_TYPE_IOS
컴패니언 폰은 이오스 기기입니다. DEVICE_TYPE_ERROR_UNKNOWN
페어링 된 휴대 전화의 유형을 결정하는 데 오류가 발생했습니다. 안드로이드 폰에서 시작 앱 감지
사용자의 마모 장치가 시계 앱이 있는지 당신의 안드로이드 전화는 감지 할 수 있습니다:
-
NodeClient
를 사용하여 사용자의 전화에 연결된 모든 시계를 찾습니다. 자세한 내용은 샘플을 참조하십시오. -
CapabilityClient
을 사용하여 앱이 설치된 사용자의 시계를 확인합니다. - 앱이 모든 사용자의 시계에 설치되어 있지 않은 경우(1 단계의 결과와 2 단계의 결과를 비교),사용자가
RemoteIntent.startRemoteActivity()
방법을 통해 휴대폰의 나머지 마모 장치에서 플레이 스토어를 열 수 있습니다. 특히,(휴대 전화 응용 프로그램의 우리당과 다를 수 있습니다)착용 응용 프로그램에 대한 시장 우리당을 사용합니다. 예를 들어 다음과 같은 시장 우리당을 사용하십시오:market://details?id=com.example.android.wearable.wear.finddevices
아이폰과 페어링된 시계의 경우,개발자는 융합된 위치 제공자를 사용하여 시계에 위치 데이터를 가져와야 합니다. 마모 시 위치 감지를 참조하십시오.
컴패니언 폰을 사용할 수 있는 경우 컴패니언 폰을 위치 데이터에 사용합니다.
필요한 데이터 만 얻기
일반적으로 인터넷에서 데이터를 얻을 때 필요한 데이터 만 가져와야합니다. 그렇지 않으면 불필요한 대기 시간,메모리 사용 및 배터리 사용이 발생할 수 있습니다.
블루투스 파일 연결을 통해 시계가 연결된 경우 앱에 시계에 따라 초당 4 킬로바이트만 액세스할 수 있습니다. 따라서 다음 단계를 수행하는 것이 좋습니다:
- 전화 앱용 추가 데이터에 대한 네트워크 요청 및 응답 감사
- 큰 이미지를 네트워크를 통해 시계로 보내기 전에 축소
고 대역폭 네트워크가 필요한 경우에는 고 대역폭 네트워크 액세스를 참조하십시오.
추가 코드 샘플
-