跳过主要内容
返回插件
@capgo/capacitor-watch
教程
由 github.com/Cap-go

监视

Apple Watch与iPhone和watchOS应用之间的双向消息传递

指南

Apple Watch教程

使用@capgo/capacitor-watch

Apple Watch通信插件,用于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 - 从手表收到回复请求的消息时回复。使用此功能作为 messageReceivedWithReply 事件的响应。

示例用法

sendMessage

向手表发送交互式消息。手表必须可达才能成功使用此功能。适用于时间敏感的交互式通信。

import { CapgoWatch } from '@capgo/capacitor-watch';

await CapgoWatch.sendMessage({
  data: { action: 'refresh', timestamp: Date.now() }
});

updateApplicationContext

更新与手表共享的应用程序上下文。仅保留最新的上下文 - 这将覆盖任何以前的上下文。适用于同步应用程序状态以供手表显示。

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 }
  });
});

完整参考