概览
“概览”章节@capgo/capacitor-watch 将您的 Capacitor 手机 App 连接到配套手表 App:
- iOS: WatchConnectivity 使用 watchOS target 和可选的 CapgoWatchSDK.
- Android: Wear OS Data Layer (
play-services-wearable),并在同一个 Android 项目中包含 Wear OS 模块。 - Web 端:不支持手表消息传递;
getInfo()以及getPluginVersion()使用安全默认值进行解析;消息方法会 reject;监听器已注册但不会触发事件
平台支持
标题为“平台支持”的部分以下功能与这些平台的原生实现一致: CapgoWatchPlugin.swift 以及 CapgoWatchPlugin.java.
| 能力 | iOS (Apple Watch) | Android (Wear OS) | Web 端 |
|---|---|---|---|
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 节点(待处理 TTL 为 5 分钟)。 | 否 |
getInfo | 是的。支持 WatchConnectivity 配对与可达性。 | 是的。已连接的节点以及 capgo_watch 用于检测 watch app 安装情况的能力。 | 返回 isSupported: false |
getPluginVersion | 是 | 是 | 返回 { version: "web" } |
messageReceived | 是 | 是的。传入 /capgo/message. | 仅注册;Web 端不触发事件 |
messageReceivedWithReply | 是 | 是的。传入 /capgo/message/withreply. | 仅注册;Web 端不触发事件 |
applicationContextReceived | 是 | 是的。传入 /capgo/context DataItem。 | 仅注册;Web 端不触发事件 |
userInfoReceived | 是 | 是的。传入 /capgo/userinfo/* (手机在送达后会删除该项)。 | 仅注册;Web 端不触发事件 |
reachabilityChanged | 是 | Android 端不触发 | 仅注册;Web 端不触发事件 |
activationStateChanged | 是 | Android 端不触发 | 仅注册;Web 端不触发事件 |
设置指南
标题为“设置指南”的部分- 创建 watchOS 应用 (Apple Watch + CapgoWatchSDK)
- 创建 Wear OS 应用 (Wear module + Data Layer 路径)
核心功能
标题为“核心功能”的章节sendMessage- 向手表发送交互式消息。操作成功的前提是手表必须在线。适用于对时间敏感的交互式通信。updateApplicationContext- 更新与手表共享的应用上下文。仅保留最新的上下文——这会覆盖之前的任何上下文。适用于同步手表需要展示的应用状态。transferUserInfo- 将用户信息传输至手表。传输任务会进入队列并按顺序交付,即使手表当前无法连接。适用于必须可靠交付的重要数据。replyToMessage- 回复手表发出的回复请求。请在响应 messageReceivedWithReply 事件时使用此功能。
公开 API
标题为“公开 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 | 移除该插件的所有监听器。 |
单一事实来源
标题为“单一事实来源”的部分此参考文档同步自 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 Alternatives 的产品工作流,以及 Capgo 咨询 适用于 Capgo Consulting 的产品工作流。