Resumen
Sección titulada “Resumen”@capgo/capacitor-widget-kit le da a una aplicación Capacitor dos formas de impulsar widgets y actividades en vivo:
- Actividades de plantillas SVG: defina superficies de WidgetKit como SVG, cambie marcos nombrados desde toques, ejecute temporizadores de pausa/reproducción, mutue el estado JSON y recolecte eventos de acción en la aplicación.
- Sesiones de widget nativo completo: mantenga 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 el trabajo asíncrono.
Demostración
Sección titulada “Demo”
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 renderizan desde la salida SVG | startTemplateActivity, performTemplateAction, listTemplateEvents |
| Sesión de widget nativa completa | Widgets renderizados nativamente que necesitan estado compartido y trabajos asíncronos | startWidgetSession, updateWidgetSession, sendWidgetMessage |
Las dos 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 nativo más rico.
Capacidades de plantillas de SVG
Las plantillas de SVG incluyen los elementos necesarios para superficies de widget interactivas:variantes de SVG nombradas como
frames, osummary,timerpuede cambiar, alternar, o avanzar a través de marcos después de una acción de hotspot.details.frameMutationscomenzar, pausar, reanudar, cambiar, resetear, detener, o cambiar la duración del temporizador.timerMutationsactualizar el estado JSON utilizando valores literales, plantillas, fechas y horas, incrementos, alternativas o operaciones de desestablecimiento.patchesasignar áreas de toque a identificadores de acción.hotspotspermite que la aplicación procese acciones originadas en el widget más tarde.listTemplateEventsLa ejecución resuelve los reemplazos como __CAPGO_KEEP_0__.
La ejecución resuelve los reemplazos como __CAPGO_KEEP_0__. {{state.title}}, {{timers.rest.remainingText}}y antes de que el puente nativo devuelva una superficie para la renderización. {{meta.template.kind}} Capacidades del Puente Nativo Completo
Título de la sección “Capacidades del Puente Nativo Completo”
Las sesiones de código completo son para widgets que renderizan su propia interfaz de usuario de manera 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 en cola el trabajo de aplicación a widget o de widget a aplicación.sendWidgetMessagemarca los mensajes como recibidos.acknowledgeWidgetMessagesalmacena una respuesta o un error para las tareas asíncronas.completeWidgetMessageLos mensajes son idempotentes después de la finalización: repetir un mensaje completado o fallido devuelve el resultado existente en lugar de sobreescribirlo.
Full-Native Bridge Capabilities
API público
Sección titulada “API público”| Método | Descripción |
|---|---|
areActivitiesSupported | Verificar si la puente de actividad nativa de plantilla 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 abrir una URL. |
endTemplateActivity | Finalizar una actividad en ejecución y opcionalmente persistir una instantánea de estado de la última actividad. |
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 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 en cola. |
acknowledgeWidgetMessages | Marcar mensajes de puente como reconocidos. |
completeWidgetMessage | Completar o fallar un mensaje de puente asíncrono. |
getPluginVersion | Devolver el marcador de versión de implementación de plataforma. |
Piezas nativas
Secciones tituladas “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
Secciones tituladas “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 para el flujo de trabajo del producto en Capgo Integraciones, Integración CI/CD para los detalles de implementación en Integración CI/CD.