Saltare al contenuto

@capgo/capacitor-kit-di-widget

Kit di widget e attività in tempo reale per le app Capacitor, con modelli guidati da SVG o sincronizzazione dello stato del widget nativo completo.

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

  • Attività dei modelli SVG: definisci le superfici del Kit di widget come SVG, passa tra le finestre denominate dai tocchi, esegui timer di pausa/riavvio, modifica lo stato JSON e raccogli gli eventi di azione nell'app.
  • Sessioni di widget nativo completo: mantiene l'interfaccia utente del widget completamente in Swift/Kotlin/Java mentre Capacitor possiede uno stato JSON condiviso e messaggi app-to-widget o widget-to-app.

Utilizza i modelli SVG quando il tuo widget può essere reso da stringhe SVG risolte. Utilizza le sessioni di widget nativo completo quando il widget richiede un'interfaccia utente nativa personalizzata ma deve ancora iniziare, fermare, sincronizzare lo stato o chiedere all'app di completare il lavoro asincrono.

Demo animata di WidgetKit che mostra lo stato del widget di base e i controlli guidati da Capacitor
Flusso del modello del widget
ModoMigliore perAPI principali
Attività SVG del modelloAttività live o superfici di widget che rendono da uscita SVGstartTemplateActivity, performTemplateAction, listTemplateEvents
Sessione del widget nativo completaWidget nativi renderizzati che richiedono stato condiviso e job asincronistartWidgetSession, updateWidgetSession, sendWidgetMessage

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

varianti di SVG denominate, ad esempio

  • frames , o summary, timerpassare da una fase all'altra dopo un'azione hotspot. details.
  • frameMutations avviare, sospensione, riprendere, abilitare, resettare, fermare o modificare la durata del timer.
  • timerMutations aggiornare lo stato JSON utilizzando valori letterali, modelli, timestamp, incrementi, toggle o operazioni di annullamento.
  • patches mappare aree di tocco a identificatori di azione.
  • hotspots consente all'applicazione di elaborare azioni originate dai widget in un momento successivo.
  • listTemplateEvents Il runtime risolve i placeholder come __CAPGO_KEEP_0__.

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

Sezione intitolata “Capacità del Ponte Nativo Completo”

Il ponte nativo completo è per widget che rendono la propria UI nativamente:

crea uno stato condiviso e metadati per il widget nativo __CAPGO_KEEP_0__.

  • startWidgetSession creates shared state and metadata for native widget code.
  • updateWidgetSession registra uno stato finale e segnala la sessione fermata.
  • stopWidgetSession mette in coda il lavoro app-to-widget o widget-to-app.
  • sendWidgetMessage segnala i messaggi come ricevuti.
  • acknowledgeWidgetMessages memorizza una risposta o un fallimento per i job async.
  • completeWidgetMessage I messaggi sono idempotenti dopo la completamento: riprovando un messaggio completato o fallito restituisce il risultato esistente invece di sovrascriverlo.

Full-Native Bridge Capabilities

MetodoDescrizione
areActivitiesSupportedVerifica se il ponte di attività di template nativo può essere eseguito sul dispositivo corrente.
startTemplateActivityPersista un template di attività SVG e avvii il ponte di attività nativo Live.
updateTemplateActivitySostituisci la definizione dell'attività, lo stato o l'URL aperto.
endTemplateActivityTermina un'attività in esecuzione e persisti optionalmente uno snapshot dello stato finale.
performTemplateActionEsegui patch dichiarative, mutazioni di frame, mutazioni di timer e registrazione degli eventi.
getTemplateActivityLeggi un template di attività memorizzato.
listTemplateActivitiesElencare tutte le attività di template memorizzate.
listTemplateEventsLeggi gli eventi di azione emessi dalle azioni di template.
acknowledgeTemplateEventsSegnala eventi di template come elaborati.
startWidgetSessionAvvia una sessione di widget nativo completo supportata da stato JSON condiviso.
updateWidgetSessionUnisci o sostituisci lo stato di sessione del widget nativo completo.
stopWidgetSessionInterrompi una sessione di widget nativo completo e, facoltativamente, persisti lo stato finale.
getWidgetSessionLeggi una sessione di widget nativo completo.
listWidgetSessionsElencare tutte le sessioni di widget nativo completo.
sendWidgetMessageInserisci un messaggio nella coda tra l'app e il widget nativo code.
listWidgetMessagesElencare i messaggi nella coda del bridge.
acknowledgeWidgetMessagesSegnala i messaggi del bridge come riconosciuti.
completeWidgetMessageCompleta o falli un messaggio asincrono del bridge.
getPluginVersionRestituisci il marker di versione dell'implementazione del platform.

Il plugin fornisce anche aiuti nativi per i target widget:

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

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 CI/CD, connettilo con Utilizzando @capgo/capacitor-kit-di-widget per la capacità nativa in Utilizzando @capgo/capacitor-kit-di-widget, @Capgo Automazione CI/CD per il flusso di lavoro del prodotto in @Capgo Automazione 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 i dettagli di implementazione nell'integrazione CI/CD.