Xamarin SDK changelog
⚠️ In version 4.0.0, we changed the iOS bridge from AppboyKit, which is written in Objective-C, to the new Swift SDK. If you are upgrading from a version below 4.0.0 to a version above 4.0.0, please read the instructions to ensure a smooth transition and backward compatibility.
6.0.0
Breaking
- Added support for .NET 8.0 for the iOS and Android bindings as .NET 7.0 has reached end of life support.
- This removes support for .NET 7.0.
- Updated the Android binding from Braze Android 30.4.0 to 32.0.0.
- Updated the iOS binding from Braze Swift SDK 9.0.0 to 10.0.0.
- When subscribing to push notification events, the subscription will be triggered on iOS for both “Push Received” and “Push Opened”, instead of only for “Push Opened” events.
Fixed
- Removed the files under the
Modules
directories in the XCFrameworks to reduce the final size of the distributed application.
5.0.0
Breaking
- Updated the iOS binding from Braze Swift SDK 8.4.0 to 9.0.0.
4.0.3
Added
- Updated the Android binding from Braze Android 30.1.0 to 30.4.0.
- Updated the iOS binding from Braze Swift SDK 8.0.1 to 8.4.0.
4.0.2
Added
- Updated the Android binding from Braze Android SDK 29.0.1 to 30.1.0.
- Updated the iOS binding from Braze Swift SDK 7.6.0 to 8.0.1.
4.0.1
Fixed
- Corrected the incorrect dependency versions in the nuspecs of recent iOS libraries.
4.0.0
Breaking
- This version updates the iOS binding to use the Braze Swift SDK. Most iOS public APIs have changed, please refer to our migration guide (Swift) for guidance about replacement to use. We provide compatibility bindings to keep making use of the old public APIs.
- The iOS binding is now composed of multiple modules:
- BrazeKit: Main SDK library providing support for analytics and push notifications (nuget: Braze.iOS.BrazeKit).
- BrazeUI: Braze-provided user interface library for In-App Messages and Content Cards (nuget: Braze.iOS.BrazeUI).
- BrazeLocation: Location library providing support for location analytics and geofence monitoring (nuget: Braze.iOS.BrazeLocation).
- BrazeKitCompat: Compatibility library with support for pre-4.0.0 APIs (nuget: Braze.iOS.BrazeKitCompat).
- BrazeUICompat: Compatibility library with support for pre-4.0.0 UI APIs (nuget: Braze.iOS.BrazeUICompat).
- This migration requires re-identifying users. To do so, you must call the
changeUser
method on the Braze instance for non-anonymous users. You can read more about it here. - Refer to the BrazeiOSMauiSampleApp for the new integration, and to BrazeiOSMauiCompatSampleApp for usage of the compatibility modules.
- The iOS binding is now composed of multiple modules:
- Updated the iOS binding to the Braze Swift SDK 7.6.0
- The iOS binding requires using .NET 7 for compatibility with Xcode 15.
3.0.0
Breaking
- The NuGet package has been renamed from
AppboyPlatformXamariniOSBinding
toBrazePlatform.BrazeiOSBinding
.- To use the updated package, replace any instances of
using AppboyPlatformXamariniOSBinding;
with:1
using Braze;
- To use the updated package, replace any instances of
- This version requires using .NET 6+ and removes support for projects using the Xamarin framework. See Microsoft’s policy around the end of support for Xamarin.
- Updated the Android binding from Braze Android SDK 26.3.2 to 29.0.1.
Fixed
- Fixed an issue where some Android
set
methods were being hidden by the Xamarin framework.
Added
- Added support for .NET 6 (or newer) and support for projects using .NET MAUI.
- For a reference iOS implementation, see
BrazeiOSMauiSampleApp.sln
.
- For a reference iOS implementation, see
- Updated the iOS binding from Braze iOS SDK 4.4.1 to 4.6.0.
- The underlying iOS assets have been updated to use XCFrameworks:
Appboy_iOS_SDK.framework
->Appboy_iOS_SDK.xcframework
SDWebImage.framework
->SDWebImage.xcframework
- The underlying iOS assets have been updated to use XCFrameworks:
2.0.1
Fixed
- Updated the Android binding to use Braze Android SDK 26.3.2.
2.0.0
Starting with this release, this SDK will use Semantic Versioning.
Breaking
- Updated the Android binding to use Braze Android SDK 26.3.0.
1.27.0
Added
- Added
BrazePlatform.BrazeAndroidBinding
which introduces .NET 6+ framework support for MAUI.- This package is available here on Nuget.
- Updated the Android binding to use Braze Android SDK 24.2.0.
1.26.0
Breaking
- Updated the Android binding to use Braze Android SDK 23.3.0.
1.25.0
Breaking
- Updated the Android binding to use Braze Android SDK 21.0.0.
1.24.0
Breaking
- Updated the Android binding to use Braze Android SDK 19.0.0.
1.23.0
Breaking
- Updated the iOS binding to use Braze iOS SDK 4.4.1.
- Added
AddToSubscriptionGroupWithGroupId
andRemoveFromSubscriptionGroupWithGroupId
toABKUser
.
- Added
- Updated the Android binding to use Braze Android SDK 18.0.1.
- This introduces a hard dependency on
Xamarin.Kotlin.StdLib
in your package references. - This introduces a hard dependency on
Xamarin.KotlinX.Coroutines.Android
in your package references.
- This introduces a hard dependency on
1.21.1
Changed
- Updated the iOS binding to use Braze iOS SDK 4.3.2.
1.21.0
Breaking
- Updated the iOS binding to use Braze iOS SDK 4.3.1.
- This includes several breaking changes in the binding, and integrators should test before releasing. Please read the Braze iOS SDK changelog for details.
1.20.0
Breaking
- Updated the Android binding to use Braze Android SDK 15.0.0.
1.19.0
Changed
- Updated the Android binding to use Braze Android SDK 13.1.2.
1.18.0
Breaking
- Updated the Android binding to use Braze Android SDK 13.0.0.
- Updated the iOS binding to use Braze iOS SDK 3.33.1.
1.17.0
Breaking
- Updated the iOS binding to use Braze iOS SDK 3.29.1.
- Updated the Android binding to use Braze Android SDK 11.0.0.
1.16.0
Breaking
- Updated the Android binding to use Braze Android SDK 10.0.0.
1.15.0
Breaking
- The native iOS bridge uses Braze iOS SDK 3.27.0. This release adds support for iOS 14 and requires XCode 12. Please read the Braze iOS SDK changelog for details.
ABKIDFADelegate.IsAdvertisingTrackingEnabled
has been renamed toABKIDFADelegate.IsAdvertisingTrackingEnabledOrATTAuthorized
.- The class
ABKIdentifierForAdvertisingProvider
has been removed.
1.14.0
Breaking
- Updated the native iOS bridge to Braze iOS SDK 3.26.1.
1.13.0
Breaking
- Updated the Android binding to use Braze Android SDK 8.1.0.
1.12.0
Breaking
- Updated the Android binding to use Braze Android SDK 8.0.1.
- Updated the native iOS bridge to Braze iOS SDK 3.24.2.
- Flipped
ABKLocationManager.DisableLocationTracking
toABKLocationManager.EnableLocationTracking
. - Replaced
ABKInAppMessageWindowController.supportedOrientationMasks
withABKInAppMessageWindowController.supportedOrientationMask
.
- Flipped
1.11.0
Breaking
- Updated the Android binding to use Braze Android SDK 6.0.0.
- Changed the Android binding to target Android 10.
1.10.2
Important: This patch updates the Braze iOS SDK Dependency from 3.20.1 to 3.20.2, which contains important bugfixes. Integrators should upgrade to this patch version. Please see the Braze iOS SDK Changelog for more information.
Changed
- Updated the native iOS bridge to Braze iOS SDK 3.20.2.
1.10.1
Important: This release has known issues displaying HTML in-app messages. Do not upgrade to this version and upgrade to 1.10.2 and above instead. If you are using this version, you are strongly encouraged to upgrade to 1.10.2 or above if you make use of HTML in-app messages.
Changed
- Updated the native iOS bridge to Braze iOS SDK 3.20.1.
1.10.0
Important: This release has known issues displaying HTML in-app messages. Do not upgrade to this version and upgrade to 1.10.2 and above instead. If you are using this version, you are strongly encouraged to upgrade to 1.10.2 or above if you make use of HTML in-app messages.
Breaking
- Updated the native iOS bridge to Braze iOS SDK 3.20.0.
- Important: Braze iOS SDK 3.20.0 contains updated push token registration methods. We recommend upgrading to these methods as soon as possible to ensure a smooth transition as devices upgrade to iOS 13. In
application.RegisteredForRemoteNotifications:
, replace1
Appboy.SharedInstance?.RegisterPushToken(deviceToken.ToString());
with
1
Appboy.SharedInstance?.RegisterDeviceToken(deviceToken);
1.9.0
Important: This release has known issues displaying HTML in-app messages. Do not upgrade to this version and upgrade to 1.10.2 and above instead. If you are using this version, you are strongly encouraged to upgrade to 1.10.2 or above if you make use of HTML in-app messages.
Breaking
- Updated the Android binding to use Braze Android SDK 3.7.0.
- Updated the native iOS bridge to Braze iOS SDK 3.19.0.
- Note: This Braze Xamarin SDK release updates to Braze Android SDK and Braze iOS SDK dependencies which no longer enable automatic Braze location collection by default. Please consult their respective changelogs for information on how to continue to enable automatic Braze location collection, as well as further information on breaking changes.
- Removes the Feedback feature as well as all associated methods, classes, and interfaces.
1.8.0
Changed
- Updated the Android binding to use Braze Android SDK 3.3.0.
Added
- Added C# bindings for Braze Android SDK classes with Firebase Cloud Messaging dependencies.
1.7.0
Breaking
- Updated the Android binding to use Braze Android SDK 3.2.1.
- Added
AppboyFirebaseMessagingService
to directly use the Firebase messaging eventcom.google.firebase.MESSAGING_EVENT
. This is now the recommended way to integrate Firebase push with Braze. TheAppboyFcmReceiver
should be removed from yourAndroidManifest
and replaced with the following:1 2 3 4 5
<service android:name="com.appboy.AppboyFirebaseMessagingService"> <intent-filter> <action android:name="com.google.firebase.MESSAGING_EVENT" /> </intent-filter> </service>
- Also note that any
c2dm
related permissions should be removed from your manifest as Braze does not require any extra permissions forAppboyFirebaseMessagingService
to work correctly.
- Added
- Updated the native iOS bridge to Braze iOS SDK 3.14.0.
- Drops support for iOS 8.
- Removes Cross-Promotion cards from the News Feed.
1.6.0
Breaking
- Updated the native iOS bridge to Braze iOS SDK 3.11.0.
- Updated the Android binding to use Braze Android SDK 3.0.1.
1.5.2
Breaking
- Updated the Android binding to use Braze SDK version 2.5.0.
Fixed
- Fixed an issue that caused C# bindings to not be generated for certain classes in the Braze UI library.
Changed
- Updated the Android sample app to use Firebase Cloud Messaging (FCM).
1.5.1
Changed
- Updated the iOS binding to use Braze SDK version Braze iOS SDK 3.3.4.
- Added
DisableSDK()
andRequestEnableSDKOnNextAppRun()
to theAppboy
interface to disable and re-enable the Braze SDK. - Added
WipeDataAndDisableForAppRun()
on theAppboy
interface to support wiping all customer data created by the Braze SDK. - Note that methods that disable the SDK will cause
Appboy.SharedInstance
to returnnull
. If you have code that usesAppboy.SharedInstance
, do not useDisableSDK()
orWipeDataAndDisableForAppRun()
until your code can safely execute even ifAppboy.SharedInstance
is null.
- Added
- Updated the Android binding to use Braze SDK version 2.2.5.
- Added
DisableSdk()
andEnableSdk()
to theAppboy
interface to disable and re-enable the Braze SDK. - Added
WipeData()
on theAppboy
interface to support wiping all customer data created by the Braze SDK.
- Added
1.5
Breaking
- Updated the iOS binding to use Braze SDK version Braze iOS SDK 3.3.0.
- Updated the Android binding to use Braze SDK version 2.2.1.
- Removed the need to include
Appboy.bundle
manually in iOS integrations. Integrators should remove existingAppboy.bundle
files from their iOS integrations.
Added
- Added the ability to report to Braze that the app is running Xamarin to iOS integrations. We strongly recommend reporting this value to allow Braze to calculate accurate usage around different SDK platforms. To enable reporting, add
Appboy.SharedInstance.SdkFlavor = ABKSDKFlavor.Xamarin;
to yourAppDelegate.cs
after callingAppboy.StartWithApiKey()
. - Braze Xamarin Bindings are now available on Nuget. Check out our iOS Binding and Android Binding. Note that Braze Xamarin SDK version
1.5.0
is the last version to receive a Xamarin component store release. Future releases will be released to Nuget and the open source repo only.
1.4
Breaking
- Updated the iOS binding to use Braze SDK version Braze iOS SDK 2.29.0.
- Updated the Android binding to use Braze SDK version 2.0.0.
1.3
Breaking
- Updated the iOS binding to use Braze SDK version Braze iOS SDK 2.24.2.
- Updated the Android binding to use Braze SDK version 1.15.3.
- Update Required — Updated iOS push handling in the AppboyProject sample project to be compatible with iOS 10. For more information, refer to the CHANGELOG for Braze iOS SDK v2.24.0.
Changed
- Updated the AppboyProject sample project to integrate session handling and in-app message manager registration using an AppboyLifecycleCallbackListener, as introduced in Braze Android SDK v1.15.0.
Removed
- Removed
AppboyBroadcastReceiver.cs
from the AppboyProject sample project, as Braze Android SDK v1.15.0 removes the need for a customAppboyBroadcastReceiver
for Braze push notifications.
1.2
Breaking
- Updated the iOS binding to use Braze SDK version Braze iOS SDK 2.17.1.
- Updated the Android binding to use Braze SDK version 1.11.0.
1.1
Breaking
- Updated the iOS binding to use Braze SDK version Braze iOS SDK 2.12.0.
- Updated the Android binding to use Braze SDK version 1.8.0.
Added
- Added a Xamarin Forms sample application with News Feed integrations.
- Added AppboyXamarinFormsFeedFragment that inherits from Android.App.Fragment to be compatible with Xamarin Forms.
1.0
Added
- Added support for all standard API and UI functionality in the Android SDK and iOS SDKs.
- iOS functionality not included in this release: IDFA collection, custom Slideup viewControllers, social data collection.
- Please contact [email protected] for more information about these features and the timeline for their inclusion.