Passer au contenu

API Live Activities iOS

Documentation Apple :

startLiveActivity

Anchor link to

POST https://api.pushwoosh.com/json/1.3/startLiveActivity

Permet de créer des Live Activities iOS.

Corps de la requête

Anchor link to
ParamètreTypeRequis/OptionnelDescription
applicationStringRequisCode d’application Pushwoosh
authStringRequisJeton d’accès API depuis le Control Panel de Pushwoosh.
notificationsArrayRequisTableau JSON des paramètres de message. Voir les détails dans le tableau Notifications ci-dessous.

Notifications

Anchor link to

Paramètres utilisés dans le tableau notifications :

ParamètreTypeRequis/OptionnelDescription
contentStringRequisContenu de repli pour les appareils exécutant des versions d’iOS inférieures à 16.1 qui ne prennent pas en charge les Live Activities. Sur iOS 16.1+ (avec prise en charge des Live Activities), le contenu provient du champ live_activity.
titleStringOptionnelLe titre du message de notification.
live_activityObjectRequisDonnées de Live Activity pour créer une Live Activity dans iOS.
live_activity.content-stateObjectRequisContenu pour la notification de Live Activity.
live_activity.attributes-typeStringRequisLe type d’attributs utilisé dans la Live Activity.
live_activity.attributesObjectRequisAttributs pour la Live Activity.
live_activity_idStringRequisUn identifiant unique pour la Live Activity. Utilisé pour cibler cette activité lors de l’appel à updateLiveActivity. Doit être unique par session d’activité.
filterStringOptionnelLe nom d’un filtre Pushwoosh (segment). Voir Nom du Segment / Filtre. La Live Activity sera démarrée sur tous les appareils correspondant à ce filtre.
devicesArray of StringsOptionnelUne liste de jetons d’appareil. La Live Activity ne sera démarrée que sur les appareils spécifiés.
send_dateStringOptionnelPlanifie le push qui démarre la Live Activity pour une date et une heure spécifiques — fonctionne avec le ciblage par filter ou par devices. Utilisez le format AAAA-MM-JJ HH:mm, ou now pour un démarrage immédiat (c’est aussi la valeur par défaut lorsque le paramètre est omis). La date ne doit pas être antérieure de plus d’un jour ou postérieure de plus de 30 jours, sinon la requête est rejetée avec une erreur de validation.
timezoneStringOptionnelLe fuseau horaire utilisé pour interpréter send_date. S’il est omis, send_date est interprété en UTC.
apns_priorityIntegerOptionnelContrôle la priorité de livraison APNs pour ce push de Live Activity. Accepte 10 (haute priorité, livré avec l’en-tête apns-priority: 10 pour un rendu instantané sur un écran verrouillé) ou 5 (basse priorité, livré avec apns-priority: 5 pour préserver la batterie de l’appareil). Toute autre valeur est traitée comme 5, sans erreur de validation. Chaque push de Live Activity a par défaut une priorité de 5, qu’il contienne ou non un contenu d’alerte (content/title) — définissez explicitement apns_priority: 10 pour demander une livraison à haute priorité. Voir Push sensible au temps et priorité de livraison ci-dessous.

Exemple de requête

Anchor link to
{
"request": {
"application": "XXXXX-XXXXX",
"auth": "SECRET_API_TOKEN",
"notifications": [
{
"content": "Your order is being prepared",
"title": "Food Delivery",
"apns_priority": 10,
"live_activity": {
"event": "start",
"title": "Order status",
"content-state": {
"status": "Third",
"estimatedTime": "37 min",
"emoji": "👨‍🍳"
},
"attributes-type": "FoodDeliveryAttributes",
"attributes": {}
},
"live_activity_id": "FIRST_LIVE_ACTIVITY",
"filter": "FILTER_NAME_1"
}
]
}
}

Exemple de réponse

Anchor link to
{
"status_code": 200,
"status_message": "OK",
"response": {
"Messages": [
"XXXXX-XXXXXXXX-XXXXXXXX"
]
}
}

Note :

Lisez cet article pour en savoir plus sur l’utilisation des Live Activities avec le SDK iOS de Pushwoosh.

updateLiveActivity

Anchor link to

POST https://api.pushwoosh.com/json/1.3/updateLiveActivity

Permet de mettre à jour et de terminer les Live Activities iOS

Corps de la requête

Anchor link to
ParamètreTypeRequis/OptionnelDescription
authStringRequisJeton d’accès API depuis le Control Panel de Pushwoosh.
applicationStringRequisCode d’application Pushwoosh
notificationsArrayRequisTableau JSON des paramètres de message. Voir les détails dans le tableau Notifications ci-dessous.

Notifications

Anchor link to

Paramètres utilisés dans le tableau notifications :

ParamètreTypeRequis/OptionnelDescription
live_activityObjectRequisDonnées de Live Activity pour mettre à jour une Live Activity dans iOS.
live_activity.eventStringRequisSpécifie le type d’événement. Utilisez "update" pour mettre à jour la Live Activity ou "end" pour la fermer.
live_activity.content-stateObjectRequisObjet avec des paires clé-valeur utilisé pour passer des données à la Live Activity afin de mettre à jour son contenu.
live_activity.dismissal-dateIntegerOptionnelLe moment (en secondes) où la Live Activity doit se terminer.
live_activity_idStringRequisL’identifiant unique de la Live Activity à mettre à jour. Doit correspondre au live_activity_id utilisé dans startLiveActivity. La mise à jour sera livrée à tous les appareils sur lesquels cette activité a été démarrée.
live_activity.relevance-scoreIntegerOptionnelIndique au système iOS quelle Live Activity a une priorité plus élevée que les autres. Accepte des valeurs de 1 à l’infini (des valeurs jusqu’à 100 sont recommandées).
live_activity.stale-dateIntegerOptionnelLe moment (en secondes) qui représente la date à laquelle une Live Activity devient obsolète ou périmée.
apns_priorityIntegerOptionnelContrôle la priorité de livraison APNs pour ce push de Live Activity. Accepte 10 (haute priorité, livré avec l’en-tête apns-priority: 10 pour un rendu instantané sur un écran verrouillé) ou 5 (basse priorité, livré avec apns-priority: 5 pour préserver la batterie de l’appareil). Toute autre valeur est traitée comme 5, sans erreur de validation. Chaque push de Live Activity a par défaut une priorité de 5, qu’il contienne ou non un contenu d’alerte (content/title) — définissez explicitement apns_priority: 10 pour demander une livraison à haute priorité. Voir Push sensible au temps et priorité de livraison ci-dessous.

Note : relevance-score n’affecte que l’ordre d’affichage parmi plusieurs Live Activities actives sur le même appareil — il n’affecte pas l’urgence de la livraison. Utilisez apns_priority pour contrôler l’urgence de la livraison d’une mise à jour.

Exemple de requête

Anchor link to
{
"request": {
"application": "XXXXX-XXXXX",
"auth": "SECRET_API_TOKEN",
"notifications": [
{
"apns_priority": 10,
"live_activity": {
"event": "update",
"title": "Live Activity Update",
"content-state": {
"status": "second 66",
"estimatedTime": "66 min",
"emoji": "👨‍"
},
"relevance-score": 60
},
"live_activity_id": "FIRST_LIVE_ACTIVITY"
}
]
}
}

Exemple de réponse

Anchor link to
{
"status_code": 200,
"status_message": "OK",
"response": {
"Messages": [
"XXXXX-XXXXXXXX-XXXXXXXX"
]
}
}

Lisez cet article pour en savoir plus sur l’utilisation des Live Activities avec le SDK iOS de Pushwoosh.

Push sensible au temps et priorité de livraison

Anchor link to

Par défaut, Apple livre les mises à jour des Live Activities avec une faible priorité (apns-priority: 5) pour préserver la batterie. Lorsqu’un appareil est verrouillé, une mise à jour à faible priorité est traitée en arrière-plan et ne devient visible sur l’écran de verrouillage qu’une fois que l’utilisateur déverrouille l’appareil. Sur un appareil déjà déverrouillé, elle s’affiche toujours instantanément. Utilisez le paramètre apns_priority décrit ci-dessus pour demander une livraison à haute priorité (apns-priority: 10) afin que la mise à jour s’affiche immédiatement sur l’écran de verrouillage, sans déverrouillage.

Même avec apns_priority: 10 disponible, Apple limite la fréquence à laquelle il peut être utilisé.

Activités multiples par appareil

Anchor link to

Vous pouvez démarrer plusieurs Live Activities sur le même appareil en appelant startLiveActivity plusieurs fois avec des valeurs live_activity_id différentes.

Par exemple, si vous démarrez deux activités : FIRST_LIVE_ACTIVITY avec filter: FILTER_NAME_1 et SECOND_LIVE_ACTIVITY avec filter: FILTER_NAME_2, un appareil qui correspond aux deux filtres aura les deux activités en cours d’exécution simultanément.

Pour mettre à jour l’une d’entre elles, passez son live_activity_id à updateLiveActivity. La mise à jour est livrée à tous les appareils où cette activité a été créée. L’autre activité n’est pas affectée.

Le paramètre relevance-score contrôle la priorité d’affichage lorsque plusieurs Live Activities sont actives sur le même appareil. Si l’espace à l’écran est limité ou si les activités sont regroupées, l’activité avec une valeur plus élevée est affichée avec une priorité supérieure.