Skip to content

Releases: Iterable/iterable-android-sdk

3.6.2

Choose a tag to compare

@Ayyanchira Ayyanchira released this 31 Oct 20:42
fbf54f7

Added

  • Added background initialization support to prevent ANRs during app startup. Use IterableApi.initializeInBackground() instead of initialize() 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 to IterableConfig to support CORS for self-hosted custom fonts and external resources in WebView-based messages (in-app, inbox, embedded messages).

3.6.1

Choose a tag to compare

@joaodordio joaodordio released this 03 Oct 10:10
1a5cb2c

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

Choose a tag to compare

@Ayyanchira Ayyanchira released this 03 Sep 20:43
dfb9071

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 an enableUnknownUserActivation 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

Choose a tag to compare

@Ayyanchira Ayyanchira released this 29 Aug 16:42
9576367

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

Choose a tag to compare

@Ayyanchira Ayyanchira released this 16 Aug 01:27
a5fc414

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

3.6.0-beta3 Pre-release
Pre-release

Choose a tag to compare

@Ayyanchira Ayyanchira released this 31 Jul 12:11

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

Choose a tag to compare

@Ayyanchira Ayyanchira released this 26 Jun 18:07

Fixed

  • Fixed auth token refresh when app is in background, ensuring reliable token refresh in all app states.

3.5.13

Choose a tag to compare

@Ayyanchira Ayyanchira released this 10 May 07:17
ebb029c

Fixed

  • SDK now retries trackPushOpen call when JWT is missing, expired or invalid, ensuring reliable push tracking after token acquisition.

3.5.12

Choose a tag to compare

@Ayyanchira Ayyanchira released this 16 Apr 15:56
cc70c54

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

Choose a tag to compare

@evantk91 evantk91 released this 07 Mar 16:58
71910d7

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