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
immediatetrigger 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, andIBraze.subscribeToFeatureFlagsEvents. Streams deliverCacheReplay(this-subscriber handshake),CacheLoad(fan-out disk snapshot at session start and cache-only loads),DataUpdated(fan-out cache mutations),ErrorEvent, and analyticsImpressionEvent/ClickEvent/DismissEvent. Feature Flags emits impression analytics only. Disabled channels handshake withErrorEventFeatureDisabled instead ofCacheReplay.
Changed
subscribeToContentCardsEvents,subscribeToBannersEvents, andsubscribeToFeatureFlagsEventsnow emit analyticsFLUSHEDafter a successful data-sync of the matching impression, click, or dismiss, matching iOS. Failed enqueue and failed data-sync do not emitFLUSHED.requestBannersRefreshnow 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. subscribeToBannersEventsDataUpdatedsnapshots 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 emitsDataUpdatedwhen 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, andsubscribeToBannersErrorsin favor ofsubscribeTo*Events. Unsubscribe still uses the legacy event class. Removal targeted for 46.0.0.