Zum Inhalt springen

iOS Live Activities API

Apple-Dokumentation:

Damit ein Customer Journey Live Activity-Punkt sein Content-State-Formular aus Feldnamen anstelle eines reinen JSON-Editors erstellen kann, veröffentlichen Sie ein Schema für Ihren attributes-type – siehe die Live Activity Schemas API.

startLiveActivity

Anchor link to

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

Ermöglicht das Erstellen von iOS Live Activities.

Request-Body

Anchor link to
ParameterTypErforderlich/OptionalBeschreibung
applicationStringErforderlichPushwoosh-Anwendungscode
authStringErforderlichAPI-Zugriffstoken aus dem Pushwoosh Control Panel.
notificationsArrayErforderlichJSON-Array von Nachrichtenparametern. Details finden Sie in der nachstehenden Tabelle „Notifications“.

Notifications

Anchor link to

Parameter, die im notifications-Array verwendet werden:

ParameterTypErforderlich/OptionalBeschreibung
contentStringErforderlich*Text der Benachrichtigung für den Push, der die Live Activity startet, und der Fallback-Text, der auf Geräten mit iOS-Versionen unter 16.1 angezeigt wird.
titleStringErforderlich*Titel der Benachrichtigung für den Push, der die Live Activity startet.
live_activityObjectErforderlichLive Activity-Daten zum Erstellen einer Live Activity in iOS.
live_activity.content-stateObjectErforderlichInhalt für die Live Activity-Benachrichtigung.
live_activity.attributes-typeStringErforderlichDer Typ der Attribute, die in der Live Activity verwendet werden.
live_activity.attributesObjectErforderlichAttribute für die Live Activity.
live_activity_idStringErforderlichEin eindeutiger Bezeichner für die Live Activity. Wird verwendet, um diese Aktivität beim Aufruf von updateLiveActivity anzusprechen. Muss pro Aktivitätssitzung eindeutig sein.
filterStringOptionalDer Name eines Pushwoosh-Filters (Segments). Siehe Segment- / Filtername. Die Live Activity wird auf allen Geräten gestartet, die diesem Filter entsprechen.
devicesArray von StringsOptionalEine Liste von Geräte-Tokens. Die Live Activity wird nur auf den angegebenen Geräten gestartet.
send_dateStringOptionalPlant den Push, der die Live Activity startet, für ein bestimmtes Datum und eine bestimmte Uhrzeit – funktioniert entweder mit filter- oder devices-Targeting. Verwenden Sie das Format YYYY-MM-DD HH:mm oder now, um sofort zu starten (dies ist auch der Standard, wenn der Parameter weggelassen wird). Darf nicht mehr als 1 Tag in der Vergangenheit oder 30 Tage in der Zukunft liegen, andernfalls wird die Anfrage mit einem Validierungsfehler abgelehnt.
timezoneStringOptionalDie Zeitzone, die zur Interpretation von send_date verwendet wird. Wenn weggelassen, wird send_date in UTC interpretiert.
apns_priorityIntegerOptionalSteuert die APNs-Zustellpriorität für diesen Live Activity-Push. Akzeptiert 10 (hohe Priorität, zugestellt mit dem apns-priority: 10-Header für sofortiges Rendern auf einem gesperrten Bildschirm) oder 5 (niedrige Priorität, zugestellt mit apns-priority: 5, um den Akku des Geräts zu schonen). Jeder andere Wert wird als 5 behandelt, ohne Validierungsfehler. Jeder Live Activity-Push hat standardmäßig die Priorität 5, unabhängig davon, ob er Benachrichtigungsinhalte (content/title) enthält – setzen Sie apns_priority: 10 explizit, um eine Zustellung mit hoher Priorität anzufordern. Siehe Zeitkritische Push-Benachrichtigungen und Zustellpriorität unten.

Hinweis: * Mindestens einer der Parameter content oder title muss nicht leer sein. Pushwoosh lehnt eine Startanfrage ab, bei der beide leer sind.

Request-Beispiel

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"
}
]
}
}

Response-Beispiel

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

Hinweis:

Lesen Sie diesen Artikel, um mehr über die Arbeit mit Live Activities mit dem Pushwoosh iOS SDK zu erfahren.

updateLiveActivity

Anchor link to

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

Ermöglicht das Aktualisieren und Beenden von iOS Live Activities

Request-Body

Anchor link to
ParameterTypErforderlich/OptionalBeschreibung
authStringErforderlichAPI-Zugriffstoken aus dem Pushwoosh Control Panel.
applicationStringErforderlichPushwoosh-Anwendungscode
notificationsArrayErforderlichJSON-Array von Nachrichtenparametern. Details finden Sie in der nachstehenden Tabelle „Notifications“.

Notifications

Anchor link to

Parameter, die im notifications-Array verwendet werden:

ParameterTypErforderlich/OptionalBeschreibung
live_activityObjectErforderlichLive Activity-Daten zum Aktualisieren einer Live Activity in iOS.
live_activity.eventStringErforderlichGibt den Ereignistyp an. Verwenden Sie "update", um die Live Activity zu aktualisieren, oder "end", um sie zu schließen.
live_activity.content-stateObjectErforderlichObjekt mit Schlüssel-Wert-Paaren, das verwendet wird, um Daten an die Live Activity zu übergeben, um deren Inhalt zu aktualisieren.
live_activity.dismissal-dateIntegerOptionalDie Zeit (in Sekunden), zu der die Live Activity enden soll.
live_activity_idStringErforderlichDer eindeutige Bezeichner der zu aktualisierenden Live Activity. Muss mit der in startLiveActivity verwendeten live_activity_id übereinstimmen. Das Update wird an alle Geräte zugestellt, auf denen diese Aktivität gestartet wurde.
live_activity.relevance-scoreIntegerOptionalTeilt dem iOS-System mit, welche Live Activity eine höhere Priorität als andere hat. Akzeptiert Werte von 1 bis unendlich (Werte bis 100 werden empfohlen).
live_activity.stale-dateIntegerOptionalDie Zeit (in Sekunden), die das Datum darstellt, an dem eine Live Activity veraltet oder nicht mehr aktuell ist.
apns_priorityIntegerOptionalSteuert die APNs-Zustellpriorität für diesen Live Activity-Push. Akzeptiert 10 (hohe Priorität, zugestellt mit dem apns-priority: 10-Header für sofortiges Rendern auf einem gesperrten Bildschirm) oder 5 (niedrige Priorität, zugestellt mit apns-priority: 5, um den Akku des Geräts zu schonen). Jeder andere Wert wird als 5 behandelt, ohne Validierungsfehler. Jeder Live Activity-Push hat standardmäßig die Priorität 5, unabhängig davon, ob er Benachrichtigungsinhalte (content/title) enthält – setzen Sie apns_priority: 10 explizit, um eine Zustellung mit hoher Priorität anzufordern. Siehe Zeitkritische Push-Benachrichtigungen und Zustellpriorität unten.
contentStringOptionalText der Benachrichtigung für dieses Update. Der übliche Fall ist ein reines Content-State-Update, das weder content, title noch subtitle setzt und überhaupt keine Benachrichtigung enthält.
titleStringOptionalTitel der Benachrichtigung für dieses Update. Das Setzen von content, title oder subtitle löst eine Benachrichtigung aus und lässt ios_sound abspielen. Wenn keiner der drei gesetzt ist, bleibt das Update stumm, was der Standard für reine Content-State-Updates ist.
subtitleStringOptionalUntertitel der Benachrichtigung für dieses Update. Hat die gleiche benachrichtigungsauslösende Rolle wie content/title oben.
ios_soundStringOptionalName der Sounddatei im Haupt-Bundle der App. Er befindet sich innerhalb von aps.alert neben content/title/subtitle, nicht im übergeordneten aps.sound, das von ActivityKit für Live Activities ignoriert wird. Daher wird er nur abgespielt, wenn dieses Update auch mindestens einen dieser drei Parameter setzt. iOS begrenzt auch die Rate von Live Activity-Benachrichtigungen von sich aus. Es wurde beobachtet, dass dieselbe Payload bei einer Zustellung mit Ton und bei der nächsten ohne Ton ankommt, sowohl auf dem Gerät als auch im Simulator.

Hinweis: relevance-score beeinflusst nur die Anzeigereihenfolge zwischen mehreren aktiven Live Activities auf demselben Gerät – es hat keinen Einfluss auf die Dringlichkeit der Zustellung. Verwenden Sie apns_priority, um zu steuern, wie dringend ein Update zugestellt wird.

Request-Beispiel

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

Response-Beispiel

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

Lesen Sie diesen Artikel, um mehr über die Arbeit mit Live Activities mit dem Pushwoosh iOS SDK zu erfahren.

Zeitkritische Push-Benachrichtigungen und Zustellpriorität

Anchor link to

Standardmäßig stellt Apple Live Activity-Updates mit niedriger Priorität (apns-priority: 5) zu, um den Akku zu schonen. Wenn ein Gerät gesperrt ist, wird ein Update mit niedriger Priorität im Hintergrund verarbeitet und wird erst auf dem Sperrbildschirm sichtbar, wenn der Benutzer das Gerät entsperrt. Auf einem bereits entsperrten Gerät wird es dennoch sofort gerendert. Verwenden Sie den oben beschriebenen Parameter apns_priority, um eine Zustellung mit hoher Priorität (apns-priority: 10) anzufordern, damit das Update sofort auf dem Sperrbildschirm gerendert wird, ohne Entsperren.

Auch mit apns-priority: 10 begrenzt Apple, wie oft es verwendet werden kann.

Mehrere Aktivitäten pro Gerät

Anchor link to

Sie können mehrere Live Activities auf demselben Gerät starten, indem Sie startLiveActivity mehrmals mit unterschiedlichen live_activity_id-Werten aufrufen.

Wenn Sie beispielsweise zwei Aktivitäten starten: FIRST_LIVE_ACTIVITY mit filter: FILTER_NAME_1 und SECOND_LIVE_ACTIVITY mit filter: FILTER_NAME_2, wird ein Gerät, das beiden Filtern entspricht, beide Aktivitäten gleichzeitig ausführen.

Um eine davon zu aktualisieren, übergeben Sie ihre live_activity_id an updateLiveActivity. Das Update wird an alle Geräte zugestellt, auf denen diese Aktivität erstellt wurde. Die andere Aktivität ist nicht betroffen.

Der Parameter relevance-score steuert die Anzeigepriorität, wenn mehrere Live Activities auf demselben Gerät aktiv sind. Wenn der Bildschirmplatz begrenzt ist oder Aktivitäten gruppiert sind, wird die Aktivität mit einem höheren Wert mit höherer Priorität angezeigt.