Releases: Iterable/iterable-android-sdk
Releases · Iterable/iterable-android-sdk
3.7.0
Fixed
- Replaced the deprecated
AsyncTask-based push notification handling withWorkManagerfor improved reliability and compatibility with modern Android versions. No action is required. - Fixed lost event tracking and missed API calls with an auto-retry feature for JWT token failures.
- Added
onEmbeddedMessagingSyncSucceeded()andonEmbeddedMessagingSyncFailed()callbacks toIterableEmbeddedUpdateHandlerfor monitoring embedded message sync results.
Full Changelog: 3.6.6...3.7.0
3.6.6
Fixed
- Fixed push notifications killing the existing activity when opened
- Fixed in-app message crash caused by WebView creation issues
- Fixed BROADCAST_CLOSE_SYSTEM_DIALOGS permission error on Android 12+ by restricting usage to Android SDK 30 and below
3.6.5
Fixed
- Fixed IterableEmbeddedView not having an empty constructor and causing crashes
- Fixed custom actions not working in background when SDK is not initialized
- Fixed double callback problem for setEmail with auto push registration
3.6.4
Fixed
- Updated
customPayloadof In-App Messages to be@Nullable
Added
- Made
isIterableDeepLinkmethod public
3.6.3
Fixed
- Improved in-app message sizing and positioning calculations for better stability and performance, especially during device orientation changes
3.6.2
Added
- Added background initialization support to prevent ANRs during app startup. Use
IterableApi.initializeInBackground()instead ofinitialize()to run initialization on a background thread while automatically queuing API calls until ready. See README for implementation details. - Added
IterableApi.onSDKInitialized()callback method to subscribe to initialization completion from multiple places in your app. - Added
setWebViewBaseUrl()configuration option toIterableConfigto support CORS for self-hosted custom fonts and external resources in WebView-based messages (in-app, inbox, embedded messages).
3.6.1
Added
- Added edge-to-edge support for in-app messages to ensure proper display on devices with notches, cutouts, and system bars. Test your in-app messages on various devices to ensure optimal display.
Note
⚠️ Important: The system applies white insets by default, which may contrast with dark-themed apps. Marketers can control the visual appearance using the background overlay option in the Iterable UI to choose appropriate background colors that work well with their app's theme.
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).
IterableConfigis updated with anenableUnknownUserActivationflag 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