Releases: Iterable/iterable-android-sdk
3.1.3
Fixed
- Fixed a NullPointerException that could occur in some cases when trying to get Advertising ID
3.1.2
Changed
- Removed FirebaseInstanceIDService dependency to support newer versions of
firebase-messaging
library. This bumps the minimum required version offirebase-messaging
to 17.4.0.
Fixed
- Fixed deserialization of in-app messages stored with beta versions of the SDK
3.1.1
Added
- SDK platform and version is now sent with every API request via headers
Changed
Api-Key
header name is now used for the API key instead ofapi_key
, for consistency with HTTP header naming conventions
Fixed
- Fixed an issue that could cause the SDK not to persist in-app message properties (processed/consumed)
- Fixed a NullPointerException that could occur in IterableActivityMonitor if it was initialized after application start
3.1.0
Added
BREAKING CHANGES
The in-app messaging implementation has been significantly improved:
- The SDK now maintains a local queue and keep it in sync with the server-side queue automatically
- Iterable servers now notify apps via silent push messages whenever the in-app message queue is updated
- In-app messages are shown by default whenever they arrive
Check the In-app messages documentation for more details.
Please refer to the Migration guide if you've been using in-app messages in your app and updating a newer version of the SDK.
Changed
-
BREAKING CHANGE: Added
IterableContext
argument toIterableCustomActionHandler
The new method signature is:
boolean handleIterableCustomAction(IterableAction action, IterableActionContext actionContext)
actionContext
can be used to determine where the call is calling from - push message, in-app message, or a deep link. -
The SDK now sets
notificationsEnabled
flag on the device to indicate whether notifications are enabled for the app -
Changes to in-app links:
action://
URL scheme is now reserved for app-specific custom actions.
When a user clicks on a link withhref
=action://myCustomAction
, the SDK callsIterableCustomActionHandler.handleIterableCustomAction
with action type set tomyCustomAction
.iterable://
URL scheme is now reserved for actions handled by the SDK (i.e. future versions of the SDK may defineiterable://delete
as an action to delete the in-app message)itbl://
links will keep working as custom actions (similar toaction://
URLs) for backwards compatibility, butitbl://
namespace is deprecated in favor ofaction://
.- Migration: if you've been using
itbl://
links in the past, please update your templates withaction://
instead
-
Connect timeout for deeplink resolution is now 3 seconds
Removed
spawnInAppNotification
has been removed. Please refer to the in-app migration guide (above)
Fixed
- Fixed the URL parameter in
inAppClick
event
3.0.9
Changed
- The SDK now passes
preferUserId
flag to create a user by userId if it does not exist when using userId to identify the user - Incresed the deep link timeout to 3 seconds
Fixed
- Fixed InAppClick event parameter to properly track the URL that was clicked
- Fixed a NullPointerException when an in-app message was being shown while the app was in background
3.1.0-beta4
⚠ IMPORTANT
- Please talk to your Iterable Customer Success Manager if you want to try the beta version of the SDK, as we'll need to enable certain settings on the server for it to work as expected.
Terms of Service
- This beta SDK is subject to Iterable's Beta SDK Terms of Service.
Changed
- The scheme for actions handled by the SDK is now
iterable://
.itbl://
links will keep working as custom actions (similar toaction://
URLs) for backwards compatibility, butitbl://
namespace is deprecated in favor ofaction://
.
More Information
- Please see the 3.1.0-beta4 README file.
- Specifically, take a look at the Migrating from a version prior to 3.1.0 section for information about how to update your app to work with this SDK.
3.1.0-beta3
⚠ IMPORTANT
- Please talk to your Iterable Customer Success Manager if you want to try the beta version of the SDK, as we'll need to enable certain settings on the server for it to work as expected.
Terms of Service
- This beta SDK is subject to Iterable's Beta SDK Terms of Service.
Changed
- Increased the number of in-app messages fetched from the server to 100
- Changed the visibility of
syncInApp
to package-private
More Information
- Please see the 3.1.0-beta3 README file.
- Specifically, take a look at the Migrating in-app messages from the previous version of the SDK section for information about how to update your app to work with this SDK.
3.1.0-beta2
⚠ IMPORTANT
- Please talk to your Iterable Customer Success Manager if you want to try the beta version of the SDK, as we'll need to enable certain settings on the server for it to work as expected.
Terms of Service
- This beta SDK is subject to Iterable's Beta SDK Terms of Service.
Changed
-
BREAKING CHANGE: Added
IterableContext
argument toIterableCustomActionHandler
The new method signature is:
boolean handleIterableCustomAction(IterableAction action, IterableActionContext actionContext)
actionContext
can be used to determine where the call is calling from - push message, in-app message, or a deep link. -
Custom in-app JSON payload has been moved from
IterableInAppMessage.Content.payload
toIterableInAppMessage.customPayload
-
Changes to in-app links:
action://
URL scheme is now reserved for app-specific custom actions.
When a user clicks on a link withhref
=action://myCustomAction
, the SDK callsIterableCustomActionHandler.handleIterableCustomAction
with action type set tomyCustomAction
.itbl://
URL scheme is now reserved for actions handled by the SDK (i.e. future versions of the SDK may defineitbl://delete
as an action to delete the in-app message)- Migration: if you've been using
itbl://
links in the past, please update your templates withaction://
instead - Connect timeout for deeplink resolution is now 3 seconds
Fixed
- Fixed the URL parameter in
inAppClick
event
More Information
- Please see the 3.1.0-beta2 README file.
- Specifically, take a look at the Migrating in-app messages from the previous version of the SDK section for information about how to update your app to work with this SDK.
3.0.8
3.0.8
Added
- Added an option to specify notification channel name via manifest metadata (
iterable_notification_channel_name
) - Added support for color resource references in
iterable_notification_color
manifest metadata parameter
Changed
updateEmail
can now be used if the user is identified with userId- Connection timeout is now 3 seconds
Fixed
- Fixed a NullPointerException when the app has a plain-text label in
AndroidManifest.xml
instead of a string resource reference
3.1.0-beta1
⚠ IMPORTANT
- Please talk to your Iterable Customer Success Manager if you want to try the beta version of the SDK, as we'll need to enable certain settings on the server for it to work as expected.
Terms of Service
- This beta SDK is subject to Iterable's Beta SDK Terms of Service.
Added
The in-app messaging implementation has been significantly improved:
- The SDK now maintains a local queue and keep it in sync with the server-side queue automatically
- Iterable servers now notify apps via silent push messages whenever the in-app message queue is updated
- In-app messages are shown by default whenever they arrive
- More information:
- Check the In-app messages documentation for more details.
- Please refer to the Migration guide if you've been using in-app messages in your app and updating a newer version of the SDK.
Changed
- The SDK now sets
notificationsEnabled
flag on the device to indicate whether notifications are enabled for the app
Removed
- BREAKING CHANGE:
spawnInAppNotification
has been removed. Please refer to the in-app migration guide.
More information
- Please see the 3.1.0-beta1 README file.
- Specifically, take a look at the Migrating in-app messages from the previous version of the SDK section for information about how to update your app to work with this SDK.