LiveActivityAttributes
A protocol that enables Live Activities to integrate with Adobe Experience Platform.
Conforming types can associate required Adobe Experience Platform data with iOS Live Activities. Any custom ActivityAttributes struct must implement this protocol when registering a Live Activity with the SDK.
iOS Protocol - LiveActivityAttributes
Available in iOS 16.1 and later.
Requirements
liveActivityData
The Adobe Experience Platform data associated with the Live Activity.
Copied to your clipboardvar liveActivityData: LiveActivityData { get }
This property must return a LiveActivityData instance containing either a liveActivityID for individual Live Activities or a channelID for broadcast Live Activities.
Usage
Basic implementation
Copied to your clipboard@available(iOS 16.1, *)struct FoodDeliveryLiveActivityAttributes: LiveActivityAttributes {// Required: AEP Integration Datavar liveActivityData: LiveActivityData// Static attributes: Custom properties that do not changevar restaurantName: String// Dynamic content state: Data that can be updatedstruct ContentState: Codable, Hashable {var orderStatus: String}}
Registration
After defining your attributes, register the Live Activity type with the SDK:
Copied to your clipboardif #available(iOS 16.1, *) {Messaging.registerLiveActivities([FoodDeliveryLiveActivityAttributes.self])}
To register multiple Live Activity types at once:
Copied to your clipboardif #available(iOS 16.1, *) {Messaging.registerLiveActivities([FoodDeliveryLiveActivityAttributes.self,GameScoreLiveActivityAttributes.self])}
Creating a Live Activity
Copied to your clipboardlet attributes = FoodDeliveryLiveActivityAttributes(liveActivityData: LiveActivityData(liveActivityID: "order123"),restaurantName: "Pizza Palace")let contentState = FoodDeliveryLiveActivityAttributes.ContentState(orderStatus: "Ordered")let activity = try Activity<FoodDeliveryLiveActivityAttributes>.request(attributes: attributes,contentState: contentState,pushType: .token)
