@capgo/capacitor-widget-kit Capacitorアプリには、ウィジェットとライブアクティビティを制御する2つの方法があります。
- SVGテンプレートアクティビティ: SVGでWidgetKitサーフェスを定義し、タップで名前を切り替え、タイマーを停止/再生、JSON状態を変化させ、ウィジェット内でアクションイベントを収集します。
- フルネイティブウィジェットセッション: ウィジェットUIを完全にSwift/Kotlin/Javaで保持し、Capacitorが共有JSON状態とアプリ間またはウィジェット間のメッセージを所有します。
SVGテンプレートを使用して、解決されたSVG文字列からウィジェットをレンダリングできる場合に、SVGテンプレートを使用してください。ウィジェットがカスタムネイティブUIを必要とする場合に、フルネイティブセッションを使用してください。

| モードを選択 | 最適な選択 | 主なAPI |
|---|---|---|
| SVGテンプレートの活動 | Live Activitiesまたはウィジェット表面がSVG出力からレンダリングされる | startTemplateActivity, performTemplateAction, listTemplateEvents |
| フルネイティブウィジェットセッション | ネイティブでレンダリングされたウィジェットが共有状態と非同期ジョブが必要なもの | startWidgetSession, updateWidgetSession, sendWidgetMessage |
両方のモードは同じアプリ内で動作することができます。例えば、ワークアウトアプリでは、高速フレーム/タイマーコントロール用にSVG Live Activityを使用し、ホーム画面ウィジェットにリッチなネイティブレイアウトを使用するためにフルネイティブウィジェットセッションを使用できます。
SVGテンプレートの機能
「SVGテンプレートの機能」というセクションSVGテンプレートには、インタラクティブなウィジェット表面のために必要な部分が含まれています:
frames名前付きSVGバリアントsummary,timer、またはdetails.frameMutationsスイッチ、タグ、またはホットスポットアクション後にフレームをスルーする。timerMutations開始、停止、リセット、タイマーダイレクト、またはタイマーダイレクトの変更。patchesJSON状態を更新するには、文字列値、テンプレート、タイムスタンプ、インクリメント、スイッチ、またはアンセットオペレーションを使用します。hotspotsタップエリアをアクション識別子にマップします。listTemplateEventsアプリは、ウィジェットが発生させたアクションを後で処理できます。
ランタイムは、ネイティブブリッジがレンダリング用のサーフェイスを返す前に、 {{state.title}}, {{timers.rest.remainingText}}プレースホルダーの置き換え、 {{meta.template.kind}} ネイティブブリッジのフルネイティブ機能
セクションのタイトル:フルネイティブブリッジの機能
フルネイティブセッションは、ネイティブでUIをレンダリングするウィジェット用です。ネイティブウィジェットの共有状態とメタデータを生成します。
startWidgetSessioncodeupdateWidgetSession状態をマージまたは置き換え、セッションを再度有効にします。stopWidgetSession最終状態を記録し、セッションを停止します。sendWidgetMessageアプリからウィジェットまたはウィジェットからアプリへの作業をキューにします。acknowledgeWidgetMessagesメッセージを受信としてマークします。completeWidgetMessage非同期ジョブのレスポンスまたは失敗を格納します。
メッセージは完了後、idempotent になります: 完了したまたは失敗したメッセージを再試行すると、既存の結果が返され、上書きされません。
パブリック API
セクションのタイトルは “パブリック API”| メソッド | 説明 |
|---|---|
areActivitiesSupported | 現在のデバイスでネイティブ テンプレート アクティビティ ブリッジを実行できるかどうかを確認します。 |
startTemplateActivity | SVG テンプレート アクティビティを永続化し、ネイティブ ライブ アクティビティ ブリッジを開始します。 |
updateTemplateActivity | __CAPGO_KEEP_0__を置き換え、状態、またはURLを開きます。 |
endTemplateActivity | __CAPGO_KEEP_0__を実行し、最後の状態スナップショットをオプションで保存します。 |
performTemplateAction | __CAPGO_KEEP_0__を実行し、フレームの変化、タイマーの変化、イベントのログを含めます。 |
getTemplateActivity | __CAPGO_KEEP_0__を読み取ります。 |
listTemplateActivities | __CAPGO_KEEP_0__をすべて読み取ります。 |
listTemplateEvents | __CAPGO_KEEP_0__からイベントを読み取ります。 |
acknowledgeTemplateEvents | __CAPGO_KEEP_0__を処理済みとしてマークします。 |
startWidgetSession | __CAPGO_KEEP_0__を開始し、共有JSON状態をバックアップします。 |
updateWidgetSession | __CAPGO_KEEP_0__をマージまたは置き換えます。 |
stopWidgetSession | __CAPGO_KEEP_0__を停止し、オプションで最後の状態を保存します。 |
getWidgetSession | __CAPGO_KEEP_0__を読み取ります。 |
listWidgetSessions | __CAPGO_KEEP_0__をすべて読み取ります。 |
sendWidgetMessage | アプリとネイティブウィジェット間のメッセージをキュー code にします。 |
listWidgetMessages | キューされたブリッジメッセージの一覧を表示します。 |
acknowledgeWidgetMessages | ブリッジメッセージを確認済みとしてマークします。 |
completeWidgetMessage | 非同期ブリッジメッセージを完了または失敗します。 |
getPluginVersion | プラットフォーム実装バージョンマーカーを返します。 |
ネイティブピース
「ネイティブピース」セクションプラグインはウィジェットターゲット用のネイティブヘルパーも提供しています。
CapgoTemplateWidgetBridgeSVGテンプレート表面を解決し、svg,frameId,hotspots、およびメタデータを取得します。CapgoTemplateActionIntentインタラクティブなiOSウィジェットボタンのアクションをテンプレートアクションに接続します。CapgoNativeWidgetBridgeネイティブウィジェット code からフルネイティブセッションとメッセージを読み込みます。- Android テンプレート ヘルパーは、対応するアクション受信者とウィジェット ブリッジの動作を提供します。
ソース オブ トゥルース
「ソース オブ トゥルース」というセクション「API」参照はプラグイン リポジトリから同步されています。 src/definitions.ts 「__CAPGO_KEEP_0__」参照の「__CAPGO_KEEP_1__-widget-kit」から続けてください。
「capgo」参照の「capacitor-widget-kit」から続けてください」というセクション
「capgo」参照の「capacitor-widget-kit」を使用している場合「__CAPGO_KEEP_0__」参照の「__CAPGO_KEEP_1__-widget-kit」を使用してCI/CD オートメーションを計画する場合、Cloudflare との接続を確立してください。 「capgo」参照の「capacitor-widget-kit」を使用してネイティブ機能を計画する場合、Cloudflare との接続を確立してください。 「__CAPGO_KEEP_0__」参照の「__CAPGO_KEEP_1__-widget-kit」を使用してネイティブ機能を計画する場合、Cloudflare との接続を確立してください。 Using @capgo/capacitor-widget-kit for the native capability in Using @capgo/capacitor-widget-kit, Capgo CI/CD Capgoの製品ワークフローにおけるCI/CD Capgo Native Builds Capgoの製品ワークフローにおけるNative Builds Capgo Integrations Capgoの製品ワークフローにおけるIntegrations、 CI/CD Integration CI/CD Integrationの実装詳細