概要
概要@capgo/capacitor-widget-kit Capacitor アプリには、ウィジェットとライブ アクティビティを制御する 2 つの方法があります。
- SVG テンプレート活動: WidgetKit 表面を SVG で定義、タップから名前を切り替え、タイマーを停止/再生、JSON ステートを変化させ、そしてアプリ内でアクション イベントを収集。
- フルネイティブ ウィジェット セッション: Capacitor が所有する共有 JSON ステートとアプリからウィジェットへのメッセージやウィジェットからアプリへのメッセージを含めながら、ウィジェット UI を完全に Swift/Kotlin/Java で維持します。
__CAPGO_KEEP_0__ が解決された 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をレンダリングするウィジェット用です:ネイティブウィジェット__CAPGO_KEEP_0__の共有状態とメタデータを作成します。
startWidgetSessioncreates shared state and metadata for native widget code.updateWidgetSession最終状態を記録し、セッションを停止します。stopWidgetSessionFull-Native Bridge CapabilitiessendWidgetMessage__CAPGO_KEEP_0__acknowledgeWidgetMessages__CAPGO_KEEP_0__completeWidgetMessage__CAPGO_KEEP_0__
__CAPGO_KEEP_0__
Public API
Public API| __CAPGO_KEEP_0__ | __CAPGO_KEEP_0__ |
|---|---|
areActivitiesSupported | __CAPGO_KEEP_0__ |
startTemplateActivity | __CAPGO_KEEP_0__ |
updateTemplateActivity | __CAPGO_KEEP_0__ |
endTemplateActivity | __CAPGO_KEEP_0__ |
performTemplateAction | __CAPGO_KEEP_0__ |
getTemplateActivity | 1つの保存されたテンプレートアクティビティを読みます。 |
listTemplateActivities | 保存されたテンプレートアクティビティのリストを表示します。 |
listTemplateEvents | テンプレートアクションから発生したアクションイベントを読みます。 |
acknowledgeTemplateEvents | テンプレートイベントを処理済みとしてマークします。 |
startWidgetSession | 共有JSONステートをバックアップするフルネイティブウィジェットセッションを開始します。 |
updateWidgetSession | フルネイティブウィジェットセッションのステートをマージまたは置き換えます。 |
stopWidgetSession | フルネイティブウィジェットセッションを停止し、オプションで最終ステートを保存します。 |
getWidgetSession | 1つのフルネイティブウィジェットセッションを読みます。 |
listWidgetSessions | フルネイティブウィジェットセッションのリストを表示します。 |
sendWidgetMessage | Queue a message between the app and native widget code. |
listWidgetMessages | キュー内のブリッジメッセージのリストを表示します。 |
acknowledgeWidgetMessages | __CAPGO_KEEP_0__ |
completeWidgetMessage | 非同期ブリッジメッセージを完了または失敗します。 |
getPluginVersion | プラットフォーム実装バージョンマーカーを返します。 |
ネイティブピース
「ネイティブピース」セクションプラグインには、ウィジェットターゲット用のネイティブヘルパーも同梱されています。
CapgoTemplateWidgetBridgeSVGテンプレート表面を解決します。svg,frameId,hotspotsウィジェットのアクションとメタデータを提供します。CapgoTemplateActionIntentiOSウィジェットのインタラクティブボタンをテンプレートアクションに接続します。CapgoNativeWidgetBridgeloads full-native sessions and messages from native widget code.- Androidテンプレートヘルパーは、ウィジェットブリッジの動作とアクション受信者を提供します。
ソースオブトゥルス
「ソース オブ トゥルース」セクションAPI リファレンスは、 src/definitions.ts プラグイン リポジトリから同期されています。
capgoから始めて、@capacitor-widget-kit/__CAPGO_KEEP_2__
「capgoから始めて、@capacitor-widget-kit」」セクションCapgoを使用している場合 @capgo/capacitor-widget-kit CI/CD自動化の計画に使用している場合、@__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-widget-kit Using @capgo/capacitor-widget-kit @capgo/capacitor-widget-kit Capgo CI/CD 「@Capgo/__CAPGO_KEEP_1__-widget-kit」を使用して、Capacitorのネイティブ機能を使用してください。 Capgoネイティブビルド Capgoネイティブビルドの製品ワークフロー用 Capgo統合 Capgo統合の製品ワークフロー用、 CI/CD統合 CI/CD統合の実装詳細用