Granify Mobile SDK 2.0.0
New features
- Concept preview
Granify.showConcept(...)added to request that the SDK presents a specified Granify concept. See method documentation for additional details.
Breaking changes
- Two new required callbacks have been added to
GranifyConfiguration.init(...). These callbacks are triggered by various CTA inputs within concepts that require a greater degree of coordination between SDK and app.productLinkBuilder:GranifyConfiguration.ProductLinkBuilderCallbackis required for building deep links into the app for a specified product. This supplements the existingdeepLinkslist, which is for unique page types, such ashomeandcart.currentProductCarter:GranifyConfiguration.CurrentProductCarterCallbackis used to request the app to add the product that it is currently being shown to the user, to the user’s cart.
- A page’s main scroll view is required, when present, to be sent to
Granify.trackPageView(...). It is important to keep Granify notified about the current page and the shopper’s navigation through the app so our engine can make appropriate decisions about what messages should be shown to which shoppers for maximum impact. This includes tracking what the user is currently viewing on the page via the use of scroll distance metrics which are inferred from the main UIScrollView for the page.
Other changes
- New
SDKActivationErrortype,SDKActivationError.configurationLoadFailed, added for cases whenGranify.activateGranify(...)runs into problems loading remote configuration information. - Made public some additional properties and methods
DeepLink.linkDeepLink.pageTypeStringOrIntWrapper.init(stringValue:)StringOrIntWrapper.init(intValue:)
Internal use, but public, changes
WishListItemnow implementsEncodableand gainsWishListItem.encode(to:)method
2.0 Changes Reference