指南
如何在Capacitor中使用Watch
使用 @capgo/capacitor-watch
Apple Watch 通信插件 for Capacitor。该插件提供 iPhone 和 Apple Watch 之间的双向消息传递,使用 WatchConnectivity。
安装
bun add @capgo/capacitor-watch
bunx cap sync
此插件暴露的内容
sendMessage- 向 Apple Watch 发送交互式消息。Apple Watch 必须可达,否则此操作将失败。使用此功能进行时间敏感的交互式通信。updateApplicationContext- 更新与 Apple Watch 共享的应用程序上下文。仅保留最新的上下文 - 这会覆盖任何以前的上下文。使用此功能同步 Apple Watch 需要显示的应用程序状态。transferUserInfo- 将用户信息传输到 Apple Watch。传输会被排队并按顺序传递,即使 Apple Watch 不可达。使用此功能传输重要数据,必须可靠地传递。replyToMessage- 回复来自 Apple Watch 的消息,该消息要求回复。使用此功能回复 messageReceivedWithReply 事件。
示例使用
sendMessage
- 向 Apple Watch 发送交互式消息。Apple Watch 必须可达,否则此操作将失败。使用此功能进行时间敏感的交互式通信。
import { CapgoWatch } from '@capgo/capacitor-watch';
await CapgoWatch.sendMessage({
data: { action: 'refresh', timestamp: Date.now() }
});
updateApplicationContext
- 更新与 Apple Watch 共享的应用程序上下文。仅保留最新的上下文 - 这会覆盖任何以前的上下文。使用此功能同步 Apple Watch 需要显示的应用程序状态。
import { CapgoWatch } from '@capgo/capacitor-watch';
await CapgoWatch.updateApplicationContext({
context: { theme: 'dark', lastSync: Date.now() }
});
transferUserInfo
将用户信息传输到手表。传输任务会排队并按顺序发送,即使手表当前不可达。请使用此功能传输必须可靠传输的重要数据。
import { CapgoWatch } from '@capgo/capacitor-watch';
await CapgoWatch.transferUserInfo({
userInfo: { recordId: '123', action: 'created' }
});
replyToMessage
回复手表发送的消息请求。使用此功能回复messageReceivedWithReply事件。
import { CapgoWatch } from '@capgo/capacitor-watch';
CapgoWatch.addListener('messageReceivedWithReply', async (event) => {
const result = await processRequest(event.message);
await CapgoWatch.replyToMessage({
callbackId: event.callbackId,
data: { result }
});
});
完整参考文档
- GitHub: https://github.com/Cap-go/capacitor-watch/
- 文档:/docs/plugins/watch/
继续使用@capgo/capacitor-watch
如果您正在使用 使用@capgo/capacitor-watch 来规划原生插件工作,连接它到 @capgo/capacitor-watch 以获取@capgo/capacitor-watch的实现细节 开始使用 为开始使用的详细信息 Capgo 插件目录 为Capgo 插件目录中的产品工作流程 Capacitor 由 Capgo 提供的插件 为Capacitor 由 Capgo 提供的插件的详细信息 添加或更新插件 为添加或更新插件的详细信息