Prérequis
- La dernière version de notre SDK.
- iOS 16.1+ et iPadOS 17+
- Utilisez une clé APNs .p8. Apple ne prend pas en charge les certificats p12 avec les Live Activities.
- Xcode 14 ou supérieur
Configuration
1. Configurer notre SDK
Assurez-vous d’avoir configuré la version la plus récente de notre SDK Mobile sur votre application. Les Live Activities ne sont pas disponibles pour les sites web ni avec notre SDK Web.
Unity
Guide SDK multiplateforme pour applications mobiles Unity.

React Native & Expo
Instructions de configuration pour les environnements React Native et Expo.

Flutter
Guide SDK pour applications Flutter utilisant Dart.

Ionic & Ionic Capacitor
Configuration pour applications mobiles hybrides Ionic et Capacitor.
.NET MAUI
Guide d’intégration pour applications .NET MAUI.

Huawei Android Native
Configuration SDK pour appareils Huawei utilisant les services push HMS.
2. Ajouter la nouvelle méthode setupDefault
Pour indiquer au SDK OneSignal de gérer le cycle de vie LiveActivity pour le type DefaultLiveActivityAttributes, vous pouvez appeler la méthode setupDefault. Cette méthode vous permet d’utiliser à la fois les API Démarrer Live Activity et Mettre à jour Live Activity pour démarrer/mettre à jour/terminer la Live Activity par défaut.
3. Créer un Widget Activity
1
Mettre à jour votre Info.plist
Dans Xcode, ouvrez le 
Info.plist de votre cible principale, ajoutez la clé Supports Live Activities en tant que Boolean, et définissez-la sur YES.
Ajouter la clé Supports Live Activities à Info et définir sa valeur sur Boolean YES
Lors de la mise à jour des Live Activities, vous avez la possibilité de définir une “priorité” qu’Apple utilise pour déterminer l’urgence de la mise à jour. Apple dispose de seuils internes pour limiter les demandes qui utilisent trop fréquemment l’indicateur de priorité élevée.Si vos cas d’utilisation pour les Live Activities nécessitent des mises à jour de haute priorité plus fréquentes, vous pouvez ajouter la clé
NSSupportsLiveActivitiesFrequentUpdates à votre Info.plist en tant que type Boolean défini sur YES comme indiqué dans la documentation développeur d’Apple. Les utilisateurs verront une boîte de dialogue lorsque la Live Activity dépasse son budget push, et s’ils autorisent la Live Activity à continuer, le budget sera automatiquement augmenté pour une expérience utilisateur fluide.2
Créer une Widget Extension
Dans Xcode, allez dans Fichier > Nouveau > Cible… > Widget Extension.
Sélectionnez et appuyez sur Suivant.Configurez la Widget Extension en fournissant un nom (exemple : 
Cliquez sur Don’t Activate si vous êtes invité à activer le schéma.

Ajouter une nouvelle cible Widget Extension pour votre application dans Xcode.
OneSignalWidget) et assurez-vous que Include Live Activity est sélectionné. Ensuite, cliquez sur Terminer.
Options de Widget Extension pour une Live Activity.

Options de Widget Extension pour une Live Activity.
3
Ajouter OneSignalXCFramework à votre Podfile
Trouvez le nom de votre cible d’extension widget dans la liste des Cibles de votre projet. Le nom de l’exemple est 
Ouvrez votre Fermez Xcode et exécutez
OneSignalWidgetExtension.
Trouver le nom de votre cible d'extension widget
Podfile et ajoutez le code suivant. Remplacez OneSignalWidgetExtension par le nom de votre cible d’extension widget.Podfile
pod repo update && pod install pour installer le pod OneSignalLiveActivities.4. Configurer le fichier LiveActivity.swift
Dans Xcode, ouvrez le fichier WidgetExtensionLiveActivity.swift. Ouvrez le panneau Inspecteur sur le côté droit de l’écran. Dans Target Membership, cliquez sur le bouton + et sélectionnez votre cible Runner.
Autoriser l'appartenance à la cible principale
Swift
Tester la Live Activity
- Démarrez l’application
- Consultez tous les champs possibles dans notre référence API Démarrer Live Activity. La structure de ces champs peut différer selon la façon dont vous avez configuré votre interface utilisateur. Par exemple :
"event_updates": Ce sont les données dynamiques qui peuvent être mises à jour après le démarrage de la Live Activity (tout ce qui suitcontext.statedans l’exemple de code). Comme nous avons context.state.data, nous ajouterions un objet data à ce champ et tous les champs supplémentaires qu’il contient comme le dictionnaire message que nous avons ajouté dans l’exemple de code. Pour l’utilisation, voir l’exemple de requête ci-dessous."event_attributes": Ce sont les données statiques définies dans la requête push to start, et qui conservent la même valeur jusqu’à ce que la Live Activity soit supprimée ou écrasée.
-
Lors de l’utilisation de push to start, vous définissez le
"activity_id"dans la requête, plutôt que dans le code. L’utilisation d’Activity ID différents démarrera de nouvelles Live Activities. L’utilisation du même Activity ID écrasera le widget qui utilise actuellement cet ID. -
Assurez-vous d’avoir modifié l’ID d’application OneSignal dans le chemin de votre url, et la clé API Rest dans l’en-tête Authorization. Le type
DefaultActivityAttributesne peut pas être modifié si vous utilisez la configuration par défaut. Veuillez également noter que le type d’activité ajouté à votre chemin est sensible à la casse et doit correspondre à ce qui est défini soit par vous, soit à l’activité par défaut utilisée dans l’exemple ci-dessous.
curl