Mit __CAPGO_KEEP_0__ iOS WidgetKit- und Live Activity-Oberflächen erstellen Sie mit SVG-Rahmenvorlagen, Zeitern, Aktionshotspots und einer vollständigen nativen Widgetbrücke.

@capgo/capacitor-WidgetKit

WidgetKit und Live-Aktivitäten für Capacitor-Apps, mit SVG-getriebenen Vorlagen oder vollständiger nativer Widget-Synchronisierung.

@capgo/capacitor-widget-kit ermöglicht es einer Capacitor-App zwei Möglichkeiten, Widgets und Live-Aktivitäten zu steuern:

  • SVG-Vorlagenaktivitäten: Definieren Sie WidgetKit-Oberflächen als SVG, wechseln Sie benannte Frames von Tasten, starten Sie Pause-/Wiedergabe-Timer, ändern Sie JSON-Zustände und sammeln Sie Ereignisse in der App.
  • Voll-nativer Widget-Sitzungen: Halten Sie die Widget-UI vollständig in Swift/Kotlin/Java, während Capacitor gemeinsame JSON-Zustände und App-zu-Widget- oder Widget-zu-App-Nachrichten besitzt.

Verwenden Sie SVG-Vorlagen, wenn Ihr Widget aus aufgelösten SVG-Strings renderbar ist. Verwenden Sie voll-nativen Sitzungen, wenn das Widget eine benutzerdefinierte native UI benötigt, aber noch immer starten, stoppen, den Zustand synchronisieren oder die App auffordern muss, asynche Arbeit abzuschließen.

Animierte WidgetKit-Demo, die den Zustand des Vorlagen-Widgets und die Steuerung durch Capacitor anzeigt
Widget-Vorlagen-Fluss
ModusAm besten geeignet fürHaupt-APIs
SVG-VorlagenaktivitätLebendige Aktivitäten oder Widgets, die von SVG-Ausgaben gerendert werdenstartTemplateActivity, performTemplateAction, listTemplateEvents
Voll-nativer WidgetsitzWidgets, die nativ gerendert werden und gemeinsamen Zustand und asynchrone Aufgaben benötigenstartWidgetSession, updateWidgetSession, sendWidgetMessage

Beide Modi können in derselben App coexistieren. Zum Beispiel kann ein Workout-App ein SVG-Lebendiges Aktivitätsfenster für schnelle Frame-/Timersteuerung und einen voll-nativen Widgetsitz für ein Home-Screen-Widget mit einem reicheren nativen Layout verwenden.

SVG-Templates enthalten die erforderlichen Teile für interaktive Widget-Oberflächen:

  • frames Halten Sie benannte SVG-Varianten wie summary, timer, oder details.
  • frameMutations Schalten Sie nach einem Hotspot-Aktionsschalter durch, um durch Frames zu schalten.
  • timerMutations Starten, pausieren, fortsetzen, umschalten, zurücksetzen, stoppen oder die Timerdauer ändern.
  • patches Aktualisieren Sie die JSON-Zustandsdaten mit Literalwerten, Mustern, Zeitstempeln, Inkrementen, Umschaltungen oder Löschoperationen.
  • hotspots Zuweisen Sie Berührungsbereiche zu Aktionen identifizieren.
  • listTemplateEvents erlaubt dem App-Verarbeitungsprozess Widget-geleitete Aktionen später.

Die Laufzeit löst Platzhalter wie {{state.title}}, {{timers.rest.remainingText}}, und {{meta.template.kind}} bevor die native Brücke eine Oberfläche für das Rendering zurückgibt.

Voll-native Sitzungen sind für Widgets vorgesehen, die ihre eigene UI natively rendern:

  • startWidgetSession erstellt gemeinsame Zustände und Metadaten für das native Widget code.
  • updateWidgetSession vereint oder ersetzt Zustände und markiert die Sitzung wieder als aktiv.
  • stopWidgetSession rekordiert einen finalen Zustand und markiert die Sitzung als gestoppt.
  • sendWidgetMessage wirkt App-zu-Widget- oder Widget-zu-App-Aufgaben an.
  • acknowledgeWidgetMessages markiert Nachrichten als empfangen.
  • completeWidgetMessage speichert eine Antwort oder einen Fehler für asynchrone Aufgaben.

Nachrichten sind idempotent nach Abschluss: Wiederholen einer abgeschlossenen oder fehlgeschlagenen Nachricht gibt das bestehende Ergebnis zurück, anstatt es zu überschreiben.

MethodeBeschreibung
areActivitiesSupportedÜberprüfen, ob die native Template-Aktivitätsbrücke auf dem aktuellen Gerät ausgeführt werden kann.
startTemplateActivitySpeichern Sie ein SVG-Template-Aktivität und starten Sie die native Live-Aktivitätsbrücke.
updateTemplateActivityErsetzen Sie die Aktivitätsdefinition, den Zustand oder die geöffnete URL.
endTemplateActivityBeenden Sie eine laufende Aktivität und speichern Sie optional ein letztes Zustands-Snapshot.
performTemplateActionAusführen Sie deklarative Patches, Frame-Mutationen, Timer-Mutationen und Ereignis-Protokollierung.
getTemplateActivityEine gespeicherte Template-Aktivität lesen.
listTemplateActivitiesAlle gespeicherten Template-Aktivitäten auflisten.
listTemplateEventsAktionsevents, die von Template-Aktionen emittiert werden, lesen.
acknowledgeTemplateEventsTemplate-Ereignisse als bearbeitet markieren.
startWidgetSessionEinen vollständigen Widget-Sitzung starten, der von gemeinsam genutztem JSON-Zustand unterstützt wird.
updateWidgetSessionMischen oder einen vollständigen Widget-Sitzungszustand ersetzen.
stopWidgetSessionEine vollständige Widget-Sitzung beenden und optionalen den finalen Zustand speichern.
getWidgetSessionEine vollständige Widget-Sitzung lesen.
listWidgetSessionsAlle vollständigen Widget-Sitzungen auflisten.
sendWidgetMessageQueue a message between the app and native widget code.
listWidgetMessagesDie in der Warteschlange stehenden Bridge-Nachrichten auflisten.
acknowledgeWidgetMessagesDie Bridge-Nachrichten als bestätigt markieren.
completeWidgetMessageEin asynchroner Bridge-Nachrichten abschließen oder fehlschlagen.
getPluginVersionDie Versionsmarke der Plattformimplementierung zurückgeben.

Das Plugin liefert auch native Hilfsfunktionen für Zielwidgete:

  • CapgoTemplateWidgetBridge löst eine SVG-Vorlagenoberfläche in svg, frameId, hotspots, und Metadaten.
  • CapgoTemplateActionIntent verbindet interaktive iOS-Widget-Buttons mit Vorlagenaktionen.
  • CapgoNativeWidgetBridge lädt vollständige native Sitzungen und Nachrichten von native Widgeten code.
  • Android-Vorlagenhilfen bieten entsprechende Empfangs- und Brückenelemente für Widgets.

Die API-Referenz wird von src/definitions.ts im Plugin-Repository synchronisiert.

If Sie __CAPGO_KEEP_0__ verwenden @capgo/capacitor-widget-kit um die CI/CD-Automatisierung zu planen, verbinden Sie es mit Mit @capgo/capacitor-widget-kit für die native Fähigkeit in Mit @capgo/capacitor-widget-kit, Capgo CI/CD für den Produktworkflow in Capgo CI/CD, Capgo Native Builds für den Produktworkflow in Capgo Native Builds, Capgo Integrations for the product workflow in Capgo Integrations, and für den Produktworkflow in __CAPGO_KEEP_0__ Integrations, und das CI/CD-Integration {"targetLanguage":"German","pagePath":"/de/docs/plugins/widget-kit/","protectedTokens":["Cloudflare","Capacitor","GitHub","Capgo","code","API","SDK","CLI","npm","bun"],"items":[{"text":"Für die Implementierungsdetails in der CI/CD-Integration."},{"text":"Seite bearbeiten"}]}