Comment bien utiliser les Live Activities et Dynamic Island dans les applications mobiles ?
L'introduction des Live Activities et de la Dynamic Island par Apple offre des opportunités précieuses pour les développeurs d'application mobile.
Elles permettent de présenter des informations en temps réel directement sur l'écran verrouillé ou dans la barre dynamique en haut de l'écran.
Cet article vous explique comment tirer parti de ces innovations pour améliorer l'engagement et la satisfaction des utilisateurs.
Besoin d'aide pour intégrer des Lives Activities sur iOS ? Contactez-nous !
Qu'est-ce que les Live Activities et la Dynamic Island ?
© Apple
Live Activities
Les Live Activities sont des notifications interactives qui se mettent à jour en temps réel sur l'écran verrouillé. Elles offrent un aperçu rapide d'une activité en cours, comme le suivi d'un trajet, d'une commande ou d'un événement sportif.
Dynamic Island
Introduite avec l'iPhone 14 Pro et Pro Max, la Dynamic Island est une extension dynamique du capteur frontal (le "notch") qui s'anime pour afficher des informations en cours, comme des appels, des minuteries ou des médias en lecture. Cette fonctionnalité ajoute une dimension interactive et visuelle unique.
Pourquoi intégrer ces fonctionnalités dans vos applications ?
1. Améliorer l'expérience utilisateur
Les utilisateurs apprécient les informations instantanées et accessibles. En intégrant Live Activities et Dynamic Island, vous leur offrez une interface facilement accessible, et de la donnée en temps réel.
2. Augmenter l'engagement
Les notifications dynamiques encouragent les interactions constantes avec votre application. Par exemple, un utilisateur peut suivre l'état d'une commande sans avoir à rouvrir l'application.
3. Se démarquer de la concurrence
Ces fonctionnalités permettent de proposer une expérience moderne et innovante, ce qui est un atout majeur pour séduire de nouveaux utilisateurs ou offrir un service différent de ses concurrents.
Comment intégrer les Live Activities dans une application mobile iOS ?
- Configurer votre projet Xcode
Assurez-vous que votre projet est compatible avec iOS 16.1 ou une version ultérieure. Intégrez les frameworks nécessaires, notamment ActivityKit pour les Live Activities.
import ActivityKit
- Créer une activité Live
Définissez une structure qui représente les données à afficher dans votre Live Activity. Par exemple, pour une application de livraison :
struct DeliveryAttributes: ActivityAttributes {
struct ContentState: Codable, Hashable {
var estimatedDeliveryTime: Date
var deliveryStatus: String
}
var orderNumber: String
}
- Démarrer une Live Activity
Ajoutez une méthode pour démarrer l’activité en transmettant les données pertinentes.
let activityContent = ActivityContent(state: .init(estimatedDeliveryTime: Date().addingTimeInterval(3600), deliveryStatus: "En route"), staleDate: Date().addingTimeInterval(7200))
do {
let activity = try Activity<DeliveryAttributes>.request(attributes: .init(orderNumber: "12345"), content: activityContent, pushType: nil)
} catch {
print("Erreur lors du démarrage de l'activité : \(error.localizedDescription)")
}
4. Gérer les mises à jour
Mettez à jour les données en temps réel grâce à des callbacks ou des notifications push.
activity.update(using: .init(estimatedDeliveryTime: Date().addingTimeInterval(1800), deliveryStatus: "Livraison proche"))
- Optimiser l’intégration avec Dynamic Island
Apple propose des options spécifiques pour les appareils compatibles Dynamic Island, comme des affichages élargis ou compactés. Configurez ces options dans votre Live Activity View.
Vous pouvez également faire appel à une agence d'application mobile pour vous aider, ou vous référer à la documentation officielle Apple : documentation Apple
Quelques conseils pour bien utiliser les Lives Activities et Dynamic Island
© Apple
1. Adaptez les données affichées
Concentrez-vous sur des informations essentielles. Trop de détails peuvent surcharger l'utilisateur.
2. Respectez la confidentialité
Évitez d'afficher des données sensibles dans les Live Activities et assurez la conformité RGPD.
3. Optimisez les performances
Veillez à ce que les mises à jour des données soient fluides pour ne pas affecter les performances globales du téléphone.
4. Testez rigoureusement
Testez sur différents appareils et scénarios pour vous assurer que votre implémentation est robuste et intuitive.
Exemples d'applications qui exploitent les Lives Activities
Applications de transport
Uber, Lyft :
- Suivi des trajets en temps réel
- Localisation du chauffeur
- Temps estimé d'arrivée
- État du trajet
Applications de livraison
Deliveroo, DoorDash :
- Mise à jour des commandes en direct
- Statut de la préparation
- Position du livreur
- Heure de livraison estimée
Sport
ESPN, OneFootball :
- Scores en direct des matchs
- Résultats en temps réel
- Statistiques importantes
- Moments clés
Fitness
Strava, Nike Run Club :
- Suivi des exercices en cours
- Distance parcourue
- Temps écoulé
- Rythme actuel
Exemple d’une application de paris sportifs exploitant la Dynamic Island
Les applications de paris sportifs sont des candidates idéales pour tirer parti de la Dynamic Island grâce à leur nature dynamique et centrée sur l’actualité en temps réel. Voici un exemple concret.
Scénario : Affichage des cotes en direct
Une application de paris sportifs peut utiliser la Dynamic Island pour afficher les cotes en direct lors d’un événement sportif, comme un match de football. Les utilisateurs peuvent suivre l’évolution des cotes sans quitter l’écran principal de leur iPhone, rendant l’expérience plus immersive et interactive.
Étape 1 : Définir les attributs de l’activité
Dans cet exemple, chaque cote est représentée par un objet contenant l’équipe, le type de pari et les chances associées.
struct BettingAttributes: ActivityAttributes {
struct ContentState: Codable, Hashable {
var homeTeamOdds: Double
var awayTeamOdds: Double
var drawOdds: Double
}
var matchId: String
var teams: String
}
Étape 2 : Démarrer une Live Activity pour le match
Lorsqu’un utilisateur place un pari ou souhaite suivre les cotes, l’application déclenche une Live Activity associée au match.
let activityContent = ActivityContent(
state: .init(
homeTeamOdds: 2.5,
awayTeamOdds: 3.0,
drawOdds: 2.8
),
staleDate: Date().addingTimeInterval(3600) // Fin de l'activité après une heure
)
do {
let activity = try Activity<BettingAttributes>.request(
attributes: .init(
matchId: "56789",
teams: "Team A vs Team B"
),
content: activityContent,
pushType: nil
)
} catch {
print("Erreur lors de la création de l'activité : \(error.localizedDescription)")
}
Étape 3 : Mises à jour en temps réel des cotes
Les cotes évoluent en fonction des événements du match, comme un but marqué ou un changement de stratégie. Ces mises à jour sont transmises à la Dynamic Island en temps réel.
activity?.update(using: .init(
homeTeamOdds: 2.2,
awayTeamOdds: 3.5,
drawOdds: 2.9
))
Étape 4 : Interaction utilisateur via Dynamic Island
La Dynamic Island permet également aux utilisateurs d’interagir directement. Par exemple :
- Vue compacte : Affiche uniquement les cotes principales (par exemple, victoire de l’équipe A).
- Vue étendue : En tapant sur la Dynamic Island, l’utilisateur peut voir les cotes pour tous les types de paris disponibles (score exact, buteurs, etc.).
Exemple d’affichage :
- Vue compacte :
• 🏟️ Team A vs Team B
• Cotes : 2.2 (A) / 3.5 (B) / 2.9 (N) - Vue étendue (après interaction) :
• 🔢 Score exact : 1-0 → 6.0, 2-1 → 8.5
• ⚽ Buteur : Joueur X → 3.0, Joueur Y → 5.0
Avantages pour une application de paris sportifs
- Immersion accrue : Les utilisateurs suivent l’évolution des cotes sans ouvrir l’application.
- Simplicité d’interaction : En un clic, les utilisateurs peuvent parier directement depuis la Dynamic Island.
- Boost de l’engagement : Les mises à jour en temps réel captivent l’attention des utilisateurs pendant toute la durée du match.
Ce type d’intégration ne se limite pas aux paris sportifs. Tout service basé sur des mises à jour fréquentes (comme les marchés financiers ou les enchères) peut bénéficier de ces fonctionnalités pour enrichir l’expérience utilisateur.