github braze-inc/braze-android-sdk v44.0.0

3 hours ago

Release Date

Fixed
  • Fixed a crash involving the Firebase Performance Monitoring Gradle plugin on Android 11 (API 30) and higher where manual connection disconnects could cause a host app crash. The SDK now handles such failures when it closes the connection and when it processes network connectivity callbacks.
  • Fixed an issue where refreshing banners while a test send was displayed could evict unrelated cached banners.
Added
  • Added support for the immediate trigger condition type. Triggered actions with that condition are performed as soon as the SDK registers them, without waiting for another trigger event. Eligibility rules, including the minimum time interval between triggered actions, still apply.
  • Added IBraze.subscribeToContentCardsEvents, IBraze.subscribeToBannersEvents, and IBraze.subscribeToFeatureFlagsEvents. Streams deliver CacheReplay (this-subscriber handshake), CacheLoad (fan-out disk snapshot at session start and cache-only loads), DataUpdated (fan-out cache mutations), ErrorEvent, and analytics ImpressionEvent / ClickEvent / DismissEvent. Feature Flags emits impression analytics only. Disabled channels handshake with ErrorEvent FeatureDisabled instead of CacheReplay.
Changed
  • subscribeToContentCardsEvents, subscribeToBannersEvents, and subscribeToFeatureFlagsEvents now emit analytics FLUSHED after a successful data-sync of the matching impression, click, or dismiss, matching iOS. Failed enqueue and failed data-sync do not emit FLUSHED.
  • requestBannersRefresh now merges into the existing banner cache instead of replacing it entirely. Only the requested placement IDs are affected; other cached banners are untouched, and a requested placement with no banner in the response is removed from the cache.
  • After a banners refresh, BannerViews re-init only for placements whose cached content changed. Unchanged displayed banners are left as-is.
  • subscribeToBannersEvents DataUpdated snapshots now follow banner cache merge: placements that were not requested remain, and a requested placement with no banner in the response is absent. A completed refresh still emits DataUpdated when the payload is identical to the current cache.
  • Banner storage supports a server-configurable content cache limit (default 50 MB). When enabled, over-cap refreshes evict the largest existing banners first and log an internal error event with banner id and placement id. Config changes apply on the next refresh or cache load.
  • Deprecated subscribeToContentCardsUpdates, subscribeToFeatureFlagsUpdates, subscribeToBannersUpdates, and subscribeToBannersErrors in favor of subscribeTo*Events. Unsubscribe still uses the legacy event class. Removal targeted for 46.0.0.

Don't miss a new braze-android-sdk release

NewReleases is sending notifications on new releases.