Resumen
Sección titulada “Resumen”@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.
Elegir un Modo
Sección titulada “Elegir un Modo”| Modo | Mejor para | API principales |
|---|---|---|
| actividad de plantilla SVG | Actividades en vivo o superficies de widget que se renderizan desde salida SVG | startTemplateActivity, performTemplateAction, listTemplateEvents |
| Sesión de widget nativa completa | Widgets renderizados nativamente que necesitan estado compartido y tareas asíncronas | startWidgetSession, 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.
Capacidades de plantilla SVG
Sección titulada “Capacidades de plantilla SVG”Las plantillas SVG incluyen los elementos necesarios para superficies de widget interactivas:
framesvariantes de SVG nombradas, comosummary,timerodetails.frameMutationsbotón, selector, o paso a través de marcos después de una acción de hotspottimerMutationsiniciar, pausar, reanudar, cambiar, resetear o detener el temporizador, o cambiar la duración del temporizadorpatchesactualizar el estado JSON utilizando valores literales, plantillas, timestamps, incrementos, botones o operaciones de deshacerhotspotsasignar áreas de toque al identificador de acción.listTemplateEventspermite 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
Sección titulada “Capacidades de Puente Nativo Completo”
Las sesiones de código completo son para widgets que renderizan su propia interfaz de usuario de forma nativa:crea un estado compartido y metadatos para el widget nativo __CAPGO_KEEP_0__.
startWidgetSessioncreates shared state and metadata for native widget code.updateWidgetSessionregistra un estado final y marca la sesión detenida.stopWidgetSessioncoloca trabajo de aplicación a widget o de widget a aplicación.sendWidgetMessageFull-Native Bridge CapabilitiesacknowledgeWidgetMessagesmarca mensajes como recibidos.completeWidgetMessagealmacena 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.
Público API
Sección titulada “Público API”| Método | Descripción |
|---|---|
areActivitiesSupported | Verificar si el puente de actividad de plantilla nativa puede ejecutarse en el dispositivo actual. |
startTemplateActivity | Persistar una plantilla de actividad SVG y iniciar el puente de Live Activity nativa. |
updateTemplateActivity | Reemplazar la definición de actividad, estado o abrir una URL. |
endTemplateActivity | Finalizar una actividad en ejecución y opcionalmente persistir una instantánea de estado de una sola vez. |
performTemplateAction | Ejecutar parches declarativos, mutaciones de marco, mutaciones de temporizador y registro de eventos. |
getTemplateActivity | Leer una actividad de plantilla almacenada. |
listTemplateActivities | Listar todas las actividades de plantilla almacenadas. |
listTemplateEvents | Leer eventos de acción emitidos por acciones de plantilla. |
acknowledgeTemplateEvents | Marcar eventos de plantilla como procesados. |
startWidgetSession | Iniciar una sesión de widget nativo completo respaldado por un estado JSON compartido. |
updateWidgetSession | Unir o reemplazar el estado de una sesión de widget nativo completo. |
stopWidgetSession | Detener una sesión de widget nativo completo y opcionalmente persistir el estado final. |
getWidgetSession | Leer una sesión de widget nativo completo. |
listWidgetSessions | Listar todas las sesiones de widget nativo completo. |
sendWidgetMessage | Colar un mensaje entre la aplicación y el widget nativo code. |
listWidgetMessages | Listar mensajes de puente programados. |
acknowledgeWidgetMessages | Marcar mensajes de puente como reconocidos. |
completeWidgetMessage | Complete o fracasa un mensaje de puente asíncrono. |
getPluginVersion | Devuelve el marcador de versión de la implementación de la plataforma. |
Piezas nativas
Sección titulada “Piezas nativas”El plugin también envía ayudantes nativos para objetivos de widget:
CapgoTemplateWidgetBridgeresuelve una superficie de plantilla SVG ensvg,frameId,hotspots, y metadatos.CapgoTemplateActionIntentconecta botones de widget iOS interactivos a acciones de plantilla.CapgoNativeWidgetBridgecarga 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.
Fuente de Verdad
Sección titulada “Fuente de Verdad”La API referencia está sincronizada desde src/definitions.ts en el repositorio de plugins.