Releases: BatchLabs/Batch-Android-SDK
Releases · BatchLabs/Batch-Android-SDK
3.1.1
3.1.0
Core
- Fixed an edge case where the 3.0.1 crash fix didn't work as expected when upgrading from SDK 3.0.0.
Messaging
- Introduced In-App Automations within the Customer Engagement Platform.
- Introduced
Spacercomponent for creating flexible empty space within In-App messages. - Added support for In-App WebView format within the Customer Engagement Platform.
- Added
filloption for In-App component height.
3.0.1
Core
- Fixed an issue where an app upgraded from Batch SDK 1.x/2.x could crash once when Android tried to run a Job scheduled by the SDK.
Messaging
- Fixed an issue preventing content scrolling in In-App messages displayed as modals at the top or bottom of the screen.
- Fixed an issue where In-App messages might not display during NEW SESSION events.
Event Dispatcher
- Fixed an issue causing
getTrackingId()inBatch.EventDispatcher.Payloadto return null for CEP (Customer Engagement Platform) messages.
3.0.0
This is a major release, please see our migration guide for more info on how update your current Batch implementation.
Core
- Batch now compiles with SDK 36 (Android 16 'Baklava').
- Batch now uses Kotlin (1.9.0) internally. This should not affect your existing Java-based integrations as public APIs remain in Java.
Push
- Fixed an issue where push notifications could display a blank area when the image download failed.
- Added
Batch.Push.setShowNotificationsmethod to control whether push notifications should be displayed. - Added
Batch.Push.shouldShowNotificationsmethod to check current notification display settings. - Removed
PushNotificationTypeenum and related methodsgetNotificationsTypeandsetNotificationsTypefromBatch.Push. You should now usesetShowNotificationsto control whether Batch should display notifications or not. Note that Batch still preserves your previous values andshouldShowNotificationswill reflect them."
Profile
- Fixed an issue preventing Turkish-speaking users from correctly setting Email/SMS subscription states.
Messaging
- Added compatibility for Mobile Landings with Push v2 which can be created from the drag & drop composer in the Batch Dashboard.
- Added interface
Batch.Messaging.InAppInterceptorand methodBatch.Messaging.setInAppInterceptorin order to handle messages yourself. - Added method
loadMessagingViewto control when and how a mobile landing will be displayed. LifecycleListenerhas been redesigned:- Added method
onBatchMessageClosed(String, MessagingCloseReason). - Added enum
Batch.Messaging.LifecycleListener.MessagingCloseReasonwhich indicates why an In-App message was closed. - Updated method
onBatchMessageActionTriggered. Theindexparameter has been replaced byctaIdentifier. This method is still called on MEP (Mobile Engagement Platform) messages, but you will now receive an identifier built from the old cta index : “mepCtaIndex:” + index. - Removed individual close callback methods (
onBatchMessageCancelledByUser,onBatchMessageCancelledByAutoclose,onBatchMessageCancelledByError,onBatchMessageClosed). Use the new unifiedonBatchMessageClosed(String, MessagingCloseReason)method. - Removed method
onBatchMessageWebViewActionTriggered. This will now triggered ononBatchMessageActionTriggeredwith theanalyticsIDasctaIdentifier. - Constant
GLOBAL_TAP_ACTION_INDEXnow returns a String instead of an int.
- Added method
- Removed
Batch.Messaging.LifecycleListener2interface, you should now useBatch.Messaging.InAppInterceptorwithsetInAppInterceptor. - Removed enum
Formatand methodgetFormatfromBatchMessage. You should now check the kind of aBatchMessagingViewto use the dedicated right methods to show your message. - Removed methods
loadFragmentandloadBannerfromBatch.Messaging. Use the newloadMessagingViewmethod instead. - Removed class
BatchBannerView. UseBatchMessagingViewreturned byloadMessagingViewinstead. - Renamed method
getContentfrom classBatchInAppMessagetogetMEPContent. This method will return null for messages coming from the CEP (Customer Engagement Platform).
Debug
- Added support for edge-to-edge display in
BatchDebugActivity.
2.1.1
Inbox
- Fixed an issue where a
BatchInboxNotificationContentcould not be flagged as silent.
Messaging
- Fixed an issue where
isDismissActionofBatchMessageActionalways return false
2.1.0
Core
- Batch now compiles with SDK 35 (Android 15 'Vanilla Ice Cream').
- Opted-out the Batch Debug Activity from Android 15 edge-to-edge enforcement.
Profile
- Added
setPhoneNumberAPI to theBatchProfileAttributeEditorclass. This requires to have a user identifier registered or to call theidentifymethod beforehand. - Added
setSMSMarketingSubscriptionAPI to theBatchProfileAttributeEditorclass. - Strengthened custom user identifier validation on
identifyAPI to avoid unintended values.
2.0.3
Core
- Fixed an issue where Batch wasn't clearing some data when using
Batch.optOutAndWipeData(). Since version 2.0, the Batch SDK caches some data (such as device language/region) to detect changes. It's this data that was not deleted when calling the opt-out method with data deletion. This issue only affects local SDK data and not server-side data.
2.0.2
Profile
- Fixed an issue where Batch would crash when using
addToArrayorremoveFromArrayon aBatchProfileAttributeEditorinstance.
2.0.1
Core
- Fix an issue where some methods were obfuscated in a class annotated with
@keepsince AGP 8.0 enables R8 full mode by default.
1.21.2
Messaging
- Fixed a rare crash on In-App Webview format that could happen when Batch would get the deeplink url for an image embedded into a hyperlink.
- Fixed a rare crash on In-App and Mobile Landing that could happen when Batch would display a wrong gif format.