개요
“개요” 섹션@capgo/capacitor-watch Capacitor 휴대폰 앱을 컴패니언 워치 앱에 연결합니다:
- iOS: WatchConnectivity watchOS 타겟과 선택적 CapgoWatchSDK.
- Android: Wear OS Data Layer (
play-services-wearable)를 같은 Android 프로젝트의 Wear OS 모듈과 연결합니다. - 웹: 워치 메시징은 지원되지 않음;
getInfo()및getPluginVersion()안전한 기본값으로 해결됨; 메시징 메서드는 거부됨; 리스너는 등록되지만 이벤트가 전달되지 않음
플랫폼 지원
“플랫폼 지원” 섹션다음의 기능들은 각 플랫폼의 네이티브 구현과 일치합니다: CapgoWatchPlugin.swift 및 CapgoWatchPlugin.java.
| 기능 | iOS (Apple Watch) | Android (Wear OS) | 웹 |
|---|---|---|---|
sendMessage | 네. 활성화된 세션이 필요하며 isReachable. | 네. 다음 시점에 전송: /capgo/message 연결된 노드로 전송합니다. 연결된 Wear OS 노드가 없으면 거부됩니다. | 아니요 |
updateApplicationContext | 네. WatchConnectivity를 통해 최신 값만 전송합니다. | 네. 다음의 DataItem: /capgo/context JSON 형식을 포함하여 payload. | 아니요 |
transferUserInfo | 네. 대기 중인 사용자 정보 전송. | 네. 다음의 DataItem: /capgo/userinfo/{uuid} JSON 형식을 포함하여 payload. | 아니요 |
replyToMessage | 네. 이후 messageReceivedWithReply. | 네. 전달 /capgo/reply/{callbackId} watch 노드로 (5분 pending TTL). | 아니요 |
getInfo | 네. WatchConnectivity 페어링 및 reachability. | 네. 연결된 노드와 capgo_watch watch 앱 설치 감지 기능. | 반환값 isSupported: false |
getPluginVersion | 지원 | 지원 | 반환값 { version: "web" } |
messageReceived | 지원 | 네. 수신됨 /capgo/message. | 등록만 수행하며 웹에는 이벤트 없음 |
messageReceivedWithReply | 지원 | 네. 수신됨 /capgo/message/withreply. | 등록만 수행하며 웹에는 이벤트 없음 |
applicationContextReceived | 지원 | 네. 수신됨 /capgo/context DataItem. | 등록만 수행하며 웹에는 이벤트 없음 |
userInfoReceived | 지원 | 네. 수신됨 /capgo/userinfo/* (전송 후 휴대폰에서 항목 삭제됨). | 등록만 가능하며 웹에서는 이벤트가 발생하지 않음 |
reachabilityChanged | 지원 | Android에서는 발생하지 않음 | 등록만 가능하며 웹에서는 이벤트가 발생하지 않음 |
activationStateChanged | 지원 | Android에서는 발생하지 않음 | 등록만 가능하며 웹에서는 이벤트가 발생하지 않음 |
설정 가이드
“설정 가이드” 섹션- watchOS 앱 만들기 (Apple Watch + CapgoWatchSDK)
- Wear OS 앱 만들기 (Wear module + Data Layer 경로)
핵심 기능
“핵심 기능” 섹션sendMessage- 워치로 인터랙티브 메시지를 보냅니다. 성공하려면 워치와 연결되어 있어야 합니다. 즉각적인 상호작용이 필요한 통신에 사용하세요.updateApplicationContext- 워치와 공유되는 애플리케이션 컨텍스트를 업데이트합니다. 최신 컨텍스트만 유지되며 이전 컨텍스트는 덮어씌워집니다. 워치에 표시할 앱 상태를 동기화할 때 사용하세요.transferUserInfo- 사용자 정보를 워치로 전송합니다. 전송 작업은 큐에 저장되어 순서대로 전달되므로, 워치와 연결되지 않은 상태에서도 전송이 가능합니다. 반드시 전달되어야 하는 중요한 데이터에 사용하세요.replyToMessage- 답장을 요청한 워치의 메시지에 응답합니다. messageReceivedWithReply 이벤트에 대한 응답으로 사용하세요.
공개 API
“Public API” 섹션| 메서드 | 설명 |
|---|---|
sendMessage | 워치로 인터랙티브 메시지를 보냅니다. 성공하려면 워치와 연결되어 있어야 합니다. 즉각적인 상호작용이 필요한 통신에 사용하세요. |
updateApplicationContext | watch와 공유할 애플리케이션 컨텍스트를 업데이트합니다. 최신 컨텍스트만 유지되며 이전 컨텍스트를 덮어씁니다. watch에 표시해야 하는 앱 상태를 동기화할 때 사용하세요. |
transferUserInfo | 사용자 정보를 watch로 전송합니다. 전송은 큐에 저장되어 순서대로 전달되며, watch에 연결할 수 없더라도 마찬가지입니다. 반드시 안정적으로 전달해야 하는 중요한 데이터에 사용하세요. |
replyToMessage | 답장을 요청한 watch의 메시지에 답장합니다. messageReceivedWithReply 이벤트에 대한 응답으로 사용하세요. |
getInfo | watch 연결 상태 정보를 가져옵니다. |
getPluginVersion | 네이티브 Capacitor 플러그인 버전을 가져옵니다. |
addListener | watch에서 받은 메시지에 대한 리스너를 등록합니다. |
addListener | 답장이 필요한 watch 메시지에 대한 리스너를 등록합니다. |
addListener | watch에서 오는 애플리케이션 컨텍스트 업데이트에 대한 리스너를 등록합니다. |
addListener | watch에서 오는 사용자 정보 전송에 대한 리스너를 등록합니다. |
addListener | watch 연결 가능 상태 변경에 대한 리스너를 등록합니다 (iOS 전용). |
addListener | 세션 활성화 상태 변경에 대한 리스너를 등록합니다 (iOS 전용). |
removeAllListeners | 이 플러그인의 모든 리스너를 제거합니다. |
Source of Truth
“Source Of Truth” 섹션이 레퍼런스는 다음에서 동기화됩니다. src/definitions.ts 에서 capacitor-watch.
@capgo/capacitor-watch 다음 단계
“@capgo/capacitor-watch 다음 단계” 섹션사용 중이라면 @capgo/capacitor-watch 마이그레이션과 엔터프라이즈 운영을 계획하려면 다음과 연결하세요: @capgo/capacitor-watch 사용하기 @capgo/capacitor-watch 사용하기의 네이티브 기능 Capgo 엔터프라이즈 Capgo Enterprise의 제품 워크플로우를 위해, Ionic Enterprise 플러그인 대안 Ionic Enterprise 플러그인 대안의 제품 워크플로우를 위해, Capgo 대안 Capgo 대안의 제품 워크플로우를 위해, 그리고 Capgo 컨설팅 Capgo Consulting의 제품 워크플로우를 위해.