public class DYResult {
public let status: ResultStatus
public let error: Error?
public let warnings: [Warning]?
public let rawNetworkData: RawNetworkData?
}
Property
Description
Type
status
The status of the Choose call. If the type is "WARNING," it indicates that the request was successful, but there are warnings associated with the response.
ResultStatus: success, error, warning
warnings
List of warnings returned from the server. Every warning item has a code and message.
List<Warning>?
error
Error and exception.
Error?
rawNetworkData
Network-related data (for debugging purposes).
RawNetworkData?
Page
public class Page: Encodable {
let type: PageType
let location: String
let data: [String]
let referrer: String?
var locale: String?
}
The current location. URL (for web), location (for SPA), or screen name (for mobile apps). Enables targeting the current page/screen.
String
pageData
Additional data for non-homepage pages: The SKU for a PRODUCT page, the category for a CATEGORY page, SKUs for the CART page, and the page ID in OTHER.
List
pageReferrer
The previous location. URL (for web), location (for SPA), or screen name (for mobile apps). Enables targeting the previous page/screen.
String?
locale
Page locale code
String?
ChooseOptions
public struct ChooseOptions {
public var isImplicitPageview: Bool?
public var returnAnalyticsMetadata: Bool?
public var isImplicitImpressionMode: Bool?
}
Property
Description
Type
isImplicitPageview
Determine whether to report a new pageview with the given context. Default is false. Set to true to report a new pageview with the given context. Keep as false if the Dynamic Yield script is implemented on the page. It reports the new pageview from the browser.
Boolean
returnAnalyticsMetadata
Return additional metadata (display names & IDs for all entities). Useful for reporting to analytics tools. Set to true to return additional metadata (display names & IDs for all entities) for reporting to analytics tools.
Boolean
isImplicitImpressionMode
Report an impression of the chosen variation. This is set to true by default, which means that the user's impression of the variation is reported immediately when the variation is chosen. Pass this as false to report the impression explicitly in an Engagement call.
Boolean
Enums
Channel
public enum Channel: String, Codable, CaseIterable {
case app = "APP"
case kiosk = "KIOSK"
case driveThru = "DRIVE-THRU"
}
DeviceType
public enum DeviceType: String, Codable, CaseIterable {
case odmb = "ODMB"
case smartphone = "SMARTPHONE"
case tablet = "TABLET"
case kiosk = "KIOSK"
}
PageType
public enum PageType: String, Codable, CaseIterable {
case homepage = "HOMEPAGE"
case category = "CATEGORY"
case product = "PRODUCT"
case cart = "CART"
case other = "OTHER"
}
SortOrderType
public enum SortOrderType: String, Codable, CaseIterable {
case asc = "ASC"
case desc = "DESC"
}
VideoProgressType
enum class VideoProgressType: String, Codable, CaseIterable{
case videoStarted = "VIDEO_STARTED",
case prerollFinished = "PREROLL_FINISHED",
case videoFinished = "VIDEO_FINISHED",
case videoProgress = "VIDEO_PROGRESS"
}