Releases: Iterable/iterable-android-sdk
3.4.0
Breaking changes
- On
IterableApi
, changed two static methods—handleAppLink
andgetAndTrackDeepLink
—to instance methods. To call them, first grab an instance ofIterableApi
by callingIterableApi.getInstance()
. For example,IterableApi.getInstance().handleAppLink(...)
.
Added
-
Added the
allowedProtocols
field to theIterableConfig
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
andcustom
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
, anditerable
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
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
Fixed
- Fixed an issue where push notifications retained data from previously sent notifications.
3.3.7
3.3.6
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
Added
- Push notifications will now have timestamps on devices with SDK 17 and above.
3.3.4
3.3.3
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
Added
- Added a new static method -
setContext
toIterableAPI
. Use this method in your ReactNative project to pass context to IterableSDK from Application -onCreate
method.
3.3.1
Added
-
The following properties have been added to the
CommerceItem
class:sku
- The item's SKUdescription
- A description of the itemurl
- A URL associated with the itemimageUrl
- A URL that points to an image of the itemcategories
- Categories associated with the item
Set these values on
CommerceItem
objects passed to theIterableApi.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 useFirebaseMessaging.getToken()
instead of deprecatedFirebaseInstanceId.getToken()
. -
Notifications will now show timestamp.