Change log and release notes for the Batch SDK. Any variances between Android, iOS, AIR, and Unity will be noted.
SDK is now built with the Pie SDK, and targets API Level 28.
Opting-out from the SDK now sends an event notifying the server of this. If a data wipe has been asked, the request will also be forwarded to the server. New methods have been introduced to be informed of the status of the request to update your UI accordingly, and possibly revert the opt-out if the network is unreachable.
Exposed the tag Batch uses to display notifications in the constant
Batch.NOTIFICATION_TAG. You can use this to cancel notifications, or use other APIs that require finding notifications by ID and tag.
Batch.Messaging.setShowForegroundLandings(). It allows you to disable Batch's default behaviour to forward push messages containing landings to the app if it is in the foreground. Call this method with
false will result in notifications always being posted no matter what the application state is.
Event data support has been overhauled. As a result:
BatchEventData. Use this class to attach attributes and tags to an event. See this class' documentation for more information about limits.
Batch.User.trackEvent(String name, Stringlabel, JSONObject data)has been deprecated
BatchEventData. Same data format restrictions apply: Any key/value entry that can't be converted will be ignored, and logged. Tags are not supported
Batch.User.trackEvent(String name, Stringlabel, BatchEventData data), replacing the deprecated method.
More info in the event documentation.
Batch now fully supports Firebase Cloud Messaging. Note that existing Batch integrations will NOT automatically be migrated to FCM. You should follow the migration steps before April 2019.
Added methods to handle opting-out from Batch, and wiping user data.
You can control whether Batch is opted out from by default using a manifest meta-data entry:
<meta-data android:name="batch_opted_out_by_default" android:value="false" />
For compatibility reasons, Batch will be enabled by default.
More info in our documentation.
When a push registration identifier has successfully been fetched, Batch will now broadcast it as the action definied by
Batch.ACTION_REGISTRATION_IDENTIFIER_OBTAINED. More info in the documentation.
Banners now correctly track their display, and trigger a
onBatchMessageShown() call on your
LifecycleListener if one is set.
Displaying a banner will dismiss any currently displayed banner
Deprecated Config.setCanUseAndroidID: Android id is never collected anymore.
Deprecated Config.setCanUseInstanceID: users should migrate to FCM.
android.permission.VIBRATE in Batch's manifest, meaning that your app will automatically require them with no additional manifest changes. This should not impact you as they're required by many libraries, including Google's, and have always been required for Batch to work. If you didn't have them already, this might trigger a permission request on pre Marshmallow devices: please look at the manifest merger output to see if this impacts you.
Fixed some rare crashes that could happen on some Android emulators that broadcast malformed Google Play Services intents.
Various javadoc fixes
Note: This version is the last one supporting Android Studio 2.x. Batch 1.13 will ONLY support Android Studio 3.x and later.
Added support for Banners in In-App Messaging
If your app uses the Mobile Landing/In-App Messaging manual mode, you need to update your implementation to support banners. Please check the updated manual mode documentation for more information.
Fix an issue where an exception could be thrown if an invalid deeplink was supplied when setting up an In-App Message's buttons.
The SDK will now log the current Installation ID on start
Batch.Inbox.getFetcher(Context, String, String)rather than
getNotificationIdentifier()on BatchInboxNotificationContent, which allows you to retrieve a unique identifier for this specific notification.
Batch.Push.makePendingIntent(Intent), to generate a valid PendingIntent from an Intent, suitable for a Notification's builder. Please note that it will override the intent's action. If you rely on a custom action, you will have to make your own PendingIntent.
Batch.Push.makePendingIntentForDeeplink(String), to generate a valid PendingIntent for a deeplink string, suitable for a Notification's builder, using Batch's action activity.
setCanUseAdvancedDeviceInformation()has been introduced on the
Configobject to reduce the quantity of device information Batch will use. Note that disabling this will limit several dashboard features.
BatchPushDatahas been deprecated in favour of
BatchPushPayload, which is easier to use and will allow you to read anything used by Batch's standard push receiver. It's also easier to instanciate from an intent/bundle, and easier to serialize.
Batch Ads has been discontinued
Added a method to get the last known push token
Minor push bugfixes
New Manual Push helper.
Introduced Manual Push mode.
Other Push improvements and minor bug fixes
Introduced Native Ads.
Deprecated legacy Ads methods in order to prevent confusion between Native and Interstitial Ads. More info in the 1.2 to 1.3 migration guide
Fixed a bug that prevented a push notification from showing up in rare scenarios
Fixed bug that caused conflicts if an ad was accidentally reused a second time.
We reduced the SDK method count by 25%, decreasing the SDK size to 664kb.
Fixed error that affected use of Unlock daily capping.
Batch Ads (interstitials) released.
Added big text to push notifications.
Batch Push released.
Batch out of beta testing and 1.0 published.
Bastion, the predecessor to Batch, is released with Unlock functionality.