Releases: Iterable/iterable-android-sdk
Releases · Iterable/iterable-android-sdk
3.6.0
Added
- Introduces support for Unknown user activation: a feature that allows marketers to convert valuable visitors into customers. With this feature, the SDK can:
- Fetch unknown user profile creation criteria from your Iterable project, and then automatically create Iterable user profiles for unknown users who meet these criteria.
- Save information about a visitor's previous interactions with your application to their unknown user profile, after it's created.
- Display personalized messages for unknown users (in-app, push, and embedded messages).
- Merge unknown user profiles into an existing, known user profiles (when needed).
IterableConfig
is updated with anenableUnknownUserActivation
flag that needs to be set to true to allow use of the unknown user activation functionality- Unknown user activation is currently in public beta. If you'd like to learn more about it or discuss using it, talk to your Iterable customer success manager (who can also provide detailed documentation).
- To learn more, read Unknown User Activation: Developer Docs.
3.5.16
Added
- Added offline support for disable push API requests, allowing requests to be queued and processed when network connectivity is restored
Fixed
- Fixed KeyStoreException crash on Nexus 5 devices by adding proper error handling for SecretKeyEntry operations
- Added graceful fallback to plaintext storage when encryption initialization fails
3.5.15
Fixed
- Fixed JWT token refresh issues when app is in background, ensuring reliable token refresh in all app states
- Fixed inbox metadata null check issues to prevent crashes in inbox display
Changed
- Migrated embedded message OOTB views to use Material Design buttons for better UI consistency
- Updated sample app Gradle configuration to use newer versions for better compatibility
3.6.0-beta3
Added
- Added consent logging functionality for unknown user activation feature
Changed
- Enhanced unknown user activation with improved criteria fetching and user ID generation logic
Fixed
- Fixed unknown user activation to ensure criteria is fetched on foregrounding the app by default
- Fixed unknown user ID generation to only occur once when multiple track calls are made
- Fixed consent timestamp handling when consent is revoked
3.5.14
Fixed
- Fixed auth token refresh when app is in background, ensuring reliable token refresh in all app states.
3.5.13
Fixed
- SDK now retries
trackPushOpen
call when JWT is missing, expired or invalid, ensuring reliable push tracking after token acquisition.
3.5.12
Added
EmbeddedSessionManager
methods are now public (previously library-scoped)
Fixed
- Added timeout for crypto operations to prevent ANRs.
Disabling Keychain Encryption
The Iterable SDK provides an option to disable encryption for keychain storage. By default, encryption is enabled to securely store sensitive user data.
To disable keychain encryption, set the keychainEncryption
parameter to false
when initializing the SDK:
IterableConfig config = new IterableConfig.Builder()
.setKeychainEncryption(false) // Disable encryption for keychain storage
.build();
IterableApi.initialize(context, apiKey, config);
Changed
- Thanks to @MGaetan89 for modernizing the test infrastructure by replacing deprecated Robolectric APIs with AndroidX Test alternatives and removing unnecessary dependencies.
3.5.11
Fixed
- Fixed issue where text container shrinks when buttons are not present for the embedded OOTB views.
- Fixed issue where crashes are occurring due to conflicts in deep link handling
- Fixed data storage failures by adding plain text fallback when encryption fails.
Added
- Added support for providing a list of placement ids to sync only certain placement ids.
- support for pre-release automation
3.6.0-beta2
- This release includes fixes for the Anonymous user activation private beta:
- Criteria is now fetched on foregrounding the app by default. This feature can be turned off setting enableForegroundCriteriaFetch flag to false.
- anonymous user ids are only generated once when multiple track calls are made.
- Anonymous user activation is currently in private beta. If you'd like to learn more about it or discuss using it, talk to your Iterable customer success manager (who can also provide detailed documentation).
3.5.10
Added
- Added
mobileFrameworkInfo
configuration option toIterableConfig
to identify the mobile framework (Flutter, React Native, or Native) being used with the SDK. - Support for push notifications with text input. Pending intent is now mutable when buttons are of text input type.