v0.16.11

Breaking changes

Loading and error views is disabled by default

Loading and error views are now disabled rather than enabled by default as there are scenarios were enabling them by default was causing issue.

In order to enable it you can use the following snippet:

let config = ExperienceConfiguration(
  supportsLoadingState: true
)

let experience = Launcher.getExperience(config: config)
<yourView>.addSubview(experience)

Fixes

Fix a memory leak in ExperienceView

There was a memory leak related to ExperienceView instantiation. Any created instances of ExperienceView were not destroyed until the app was closed.

New features

App to Experience communications timeout

By default, the SDK will wait for 20 seconds before timing out a request sent to an Experience via CommunicationBridge. You can now customise this timeout via ExperienceView:

let experience = Launcher.getExperience()

experience.requestTimeout = 20

<yourView>.addSubview(experience)

Loading view timeout configuration

SDK can optionally display a loading view while the Experience is loading. This view is removed when either of the two happens:

  1. The Experience notifies the SDK that it has completed loading it’s UI.

  2. A loading timeout has been reached.

This version of the SDK adds a way to customise this timeout:

let config = ExperienceConfiguration(
 dismissLoadingViewTimeout: <TimeInterval>
)

let experience = Launcher.getExperience(config: config)

<yourView>.addSubview(experience)