Skip to content

Releases: Iterable/iterable-android-sdk

3.4.0

23 Dec 17:51
4271944
Compare
Choose a tag to compare

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.

3.3.9

22 Nov 19:47
4e8d069
Compare
Choose a tag to compare

Changed

  • Auth keys and API keys will no more be logged in Android Logcat for security reasons.

Fixed

  • Crash on closing system dialog is now addressed for Android 12+.

3.3.8

27 Oct 17:12
0572124
Compare
Choose a tag to compare

Fixed

  • Fixed an issue where push notifications retained data from previously sent notifications.

3.3.7

21 Oct 21:56
7775b92
Compare
Choose a tag to compare

Fixed

  • When syncing in-app queues, new messages that already have read set to true will not spawn an InAppDelivery event.

3.3.6

21 Sep 17:00
b7815ca
Compare
Choose a tag to compare

Fixed

  • Added android:exported attribute to activities as required in Android 12.
  • Pending intents now specify its mutability as required in Android 12. (Thanks to @sidcpatel!)

3.3.5

27 Aug 18:19
4fb607a
Compare
Choose a tag to compare

Added

  • Push notifications will now have timestamps on devices with SDK 17 and above.

3.3.4

10 Aug 23:49
4469f77
Compare
Choose a tag to compare

Added

  • updateCart has been added to the SDK
  • dataFields have been added as a field to CommerceItem

3.3.3

04 Aug 20:20
de7100c
Compare
Choose a tag to compare

Fixed

  • Devices with Android 11 should now be able to open browser when performing open url actions instead of landing on the app.

3.3.2

17 Jun 21:14
2e2e318
Compare
Choose a tag to compare

Added

  • Added a new static method - setContext to IterableAPI. Use this method in your ReactNative project to pass context to IterableSDK from Application - onCreate method.

3.3.1

11 Jun 17:19
37f1eff
Compare
Choose a tag to compare

Added

  • The following properties have been added to the CommerceItem class:

    • sku - The item's SKU
    • description - A description of the item
    • url - A URL associated with the item
    • imageUrl - A URL that points to an image of the item
    • categories - Categories associated with the item

    Set these values on CommerceItem objects passed to the IterableApi.trackPurchase method.

Changed

  • To resolve a breaking change introduced in Firebase Cloud Messaging version 22.0.0, version 3.3.1 of Iterable's Android SDK bumps the minimum required version of its Firebase Android dependency to 20.3.0.

    If upgrading to version 3.3.1 causes your app to crash on launch, or your build to fail, add the following lines to your app's build.gradle file:

    android {
        ...
        compileOptions {
            sourceCompatibility JavaVersion.VERSION_1_8
            targetCompatibility JavaVersion.VERSION_1_8
        }
        ...
    }
  • Updated minimum version for firebase-messaging to 20.3.0 to use FirebaseMessaging.getToken() instead of deprecated FirebaseInstanceId.getToken().

  • Notifications will now show timestamp.