Saltar al contenido

@capgo/capacitor-kit-de-widget

Kit de Widget y Actividades en Vivo para aplicaciones Capacitor, con plantillas impulsadas por SVG o sincronización de estado de widget completo-nativo.

@capgo/capacitor-widget-kit proporciona a una aplicación Capacitor dos formas de controlar widgets y Actividades en vivo:

  • actividades de plantilla SVG: define superficies de WidgetKit como SVG, cambia marcos nombrados desde toques, ejecuta temporizadores de pausa/reproducción, muta estado JSON y recopila eventos de acción en la aplicación.
  • sesiones de widget nativo completo: mantiene la interfaz de usuario del widget completamente en Swift/Kotlin/Java mientras Capacitor posee el estado JSON compartido y mensajes de la aplicación a la widget o de la widget a la aplicación.

Utilice plantillas SVG cuando su widget puede ser renderizado a partir de cadenas de SVG resueltas. Utilice sesiones de widget nativo completo cuando el widget necesita una interfaz de usuario nativa personalizada pero aún tiene que iniciar, detener, sincronizar estado o pedir a la aplicación que complete trabajo asíncrono.

ModoMejor paraAPI principales
actividad de plantilla SVGActividades en vivo o superficies de widget que se renderizan desde salida SVGstartTemplateActivity, performTemplateAction, listTemplateEvents
Sesión de widget nativa completaWidgets renderizados nativamente que necesitan estado compartido y tareas asíncronasstartWidgetSession, updateWidgetSession, sendWidgetMessage

Ambos modos pueden coexistir en la misma aplicación. Por ejemplo, una aplicación de entrenamiento puede utilizar una Actividad en vivo SVG para controles de marco rápido/tiempo y una sesión de widget nativa completa para un widget de pantalla de inicio con un diseño de layout nativo más rico.

Las plantillas SVG incluyen los elementos necesarios para superficies de widget interactivas:

  • frames variantes de SVG nombradas, como summary, timero details.
  • frameMutations botón, selector, o paso a través de marcos después de una acción de hotspot
  • timerMutations iniciar, pausar, reanudar, cambiar, resetear o detener el temporizador, o cambiar la duración del temporizador
  • patches actualizar el estado JSON utilizando valores literales, plantillas, timestamps, incrementos, botones o operaciones de deshacer
  • hotspots asignar áreas de toque al identificador de acción.
  • listTemplateEvents permite que la aplicación procese acciones originadas por el widget más tarde.

La ejecución resuelve marcadores como __CAPGO_KEEP_0__ {{state.title}}, {{timers.rest.remainingText}}y antes de que la puente nativa devuelva una superficie para la renderización. {{meta.template.kind}} Capacidades de Puente Nativo Completo

crea un estado compartido y metadatos para el widget nativo __CAPGO_KEEP_0__.

  • startWidgetSession creates shared state and metadata for native widget code.
  • updateWidgetSession registra un estado final y marca la sesión detenida.
  • stopWidgetSession coloca trabajo de aplicación a widget o de widget a aplicación.
  • sendWidgetMessage Full-Native Bridge Capabilities
  • acknowledgeWidgetMessages marca mensajes como recibidos.
  • completeWidgetMessage almacena una respuesta o fracaso para trabajos asíncronos.

Los mensajes son idóneos después de la finalización: repetir un mensaje completado o fallido devuelve el resultado existente en lugar de sobreescribirlo.

MétodoDescripción
areActivitiesSupportedVerificar si el puente de actividad de plantilla nativa puede ejecutarse en el dispositivo actual.
startTemplateActivityPersistar una plantilla de actividad SVG y iniciar el puente de Live Activity nativa.
updateTemplateActivityReemplazar la definición de actividad, estado o abrir una URL.
endTemplateActivityFinalizar una actividad en ejecución y opcionalmente persistir una instantánea de estado de una sola vez.
performTemplateActionEjecutar parches declarativos, mutaciones de marco, mutaciones de temporizador y registro de eventos.
getTemplateActivityLeer una actividad de plantilla almacenada.
listTemplateActivitiesListar todas las actividades de plantilla almacenadas.
listTemplateEventsLeer eventos de acción emitidos por acciones de plantilla.
acknowledgeTemplateEventsMarcar eventos de plantilla como procesados.
startWidgetSessionIniciar una sesión de widget nativo completo respaldado por un estado JSON compartido.
updateWidgetSessionUnir o reemplazar el estado de una sesión de widget nativo completo.
stopWidgetSessionDetener una sesión de widget nativo completo y opcionalmente persistir el estado final.
getWidgetSessionLeer una sesión de widget nativo completo.
listWidgetSessionsListar todas las sesiones de widget nativo completo.
sendWidgetMessageColar un mensaje entre la aplicación y el widget nativo code.
listWidgetMessagesListar mensajes de puente programados.
acknowledgeWidgetMessagesMarcar mensajes de puente como reconocidos.
completeWidgetMessageComplete o fracasa un mensaje de puente asíncrono.
getPluginVersionDevuelve el marcador de versión de la implementación de la plataforma.

El plugin también envía ayudantes nativos para objetivos de widget:

  • CapgoTemplateWidgetBridge resuelve una superficie de plantilla SVG en svg, frameId, hotspots, y metadatos.
  • CapgoTemplateActionIntent conecta botones de widget iOS interactivos a acciones de plantilla.
  • CapgoNativeWidgetBridge carga sesiones y mensajes de widget nativo completos desde el widget code.
  • Los ayudantes de plantilla de Android proporcionan comportamiento de recepción de acción y puente de widget coincidente.

La API referencia está sincronizada desde src/definitions.ts en el repositorio de plugins.