Skip to content

3.4.0

Compare
Choose a tag to compare
@Ayyanchira Ayyanchira released this 23 Dec 17:51
· 741 commits to master since this release
4271944

Breaking changes

  • On IterableApi, changed two static methods—handleAppLink and getAndTrackDeepLink—to instance methods. To call them, first grab an instance of IterableApi by calling IterableApi.getInstance(). For example, IterableApi.getInstance().handleAppLink(...).

Added

  • Added the allowedProtocols field to the IterableConfig class.

    Use this array to declare the specific URL protocols that the SDK can expect to see on incoming links (and that it should therefore handle). Doing this will prevent the SDK from opening links that use unexpected URL protocols.

    For example, this code allows the SDK to handle http and custom links:

    Java

    IterableConfig.Builder configBuilder = new IterableConfig.Builder()
      .setAllowedProtocols(new String[]{"http", "custom"});
    IterableApi.initialize(context, "<YOUR_API_KEY>", config);

    Kotlin

    val configBuilder = IterableConfig.Builder()
      .setAllowedProtocols(arrayOf("http","custom"))
    IterableApi.initialize(context, "<YOUR_API_KEY>", configBuilder.build());

    Iterable's Android SDK handles https, action, itbl, and iterable links, regardless of the contents of this array. However, you must explicitly declare any other types of URL protocols you'd like the SDK to handle (otherwise, the SDK won't open them in the web browser or as deep links).

Fixed

  • Prevented in-app messages from executing JavaScript code included in their HTML templates.
  • Prevented web views from accessing local files.