Swift SDK References and Release notes

Classes

DYResult

public class DYResult {
    public let status: ResultStatus
    public let error: Error?
    public let warnings: [Warning]?
    public let rawNetworkData: RawNetworkData?
}
PropertyDescriptionType
statusThe 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
warningsList of warnings returned from the server. Every warning item has a code and message.List<Warning>?
errorError and exception.Exception?
rawNetworkDataNetwork-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?
}
PropertyDescriptionType
pageTypeThe current page typePageType
pageLocationThe current location. URL (for web), location (for SPA), or screen name (for mobile apps). Enables targeting the current page/screen.String
pageDataAdditional 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
pageReferrerThe previous location. URL (for web), location (for SPA), or screen name (for mobile apps). Enables targeting the previous page/screen.String?
localePage locale codeString?

ChooseOptions

public struct ChooseOptions {
    public var isImplicitPageview: Bool?
    public var returnAnalyticsMetadata: Bool?
    public var isImplicitImpressionMode: Bool?
}
PropertyDescriptionType
isImplicitPageviewDetermine 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
returnAnalyticsMetadataReturn 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
isImplicitImpressionModeReport 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"
}