Vue d'ensemble
Section intitulée « Vue d'ensemble »@capgo/capacitor-widget-kit fournit à une application Capacitor deux façons de faire fonctionner les widgets et les activités en direct :
- Activités de modèles SVG : définissez les surfaces du kit de widgets en tant que modèles SVG, basculez les noms de fenêtres de la touche, exécutez les temporisations d'arrêt/démarrage, modifiez l'état JSON et collectez les événements d'action dans l'application.
- Sessions de widgets natifs complets : maintenez l'interface utilisateur du widget entièrement en Swift/Kotlin/Java tandis que Capacitor gère l'état JSON partagé et les messages app-à-widget ou widget-à-app.
Utilisez les modèles SVG lorsque votre widget peut être rendu à partir de chaînes de résolution SVG. Utilisez les sessions de widgets natifs complètes lorsque le widget nécessite une interface utilisateur native personnalisée mais doit toujours démarrer, arrêter, synchroniser l'état ou demander à l'application de terminer le travail asynchrone.
Démonstration
Section intitulée “Demo”
Choisissez un mode
Section intitulée “Choisissez un mode”| Mode | Meilleur pour | API principaux |
|---|---|---|
| Activité de modèle SVG | Activités en direct ou surfaces de widget qui rendent à partir de la sortie SVG | startTemplateActivity, performTemplateAction, listTemplateEvents |
| Session de widget natif complète | Widgets rendus nativement qui nécessitent un état partagé et des tâches asynchrones | startWidgetSession, updateWidgetSession, sendWidgetMessage |
Les deux modes peuvent coexister dans la même application. Par exemple, une application de workout peut utiliser une activité SVG Live pour des contrôles de frame/timer rapides et une session de widget natif complète pour un widget d'écran d'accueil avec une disposition native plus riche.
Capacités de modèles SVG
Section intitulée « Capacités de modèles SVG »Les modèles SVG incluent les pièces nécessaires pour les surfaces de widget interactives :
framesdes variantes de SVG nommées telles quesummary,timeroudetails.frameMutationspasser d'une étape à l'autre après une action sur un hotspot.timerMutationslancer, arrêter, reprendre, activer/désactiver, réinitialiser ou modifier la durée du chronomètre.patchesmettre à jour l'état JSON en utilisant des valeurs littérales, des modèles, des horodatages, des incrémentations, des commutateurs ou des opérations d'annulation.hotspotsassocier des zones de tap à des identifiants d'action.listTemplateEventspermet à l'application de traiter les actions provenant du widget plus tard.
Le runtime remplace les marqueurs comme {{state.title}}, {{timers.rest.remainingText}}et {{meta.template.kind}} avant que le pont natif ne retourne une surface pour le rendu.
Capacités du Pont Natif Complet
Titre de la section « Capacités du Pont Natif Complet »Les sessions natives complètes sont pour les widgets qui rendent leur propre interface utilisateur nativement :
startWidgetSessioncrée un état partagé et des métadonnées pour le widget natif code.updateWidgetSessionfusionne ou remplace l'état et marque la session active à nouveau.stopWidgetSessionenregistre un état final et marque la session arrêtée.sendWidgetMessagefile les tâches app-à-widget ou widget-à-app.acknowledgeWidgetMessagesmarque les messages comme reçus.completeWidgetMessagestocke une réponse ou un échec pour les tâches asynchrones.
Les messages sont idempotents après la fin : réessayer un message terminé ou échoué retourne le résultat existant au lieu de l'effacer.
Public API
Section intitulée « Public API »| Méthode | Description |
|---|---|
areActivitiesSupported | Vérifiez si le pont d'activité de modèle natif peut s'exécuter sur le dispositif actuel. |
startTemplateActivity | Persistez un modèle d'activité SVG et démarrez le pont de Live Activity natif. |
updateTemplateActivity | Remplacez la définition d'activité, l'état ou l'URL ouverte. |
endTemplateActivity | Terminez une activité en cours et persistez éventuellement un dernier instantané d'état. |
performTemplateAction | Exécutez des patchs déclaratifs, des mutations de cadre, des mutations de temporisateur et des journaux d'événements. |
getTemplateActivity | Lisez une activité de modèle stockée. |
listTemplateActivities | Listez toutes les activités de modèle stockées. |
listTemplateEvents | Lisez les événements d'action émis par les actions de modèle. |
acknowledgeTemplateEvents | Marquer les événements de modèle comme traités. |
startWidgetSession | Lancer une session de widget natif complète basée sur un état JSON partagé. |
updateWidgetSession | Fusionner ou remplacer l'état d'une session de widget natif complète. |
stopWidgetSession | Arrêter une session de widget natif complète et conserver l'état final si nécessaire. |
getWidgetSession | Lire une session de widget natif complète. |
listWidgetSessions | Lister toutes les sessions de widget natif complètes. |
sendWidgetMessage | Enfile une message entre l'application et le widget natif code. |
listWidgetMessages | Lister les messages de pont en attente. |
acknowledgeWidgetMessages | Marquer les messages de pont comme reconnus. |
completeWidgetMessage | Terminer ou échouer un message de pont asynchrone. |
getPluginVersion | Récupérer la marque de version de l'implémentation du plateforme. |
Pièces Natives
Section intitulée “Pièces natives”Le plugin embarque également des aides natives pour les cibles de widget :
CapgoTemplateWidgetBridgerésout une surface de modèle SVG ensvg,frameId,hotspots, et les métadonnées.CapgoTemplateActionIntentconnecte les boutons de widget interactifs iOS à des actions de modèle.CapgoNativeWidgetBridgecharge des sessions et des messages natives complets à partir du widget code.- Les aides de modèl’Android fournissent un comportement de réception d'action et de pont de widget correspondant.
Source De Vérité
Section intitulée “Source De Vérité”La référence API est synchronisée à partir src/definitions.ts du référentiel du plugin.
Continuez à partir de @capgo/capacitor-widget-kit
Section intitulée « Continuer à partir de @capgo/capacitor-kit-de-widgets »Si vous utilisez @capgo/capacitor-kit-de-widgets pour planifier l'automatisation CI/CD, connectez-l’avec Utilisation de @capgo/capacitor-kit-de-widgets pour la capacité native dans Utilisation de @capgo/capacitor-kit-de-widgets, Capgo CI/CD pour le flux de travail du produit dans Capgo CI/CD, Capgo Builds natifs pour le flux de travail du produit dans Capgo Builds natifs, Capgo Intégrations for the product workflow in Capgo Integrations, and Intégration CI/CD pour les détails d'implémentation dans l'intégration CI/CD.