@capgo/capacitor-kit-de-widget
Resumen
Sección titulada “Resumen”@capgo/capacitor-widget-kit proporciona a una aplicación Capacitor dos formas de impulsar 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 nativas completas: 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 nativas completas 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.
Demostración
Sección titulada “Demo”
Elige un modo
Sección titulada “Elige un modo”| Modo | Lo mejor para | API principales |
|---|---|---|
| Actividad de plantilla SVG | Actividades en vivo o superficies de widget que se renderizan desde la salida SVG | startTemplateActivity, performTemplateAction, listTemplateEvents |
| Sesión de widget nativo completa | Widgets renderizados nativamente que necesitan estado compartido y tareas asíncronas | startWidgetSession, updateWidgetSession, sendWidgetMessage |
En ambos modos pueden coexistir en la misma aplicación. Por ejemplo, una aplicación de entrenamiento puede utilizar una Actividad de SVG en vivo para controles de marco/tiempo rápidos y una sesión de widget nativo completa para un widget de pantalla de inicio con un diseño nativo más rico.
Capacidades del modelo de plantilla SVG
Título de la sección “Capacidades del modelo de plantilla SVG”Las plantillas SVG incluyen las piezas necesarias para superficies de widget interactivas:
framesvariantes de SVG nombrados comosummary,timerodetails.frameMutationspulsar, cambiar, o avanzar por marcos después de una acción de hotspot.timerMutationsiniciar, pausar, reanudar, activar/desactivar, resetear, detener, o cambiar la duración del temporizador.patchesactualizar el estado JSON utilizando valores literales, plantillas, timestamps, incrementos, activadores/desactivadores o operaciones de eliminación.hotspotsasignar áreas de toque a identificadores de acción.listTemplateEventspermite que la aplicación procese acciones originadas en el widget más tarde.
El tiempo de ejecución resuelve los reemplazos como {{state.title}}, {{timers.rest.remainingText}}y {{meta.template.kind}} antes de que la puente nativa devuelva una superficie para la renderización.
Títulos de sección
Título de sección “Capacidades de la puente nativa completa”Las sesiones de tipo completo-nativo son para widgets que renderizan su propia interfaz de usuario de manera nativa:
startWidgetSessioncrea un estado compartido y metadatos para el widget nativo code.updateWidgetSessioncombina o reemplaza el estado y marca la sesión activa de nuevo.stopWidgetSessionregistra un estado final y marca la sesión detenida.sendWidgetMessagecoloca en cola el trabajo de aplicación a widget o widget a aplicación.acknowledgeWidgetMessagesmarca los mensajes como recibidos.completeWidgetMessagealmacena una respuesta o un error para las tareas asíncronas.
Los mensajes son idempotentes después de la finalización: repetir un mensaje completado o fallido devuelve el resultado existente en lugar de sobrescribirlo.
Público API
Sección titulada “Público API”| Método | Descripción |
|---|---|
areActivitiesSupported | Verificar si la puente de actividad de plantilla nativa puede ejecutarse en el dispositivo actual. |
startTemplateActivity | Persistir una plantilla de actividad SVG y iniciar la puente de actividad nativa Live. |
updateTemplateActivity | Reemplazar la definición de actividad, el estado o la URL abierta. |
endTemplateActivity | Finalizar una actividad en ejecución y opcionalmente persistir una instantánea de estado de la última snapshot. |
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 completa respaldada por un estado JSON compartido. |
updateWidgetSession | Unir o reemplazar el estado de sesión de widget nativo completa. |
stopWidgetSession | Detener una sesión de widget nativo completa y opcionalmente persistir el estado final. |
getWidgetSession | Leer una sesión de widget nativo completa. |
listWidgetSessions | Listar todas las sesiones de widget nativo completa. |
sendWidgetMessage | Colar un mensaje entre la aplicación y el widget nativo code. |
listWidgetMessages | Listar mensajes de puente colados. |
acknowledgeWidgetMessages | Marcar mensajes de puente como reconocidos. |
completeWidgetMessage | Concluir o fallar un mensaje de puente asíncrono. |
getPluginVersion | Devolver el marcador de versión de la implementación de 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 interactivos de iOS a acciones de plantilla.CapgoNativeWidgetBridgecarga sesiones y mensajes nativos completos desde el widget code.- Los ayudantes de plantilla de Android proporcionan comportamiento de receptor de acción y puente de widget coincidente.
Fuente de Verdad
Sección titulada “Fuente de Verdad”La referencia API se sincroniza desde src/definitions.ts en el repositorio del plugin.
Sigue adelante desde @capgo/capacitor-kit-de-widget
Sección titulada “Sigue adelante desde @capgo/capacitor-kit de widget”Si estás utilizando @capgo/capacitor-kit de widget para planificar la automatización de CI/CD, conecta con Usando @capgo/capacitor-kit de widget para la capacidad nativa en Usando @capgo/capacitor-kit de widget, Capgo CI/CD para el flujo de trabajo del producto en Capgo CI/CD, Capgo Compilaciones nativas para el flujo de trabajo del producto en Capgo Compilaciones nativas, Capgo Integraciones for the product workflow in Capgo Integrations, and Integración CI/CD para los detalles de implementación en la Integración CI/CD