Releases: Iterable/iterable-android-sdk
Releases · Iterable/iterable-android-sdk
3.2.0
Added
-
Changes since beta:
- Added support for various ways to customize the default interface for a mobile inbox
- Added a sample project that demonstrates how to customize the default interface for a mobile inbox
- Added tracking for inbox sessions (when the inbox is visible in the app) and inbox message impressions (when a individual message's item is visible in the mobile inbox message list)
Removed
- Removed all old initialization methods starting with
sharedInstanceWithApiKey
- Removed
sendPush
methods (these API methods can't be called from mobile apps) - Removed all deprecated methods with extra parameters for push registration:
void registerDeviceToken(String token)
is the only one available now for token registrationvoid disablePush()
is the only one available for disabling the current push token- Platform is always FCM, and push integration name is taken from
IterableConfig
Changed
- The SDK now depends on AndroidX libraries. Migrate your app to use AndroidX before using version 3.2.0 or higher of the SDK.
- When
pushIntegrationName
is not set onIterableConfig
, the SDK now defaults it to the app's package name.
If you've set up your push integration with the new Mobile Apps UI, you don't have to specifypushIntegrationName
in the SDK anymore.
3.1.6
Added
- Added a new static method to
IterableFirebaseMessagingService
:isGhostPush
. Use this method to determine whether a Firebase message is an Iterable ghost push or silent push message.
Fixed
- Fixed the height of full-screen in-app messages to make sure they're not clipped by the Android navigation bar.
- The SDK doesn't log an error message anymore when a custom notification channel name is not set.
3.1.5
Changed
- Automatic push registration is now only done if the app is running in foreground
3.2.0-beta1
⚠ IMPORTANT
- This feature must be enabled for your project before you can use it. Please contact your CSM if you want to use this beta version.
- Beta versions of this SDK are subject to Iterable's
Beta Mobile SDK Terms of Service.
Installation
Beta installation instructions
Added
Changed
- When
pushIntegrationName
is not set onIterableConfig
, the SDK now defaults it to the app's package name.
If you've set up your push integration with the new Mobile Apps UI, you don't have to specifypushIntegrationName
in the SDK anymore.
3.1.4
Added
- Push notifications now also display image thumbnails when collapsed
Changed
- Connection timeout for GET requests is now 3 seconds, to match other request timeouts
Api-Key
header is now also used for GET requests
Fixed
- Fixed possible exceptions when an in-app message is not on the screen when it's being resized
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