Enumerations


SDKActivationError

Declaration:

public enum SDKActivationError : Error

Errors concerning the initialization of the sdk using Granify.activateGranify(...).

See more

sdkAlreadyActivated

Thrown when attempting to intialize the SDK more than once with Granify.activateGranify(...)

Declaration:

case sdkAlreadyActivated
sdkNotActivated

Thrown when using a method that requires an activated SDK but Granify.activateGranify(...) was not called initially. Unless otherwise noted, each SDK function requires that the SDK is activated before it may be called.

Declaration:

case sdkNotActivated
configurationLoadFailed Since 2.0.0

Thrown when calling Granify.activateGranify(...) and attempts to load the application’s Contextual Commerce configuration failed. This can be a transient error, such as a network failure, so retry is recommended after a short delay.

Declaration:

case configurationLoadFailed

MethodError

Declaration:

public enum MethodError : Error

Errors concerning the general method calls.

See more

obsolete

Thrown when calling a deprecated method.

Declaration:

case obsolete

LogLevel

Declaration:

@objc(GFYLogLevel)
public enum LogLevel : Int, Comparable, Codable, CustomStringConvertible, CaseIterable

Not intended for public use; this enum and its methods are exposed due to technical requirements but are not intended to be used externally. Do not interact with this enum or its constituents.

See more

disabled

Not intended for public use; this property is exposed due to technical requirements.

Declaration:

case disabled = 0
<(_:_:)

Not intended for public use; this operator is exposed due to technical requirements but is not intended to be used externally. Do not utilize or otherwise interact with this operator.

Declaration:

public static func < (lhs: LogLevel, rhs: LogLevel) -> Bool
description

Not intended for public use; this method is exposed due to technical requirements but is not intended to be used externally. Do not call or otherwise interact with this method. 

Declaration:

public var description: String { get } 
withDescription(_:) 

Not intended for public use; this method is exposed due to technical requirements but is not intended to be used externally. Do not call or otherwise interact with this method.

Declaration:
public static func withDescription(_ description: String) -> LogLevel?
debug

Not intended for public use; this property is exposed due to technical requirements.

Declaration:

case debug
info

Not intended for public use; this property is exposed due to technical requirements.

Declaration:

case info
call

Not intended for public use; this property is exposed due to technical requirements.

Declaration:

case call
warn

Not intended for public use; this property is exposed due to technical requirements.

Declaration:

case warn
error

Not intended for public use; this property is exposed due to technical requirements.

Declaration:

case error
critical

Not intended for public use; this property is exposed due to technical requirements.

Declaration:

case critical

LogSource

Declaration:

@objc(GFYLogSource)
public enum LogSource : Int

Not intended for public use; this enum and its methods are exposed due to technical requirements but are not intended to be used externally. Do not interact with this enum or its constituents.

See more

iosSdk

Not intended for public use; this property is exposed due to technical requirements.

Declaration:

case iosSdk = 1
reactNativeIosModule

Not intended for public use; this property is exposed due to technical requirements.

Declaration:

case reactNativeIosModule = 2
reactNativeTsApi

Not intended for public use; this property is exposed due to technical requirements.

Declaration:

case reactNativeTsApi = 3
tag

Not intended for public use; this property is exposed due to technical requirements but is not intended to be used externally. Do not interact with this property.

Declaration:

public var tag: String { get }

Currency

Declaration:

@objc(GFYCurrency)
public enum Currency : Int

extension Currency: CustomStringConvertible
extension Currency: Encodable

Identifies a particular type of currency. Currently only USD is supported in this SDK. Talk to your Account Manager if you require further currency options.

See more

usd

United States Dollar.

Declaration:

case usd
description

Retrieves the canonical string version of the Currency value.

Declaration:

public var description: String { get }
encode(to:)

Encodes an instance of Currency.

Declaration:

public func encode(to encoder: Encoder) throws

DisplayStatus

Declaration:

@objc(GFYDisplayStatus)
public enum DisplayStatus : Int

extension DisplayStatus: CustomStringConvertible

Defines valid display status values that may be reported when the engine decides to show a message to a shopper.

See more

shown

Indicates that the message was shown to the shopper.

Declaration:

case shown
notShown

Indicates that the message was not shown to the shopper. Usually this is due to the shopper being assigned to a baseline MatchingGroup.

Declaration:

case notShown
description

Retrieves the canonical string version of the DisplayStatus value.

Declaration:

public var description: String { get }

MatchingGroup

Declaration:

@objc(GFYMatchingGroup)
public enum MatchingGroup : Int, Codable, CaseIterable

extension MatchingGroup: CustomStringConvertible

Matching groups that a shopper may be assigned to. Note that Contextual Commerce configures each site to allow only certain matching groups to be used. Contact your account manager if you are uncertain which values are valid in your case. 

See more

baseline

Baseline group that will not be shown any message that the engine may match. This uses the default (baseline) single-match engine.

Declaration:

case baseline = 1
granify

Active group that will be shown any single message that the engine may match. This uses the default single-match engine.

Declaration:

case granify = 2
granifyB

Granify group ‘B’ used for A/B tests between two default groups on a site (alongside the granify group). This uses the default single-match engine.

Declaration:

case granifyB = 15
baselineB

Baseline group ‘B’ used for A/B tests between two default groups on a site (alongside the baseline group). This uses the default (baseline) single-match engine.

Declaration:

case baselineB = 16
granifyMultiMatch

Active group that will be shown any messages the the engine may match. This uses the multi-match engine, utilizing the single-match engine but with a second layer running in tandem to allow for multi-match configured campaigns to show whenever they are matched.

Declaration:

case granifyMultiMatch = 17
baselineMultiMatch

Baseline group that will not be shown any messages that the engine may match. This uses the (baseline) multi-match engine, utilizing the single-match engine but with a second layer running in tandem to allow for multi-match configured campaigns to match at will.

Declaration:

case baselineMultiMatch = 18
granifyMultiMatchB

Granify multi-match group ‘B’ used for A/B tests between two multi-match groups on a site (alongside the granifyMultiMatch group). This uses the multi-match engine.

Declaration:

case granifyMultiMatchB = 19
baselineMultiMatchB

Baseline multi-match group ‘B’ used for A/B tests between two multi-match groups on a site (alongside the baselineMultiMatch group). This uses the (baseline) multi-match engine.

Declaration:

case baselineMultiMatchB = 20
granifyPlatform

Active Granify platform group that will be shown any messages that the engine may match. This uses the Contextual Commerce platform engine, allowing multiple child engines to be configured per-tool pair.

Declaration:

case granifyPlatform = 21
holdoutPlatform

Baseline Contextual Commerce platform group that will not be shown any messages that the engine may match. This uses the Contextual Commerce platform engine, allowing multiple child engines to be configured per-tool pair. This matching group functions as a top-level holdout, so messages are not displayed even for eligible tool pairs.

Declaration:

case holdoutPlatform = 22
pausedGranify

Used to explicitly identify legacy traffic configured in rules to only match to 1-pixel test only during an active period. Group or matching pair can be used to filter paused traffic in reporting for billing and performance purposes.

Declaration:

case pausedGranify = 23
pausedBaseline

Used to explicitly identify legacy traffic configured in rules to only match to 1-pixel test only during an active period. Group or matching pair can be used to filter paused traffic in reporting for billing and performance purposes.

Declaration:

case pausedBaseline = 24
predictionsFirstGranify

A predictions first matching engine which allows ongoing predictions.

Declaration:

case predictionsFirstGranify = 25
predictionsFirstBaseline

A predictions first matching engine which allows ongoing predictions.

Declaration:

case predictionsFirstBaseline = 26
granifyMultiMatchV1

The same as granifyMultiMatch but using an updated MultiMatch Engine.

Declaration:

case granifyMultiMatchV1 = 27
baselineMultiMatchV1

The same as baselineMultiMatch but using an updated MultiMatch Engine.

Declaration:

case baselineMultiMatchV1 = 28
granifyMultiMatchV2

This uses the updated multi-match engine, utilizing the predictions first single-match engine but with a second layer running in tandem to allow for multi-match configured campaigns to show whenever they are matched.

Declaration:

case granifyMultiMatchV2 = 29
baselineMultiMatchV2

This uses the (baseline) updated multi-match engine, utilizing the predictions first single-match engine but with a second layer running in tandem to allow for multi-match configured campaigns to match at will.

Declaration:

case baselineMultiMatchV2 = 30
evmaxV01Granify

This uses the EVMax V0.1 engine.

Declaration:

case evmaxV01Granify = 41
evmaxV01Baseline

This uses the (baseline) EVMax V0.1 engine.

Declaration:

case evmaxV01Baseline = 42
description

Retrieves the canonical string version of the MatchingGroup value.

Declaration:

public var description: String { get }

PageType

Declaration:

@objc(GFYPageType)
public enum PageType : Int, Encodable

extension PageType: CustomStringConvertible 

Page types that may be present in an application.

See more

home

The home page for the application.

Declaration:

case home
product 

A page listing a single product (sometimes with multiple sku variations).

Declaration:

case product
collection

A page listing a collection of products. Often this is a page listing some category of products.

Declaration:

case collection
ensemble

A page listing a small group of products similar to a collection, but allows for the products to be added to the cart. The products are often related in some way such as a full outfit.

Declaration:

case ensemble
search

A page containing search results.

Declaration:

case search
blog

Use for pages containing supporting blog content or articles.

Declaration:

case blog
cart

The cart page for a store listing the user’s current cart contents, and often the entry point for a checkout.

Declaration:

case cart
checkout

The checkout page allowing a user to complete the checkout process.

Declaration:

case checkout
flights

Pages containing listings of flight options (intended for use by flight-booking application).

Declaration:

case flights
account

Pages relating to the shopper’s account.

Declaration:

case account
login

The shopper login page.

Declaration:

case login
info

Informational pages about the application (for example, an “About” page).

Declaration:

case info
guide

Pages containing guidance information for shoppers.

Declaration:

case guide
video

Video content pages on the application.

Declaration:

case video
other

All pages that do not fit into any of the other page types categories should be classified as other.

Declaration:

case other
receipt

The receipt page shown after completing the checkout process.

Declaration:

case receipt
wishlist

A page containing the customer’s list of personally archived items.

Declaration:

case wishlist
description

Retrieves the canonical string version of the PageType value.

Declaration:

public var description: String { get }

RestrictionState

Declaration:

@objc(GFYRestrictionState)
public enum RestrictionState : Int

States governing when a concept is allowed to be shown to a shopper. Since: 4.0.0.

See more

restricted

Concepts cannot be shown in this state. This state persists until it is explicitly changed.

Declaration:

case restricted = 0
unrestricted

Concepts can be shown in this state. This state persists until it is explicitly changed.

Declaration:

case unrestricted = 1
pageRestricted

Concepts are restricted on the current page and cannot be shown. On a page change (as indicated by Granify.trackPageView(...)), this state will revert back to .unrestricted.

Declaration:

case pageRestricted = 2
Provide feedback button