Saltare alla navigazione principale

@capgo/capacitor-widget-kit

WidgetKit e attività in tempo reale per Capacitor app, con template SVG guidati o sincronizzazione dello stato del widget nativo completo.

@capgo/capacitor-widget-kit fornisce a un'app Capacitor due modi per gestire i widget e le attività in tempo reale:

  • attività di template SVG: definisci superfici WidgetKit come SVG, passa da frame denominati a tocchi, esegui timer di pausa/riavvio, muta stato JSON e raccogli eventi di azione nell'app.
  • sessioni di widget native complete: mantieni l'interfaccia utente del widget completamente in Swift/Kotlin/Java mentre Capacitor gestisce lo stato JSON condiviso e i messaggi app-to-widget o widget-to-app.

Usa i template SVG quando il tuo widget può essere reso da stringhe SVG risolte. Usa sessioni native complete quando il widget richiede un'interfaccia utente nativa personalizzata ma deve ancora avviarsi, fermarsi, sincronizzare lo stato o chiedere all'app di completare il lavoro asincrono.

Demo animata di WidgetKit che mostra lo stato e i controlli del widget di template gestiti da Capacitor
Flusso del template del widget
ModalitàMiglior perAPI principali
Attività di template SVGAttività Live o superfici widget che renderizzano da output SVGstartTemplateActivity, performTemplateAction, listTemplateEvents
Sessione widget nativa completaWidget nativi renderizzati che richiedono stato condiviso e job asincronistartWidgetSession, updateWidgetSession, sendWidgetMessage

Entrambe le modalità possono esistere nello stesso app. Ad esempio, un'app di allenamento può utilizzare un'attività Live SVG per controlli di frame/timer veloci e una sessione widget nativa completa per un widget di schermo principale con un layout nativo più ricco.

I template SVG includono le parti necessarie per superfici widget interattive:

  • frames varianti di SVG denominate summary, timero switch, toggle, o passare attraverso le frame dopo un'azione hotspot. details.
  • frameMutations iniziare, sospensione, ripresa, toggle, reset, fermare, o modificare la durata del timer.
  • timerMutations aggiornare lo stato JSON utilizzando valori letterali, template, timestamp, incrementi, toggle o operazioni di cancellazione.
  • patches mappare aree di tocco a identificatori di azione.
  • hotspots il processo dell'app consente azioni originate dai widget in un momento successivo.
  • listTemplateEvents Il runtime risolve i placeholder come

, e {{state.title}}, {{timers.rest.remainingText}}prima che il ponte nativo restituisca una superficie per la rendering. {{meta.template.kind}} Capacità del Ponte Nativo Completo

Sottosezione intitolata “Capacità del Ponte Nativo Completo”

I sessioni full-native sono per i widget che rendono la propria UI in modo nativo:

aggiornare lo stato JSON utilizzando valori letterali, template, timestamp, incrementi, toggle o operazioni di cancellazione.

  • startWidgetSession crea uno stato e metadati condivisi per il widget nativo code.
  • updateWidgetSession unisce o sostituisce lo stato e segnala la sessione attiva nuovamente.
  • stopWidgetSession registra uno stato finale e segnala la sessione fermata.
  • sendWidgetMessage mette in coda il lavoro app-to-widget o widget-to-app.
  • acknowledgeWidgetMessages segna i messaggi come ricevuti.
  • completeWidgetMessage memorizza una risposta o un fallimento per i lavori asincroni.

I messaggi sono idempotenti dopo la loro completamento: riprovando un messaggio completato o fallito si ottiene il risultato esistente al posto di sovrascriverlo.

MetodoDescrizione
areActivitiesSupportedVerifica se il ponte di attività del template nativo può eseguirsi sul dispositivo corrente.
startTemplateActivityMantieni un'attività di template SVG e avvia il ponte di attività nativa Live.
updateTemplateActivitySostituisci la definizione, lo stato o l'URL aperto dell'attività.
endTemplateActivityTermina un'attività in esecuzione e, facoltativamente, persisti un ultimo snapshot di stato.
performTemplateActionEsegui patch dichiarative, mutazioni di frame, mutazioni di timer e registrazione degli eventi.
getTemplateActivityLeggi un'attività di template archiviata.
listTemplateActivitiesElencare tutte le attività di template archiviate.
listTemplateEventsLeggi gli eventi di azione emessi dalle azioni di template.
acknowledgeTemplateEventsSegna gli eventi di template come elaborati.
startWidgetSessionAvvia una sessione di widget nativa completa supportata da uno stato JSON condiviso.
updateWidgetSessionUnisci o sostituisci uno stato di sessione di widget nativa completa.
stopWidgetSessionInterrompi una sessione di widget nativa e, facoltativamente, persisti lo stato finale.
getWidgetSessionLeggi una sessione di widget nativa completa.
listWidgetSessionsElencare ogni sessione di widget nativo completo.
sendWidgetMessageInserire un messaggio tra l'app e il widget nativo code.
listWidgetMessagesElencare i messaggi di ponte in coda.
acknowledgeWidgetMessagesSegnalare i messaggi di ponte come riconosciuti.
completeWidgetMessageConcludere o fallire un messaggio di ponte asincrono.
getPluginVersionRestituire il marchio di versione dell'implementazione della piattaforma.

Il plugin fornisce anche aiuti nativi per i target di widget: risolve una superficie di template SVG in

  • CapgoTemplateWidgetBridge e metadati. svg, frameId, hotspotsconnette i pulsanti di widget iOS interattivi a azioni di template.
  • CapgoTemplateActionIntent risolve un template di superficie SVG in
  • CapgoNativeWidgetBridge carica sessioni e messaggi full-native dal widget nativo code.
  • Gli aiuti di template per Android forniscono comportamento di ricezione di azione e ponte widget.

La API di riferimento è sincronizzata da src/definitions.ts nel repository del plugin.

Se stai utilizzando @capgo/capacitor-kit-di-widget per pianificare l'automazione di CI/CD, connettilo con Utilizzando @capgo/capacitor-kit-di-widget per la capacità nativa in Utilizzo di @capgo/capacitor-kit di widget, Capgo CI/CD per il flusso di lavoro del prodotto in Capgo CI/CD, Capgo Costruzioni native per il flusso di lavoro del prodotto in Capgo Costruzioni native, Capgo Integrazioni per il flusso di lavoro del prodotto in Capgo Integrazioni, e Integrazione CI/CD per la dettaglio di implementazione in Integrazione CI/CD.