Change log and release notes for the Batch SDK. Any variances between Android, iOS, AIR, and Unity will be noted.
Download: iOS – Requires Xcode 10
Core
User
Re-release of 1.13.0, compiled with Xcode 10.1. Batch now includes an arm64e slice.
Note: This release comes with an update to the included BatchExtension framework.
Requires Xcode 10
Core
Fixed a rare crash that could happen when Batch's internal database failed to initialize in [BAUserDataManager startAttributesSendWSWithDelay:]
.
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.
Added the BatchDeeplinkDelegate
protocol. Adopting it allows you to manually process deeplink open requests from Batch, rather than having to implement openURL
. See Batch.deeplinkDelegate
for more information.
Push
+[BatchPush registerForRemoteNotifications]
into more explicit methods.
+[BatchPush requestNotificationAuthorization]
shows the system notification authorization prompt, and then fetches the push token. Equivalent to calling +[BatchPush registerForRemoteNotifications]
.+[BatchPush refreshToken]
will only ask iOS for a new token. This needs to be called on every application start to handle upgrades from versions without Batch, or if iOS changes the push token.+[BatchPush requestProvisionalNotificationAuthorization]
. This method does nothing on versions lower than iOS 12.[BatchPush setsetSupportsAppNotificationSettings:true]
Note that this still requires you to implement a UNUserNotificationCenterDelegate, and the appropriate method to open the settings.Events
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.+[BatchUser trackEvent:withLabel: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+[BatchUser trackEvent:withLabel:associatedData:]
which uses BatchEventData
, replacing the deprecated method.
BatchEventData
instance
Example: BatchUser.trackEvent("event_name", withLabel: "label", data: BatchEventData())
Added methods to handle opting-out from Batch, and wiping user data.
Please see [Batch optOut]
, [Batch optOutAndWipeData]
and [Batch optIn]
.
You can control whether Batch is opted out from by default setting a boolean TRUE in your Info.plist for the key:
BATCH_OPTED_OUT_BY_DEFAULT
For compatibility reasons, Batch will be enabled by default.
More info in our documentation.
Fixed a bug where an In-App Campaign might not trigger for a certain configuration if a tracked event had a label
Added support for a new Banner format for In-App Messaging and Mobile Landings
If your app uses the Mobile Landing/In-App Messaging manual mode, and especially [BatchMessaging loadViewControllerForMessage:error:]
you need to change the way you present the view controllers manually: please check the updated manual mode documentation for more information.
A helper has been added on BatchMessaging, which is especially useful if you don't feel like making your own UIWindow: [BatchMessaging presentMessagingViewController:]
Fix In-App Campaigns not honoring the grace period
Fix an issue where on iOS 11, the fullscreen Messaging template may not be displayed correctly for themes with no CTA
The SDK will now log the current Installation ID on start
Added [BatchMessaging presentViewController:], which takes care of showing a previously loaded BatchMessagingViewController in the most appropriate way.
If you used [BatchMessaging loadViewControllerForMessage:error:] to display messages in manual mode, you should go to the messaging documentation to follow updated instructions: failure to do so will result in incorrect banner behaviour.
Added support for Smart Invert in Mobile Landings/In-App Messaging. Images won't be inverted anymore.
Added iPhone X support for Mobile Landings/In-App Messaging.
[BatchMessaging loadViewControllerForMessage:error:] is now allowed in automatic mode.
Delay button handling in messaging views to until animations are over. This may have prevented deeplinks or custom actions from working properly, as UIKit does not support presenting a view controller while one is already animating.
Fix In-App Campaigns accidentally performing too much work on the main thread.
Fix a concurrency issue with In-App Campaigns which could very rarely cause a crash
[Batch setUseAdvancedDeviceInformation:]
has been introduced to reduce the quantity of device information Batch will use. Note that disabling this will limit several dashboard features.UIUserNotificationCategory
instances given to [BatchPush setNotificationsCategories:]
are automatically converted to UNNotificationCategory
on iOS 10.UNUserNotificationDelegate
instance.[BatchPush registerForRemoteNotificationsWithCategories:]
has been split in two methods and is now deprecatedBatchExtension
. It is compatible with application extensions APIs, and will progressively bring more Batch features to your extensions. In this version, it is used to add support for Rich Notifications. Since iOS 10 changes quite a lot in how notifications work, it is strongly advised that you read our iOS 10 documentation: https://batch.com/doc/ios/advanced/ios10-migration.html . Upgrading to UNUserNotificationDelegate is recommended.
Fixed:
New:
New:
Note: : If you previously integrated Batch, you may need to remove lines that look like
$(PODS_ROOT)/Batch/**
from "Framework Search Paths"in your Build settings for Batch to work with Xcode 7.
Improved:
Improved Native Ads:
New:
Fixed:
Fix an issue that could cause a freeze if your application embedded custom fonts and was started in Airplane mode
New:
Improved:
@import Batch;
now imports all of Batch's modules. If you
want to keep the old behavior, import the new Batch.Core
submodule, rather than Batch
.Fixed:
Fixed:
Various minor bugfixes.
Modified:
Fixed:
Minor bugfixes
Bugfixes.
Added:
Batch Ads (interstitials) released.
Fixed:
Stability improvements.
Added:
Fixed:
Moved a file put by mistake in /Documents/ into /Library/Application Support/.
Added:
Batch out of beta testing and 1.0 published.
Added:
Bastion, the predecessor to Batch, is released with Unlock functionality.