跳过主要内容
@capgo/capacitor-watch 设备API 开源

手表 Capacitor 插件

苹果手表和Wear OS之间的双向消息传递

安装

bun add @capgo/capacitor-watch bunx cap sync
npm、pnpm或yarn
  • npm install @capgo/capacitor-watch
  • pnpm add @capgo/capacitor-watch
  • yarn add @capgo/capacitor-watch

指南

如何在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 }
  });
});

完整参考文档

继续使用@capgo/capacitor-watch

如果您正在使用 使用@capgo/capacitor-watch 来规划原生插件工作,连接它到 @capgo/capacitor-watch 以获取@capgo/capacitor-watch的实现细节 开始使用 为开始使用的详细信息 Capgo 插件目录 为Capgo 插件目录中的产品工作流程 Capacitor 由 Capgo 提供的插件 为Capacitor 由 Capgo 提供的插件的详细信息 添加或更新插件 为添加或更新插件的详细信息

常见问题

手表插件常见问题

如何在Capacitor应用中安装手表插件?

运行"bun add @capgo/capacitor-watch" (或"npm install @capgo/capacitor-watch"),然后运行"bunx cap sync"使iOS和Android项目捕获native code。从"@capgo/capacitor-watch"中导入它到您的应用code。

是否@capgo/capacitor-watch与React、Vue和Angular兼容?

是。手表是一个Capacitor包,因此它与任何在Capacitor内运行的Web框架兼容,包括Ionic、React、Vue、Angular、Svelte和普通JavaScript。

哪个Capacitor版本支持@capgo/capacitor-watch?

Capgo插件遵循Capacitor的主要版本:使用与Capacitor主要版本匹配的插件主要版本(例如插件v8与Capacitor 8)。在GitHub README中列出的兼容性表格列出了维护的版本。

是否@capgo/capacitor-watch 免费且开源?

是。源码code在GitHub上公开(https://github.com/Cap-go/capacitor-watch/)并且可以从npm免费安装。欢迎bug报告和pull请求。

是否可以在不经过App Store审核的情况下更新code?

安装或升级插件会改变原生code,因此需要重新构建商店。之后,使用Capgo实时更新的JavaScript、HTML和CSS可以立即部署。

不必等待应用程序审查就可以将 Watch 变更推送到商店

一旦插件在您的商店构建中,Capgo 实时更新将将您的 JavaScript、HTML 和 CSS 变更推送给用户几分钟内。

开始使用 Capgo