@capgo/capacitor-widget-kit da un Capacitor aplicación dos formas de impulsar widgets y Actividades en vivo:
- Sesiones de widget nativo completo: mantenga la interfaz de usuario del widget completamente en Swift/Kotlin/Java mientras __CAPGO_KEEP_0__ propietario del estado JSON compartido y mensajes de aplicación a widget o widget a aplicación.
- Sesiones de widget nativas completas: mantenga la interfaz de usuario del widget completamente en Swift/Kotlin/Java mientras Capacitor gestiona el estado JSON compartido y los mensajes entre la aplicación y el widget o viceversa.
Utilice plantillas SVG cuando su widget se puede renderizar a partir de cadenas de SVG resueltas. Utilice sesiones nativas completas cuando el widget necesita una interfaz de usuario nativa personalizada pero aún tiene que iniciar, detener, sincronizar el estado o pedir al aplicativo que complete el trabajo asíncrono.
Demostración
Sección titulada “Demostración”
Elige un modo
Sección titulada “Elige 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 nativo completo | widgets renderizados nativamente que necesitan estado compartido y tareas asíncronas | startWidgetSession, updateWidgetSession, sendWidgetMessage |
Ambas modalidades 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 completo para un widget de pantalla de inicio con un diseño de layout nativo más rico.
Capacidades de plantilla SVG
Título de la sección “Capacidades de plantilla SVG”Las plantillas SVG incluyen los elementos necesarios para superficies de widget interactivas:
framesvariantes de SVG nombradas tales comosummary,timer, odetails.frameMutationspulsar, cambiar, o avanzar por marcos después de una acción de hotspot.timerMutationsiniciar, pausar, reanudar, cambiar, resetear, detener, o cambiar la duración del temporizador.patchesactualizar el estado JSON utilizando valores literales, plantillas, timestamps, incrementos, botones o operaciones de deshacer.hotspotsasignar áreas de toque a identificadores de acción.listTemplateEventspermite que el app procese acciones originadas por widgets más tarde.
La ejecución resuelve marcadores como {{state.title}}, {{timers.rest.remainingText}}, y {{meta.template.kind}} antes de que el puente nativo devuelva una superficie para la renderización.
Capacidades del Puente Nativo Completo
Capacidad de puente nativo completoFull-native sessions are for widgets that render their own UI natively:
startWidgetSessioncrea un estado compartido y metadatos para el widget nativo code.updateWidgetSessioncombina o reemplaza el estado y marca la sesión activa nuevamente.stopWidgetSessionregistra un estado final y marca la sesión detenida.sendWidgetMessagefilas de trabajo entre la aplicación y el widget.acknowledgeWidgetMessagesmarca mensajes como recibidos.completeWidgetMessagealmacena una respuesta o fracaso para trabajos asíncronos.
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 de Live. |
updateTemplateActivity | Sustituir la definición de actividad, estado o URL de apertura. |
endTemplateActivity | Detener una actividad en ejecución y opcionalmente persistir una instantánea del estado final. |
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 programados. |
acknowledgeWidgetMessages | Marcar mensajes de puente como reconocidos. |
completeWidgetMessage | Concluir o fallar 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,hotspotsy metadatos.CapgoTemplateActionIntentconecta botones de widget interactivos de iOS a acciones de plantilla.CapgoNativeWidgetBridgecarga sesiones y mensajes nativos completos desde el widget code.- Ayudas 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 de plugins.
Sigue adelante desde @capgo/capacitor-widget-kit
Sección titulada “Sigue adelante desde @capgo/capacitor-widget-kit”Si estás utilizando @capgo/capacitor-kit-de-widget para planificar la automatización de CI/CD, conecta con Usando @capgo/capacitor-widget-kit para la capacidad nativa en Usando @capgo/capacitor-widget-kit Capgo CI/CD para el flujo de trabajo del producto en Capgo CI/CD Capgo Builds Nativos para el flujo de trabajo del producto en Capgo Builds Nativos Capgo Integraciones para el flujo de trabajo del producto en Capgo Integraciones, y Integración CI/CD para el detalle de implementación en Integración CI/CD.