How to Create an iOS Live Activity Message
Live Activity Funktionalität zum Projekt hinzufügen
1. Info.plist-Datei konfigurieren
Fügen Sie der Info.plist-Datei im Hauptprojekt ein Schlüssel-Wert-Paar hinzu, wobei der Schlüssel NSSupportsLiveActivities und der Wert YES ist.

2. Widget Extension hinzufügen
2.1 Neues Target erstellen
Gehen Sie zu Datei > Neu > Target.
2.2 Widget Extension auswählen

2.3 Widget Extension konfigurieren
Aktivieren Sie das Kontrollkästchen „Live Activity einbinden“.

Klicken Sie auf „Fertigstellen“.
Xcode erstellt nun eine Live Activity für Sie.
LiveActivityWidgetAttributes definieren die Attribute der Live Activity, einschließlich veränderbarer und unveränderlicher Eigenschaften.
Die LiveActivityWidgetLiveActivity-Struktur passt das Erscheinungsbild der Live Activity an.

Anschließend erlauben Sie im LiveActivityWidgetBundle die Anzeige der Live Activity.

3. Live Activity testen
Starten Sie eine Live Activity im Hauptprojekt, überwachen Sie Änderungen des Push-Tokens und melden Sie das Push-Token bei EngageLab an. Nach erfolgreicher Registrierung können Sie über den Dienst von EngageLab Nachrichten an die Live Activity auf dem Gerät senden.
func startLiveActivity1() {
let initialContentState = MTLAAttributes.ContentState(eventStr: "begin", eventTime: 1)
let activityAttributes = MTLAAttributes(name: "LiveActivity", number: 33, tag: "")
do {
// Activity erstellen
let activity = try Activity.request(attributes: activityAttributes, contentState: initialContentState, pushType: PushType.token)
// Auf Änderungen des pushToken lauschen
Task {
for await pushtoken in activity.pushTokenUpdates {
let pushtokenstr = pushtoken.map { String(format: "%02.2hhx", arguments: [$0]) }.joined()
// Live Activity bei EngageLab registrieren, um Benachrichtigungen über die LiveActivityId auf der Push-Plattform zu aktualisieren
MTPushService.registerLiveActivity("my_define_liveactivity_id", pushToken: pushtoken, completion: { code, liveactivityId, token, seq in
print("Ergebnis:\(code)")
}, seq: 1)
}
}
} catch {
print("Fehler beim Anfordern der Live Activity \(error.localizedDescription).")
}
}
Ab iOS 17.2 ermöglicht Apple das Starten einer Live Activity per Push-Benachrichtigung, basierend auf einem pushToStartToken. Verwenden Sie die Funktion pushToStartTokenUpdates, um auf Änderungen des pushToStartToken der Live Activity zu lauschen und diesen an EngageLab zu melden.
func pushToStart() {
Task {
if #available(iOS 17.2, *) {
var beforeToken = ""
for await pushtoken in Activity<MTLAAttributes>.pushToStartTokenUpdates {
let pushtokenstr = pushtoken.map { String(format: "%02.2hhx", arguments: [$0]) }.joined()
print("pushToStartToken: MTLAAttributes -> \(pushtokenstr)")
if beforeToken == pushtokenstr {
return
}
beforeToken = pushtokenstr
MTPushService.registerLiveActivity("MTLAAttributes", pushToStartToken: pushtoken, completion: { code, alias, token, seq in
print("Registrierung MTLAAttributes pushToStartToken Ergebnis: \(pushtokenstr) Ergebnis:\(code) seq:\(seq)")
}, seq: seq())
}
} else {
// Fallback für frühere Versionen
}
}
}
Mit diesen Best Practices und der richtigen Integration von Live Activities, Push-Benachrichtigungen und Widget Extensions in Ihr iOS-Projekt schaffen Sie eine optimale Nutzererfahrung und stellen sicher, dass Ihre App stets aktuelle Informationen effizient bereitstellt.
Jetzt mehr erfahren oder Demo buchen!

