メインコンテンツにスキップ
プラグインに戻る
@capgo/capacitor-watch
チュートリアル
github.com/Cap-go による

ウォッチ

Apple Watch による iPhone と watchOS アプリ間の bidirectional メッセージング

ガイド

Apple Watch向けチュートリアル

Using @capgo/capacitor-watch

CapacitorのApple Watch通信プラグイン。iPhoneとApple Watch間でWatchConnectivityを使用した双方向メッセージングを提供します。

インストール

bun add @capgo/capacitor-watch
bunx cap sync

このプラグインが公開するもの

  • sendMessage - Apple Watchにインタラクティブなメッセージを送信します。Apple Watchが利用可能でなければなりません。このメッセージはタイムセンシティブなメッセージで、Apple Watchが表示する必要があるメッセージに使用します。
  • updateApplicationContext - Apple Watchと共有するアプリケーションコンテキストを更新します。最新のコンテキストのみが保持され、以前のコンテキストは上書きされます。アプリケーション状態をApple Watchが表示する必要がある場合に使用します。
  • transferUserInfo - Apple Watchにユーザー情報を転送します。転送はキュー化され、Apple Watchが利用可能でなくても順番に配信されます。重要なデータを信頼性の高い方法で配信する場合に使用します。
  • replyToMessage - __CAPGO_KEEP_0__ から返信するメッセージを返信します。 __CAPGO_KEEP_0__ からメッセージを受信した際に使用してください。

Example Usage

sendMessage

__CAPGO_KEEP_0__ に対してインタラクティブなメッセージを送信します。 __CAPGO_KEEP_0__ が接続可能な場合にのみ成功します。 時間の経過とともに重要なインタラクションのために使用してください。

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

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

updateApplicationContext

__CAPGO_KEEP_0__ のアプリケーション コンテキストを更新します。 最新のコンテキストのみが保持され、以前のコンテキストは上書きされます。 __CAPGO_KEEP_0__ のアプリケーション ステートを表示するために必要な __CAPGO_KEEP_0__ に同步するために使用してください。

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

await CapgoWatch.updateApplicationContext({
  context: { theme: 'dark', lastSync: Date.now() }
});

transferUserInfo

__CAPGO_KEEP_0__ のユーザー情報を転送します。 転送はキューに保管され、__CAPGO_KEEP_0__ が現在接続可能な場合でも順番に配信されます。 __CAPGO_KEEP_0__ が配信されるようにするために重要なデータを転送するために使用してください。

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

await CapgoWatch.transferUserInfo({
  userInfo: { recordId: '123', action: 'created' }
});

replyToMessage

__CAPGO_KEEP_0__ から返信するメッセージを返信します。 __CAPGO_KEEP_0__ からメッセージを受信した際に使用してください。

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

Full Reference