Skip to content

Commit c1fa7a3

Browse files
committed
Release Flutter SDK version 1.5.0
1 parent 43336a1 commit c1fa7a3

File tree

83 files changed

+5031
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

83 files changed

+5031
-0
lines changed

Diff for: .gitignore

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
.DS_Store
2+
.dart_tool/
3+
4+
.packages
5+
.pub/
6+
pubspec.lock
7+
8+
build/
9+
10+
flutter_export_environment.sh
11+
12+
example/.flutter-plugins-dependencies
13+
example/ios/Flutter/Flutter.podspec
14+
example/lib/generated_plugin_registrant.dart

Diff for: .metadata

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# This file tracks properties of this Flutter project.
2+
# Used by Flutter tool to assess capabilities and perform upgrades etc.
3+
#
4+
# This file should be version controlled and should not be manually edited.
5+
6+
version:
7+
revision: 5391447fae6209bb21a89e6a5a6583cac1af9b4b
8+
channel: stable
9+
10+
project_type: plugin

Diff for: CHANGELOG.md

+202
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,202 @@
1+
## 1.5.0
2+
3+
##### Breaking
4+
- The native iOS bridge uses [Braze iOS SDK 4.0.2](https://github.com/Appboy/appboy-ios-sdk/blob/master/CHANGELOG.md#402).
5+
- The native Android bridge uses [Braze Android SDK 13.1.2](https://github.com/Appboy/appboy-android-sdk/blob/master/CHANGELOG.md#1312).
6+
- The minimum supported Flutter version is 1.10.0.
7+
8+
##### Added
9+
- Adds a public repository for the Braze Flutter SDK here: https://github.com/braze-inc/braze-flutter-sdk.
10+
- We look forward to the community's feedback and are excited for any contributions!
11+
12+
## 1.4.0
13+
14+
##### Breaking
15+
- The native Android bridge uses [Braze Android SDK 13.0.0](https://github.com/Appboy/appboy-android-sdk/blob/master/CHANGELOG.md#1300).
16+
- The native iOS bridge uses [Braze iOS SDK 3.34.0](https://github.com/Appboy/appboy-ios-sdk/blob/master/CHANGELOG.md#3340).
17+
18+
##### Added
19+
- Adds `BrazePlugin.setGoogleAdvertisingId()` to set the Google Advertising ID and the associated Ad-Tracking Enabled field for Android. This is a no-op on iOS.
20+
21+
##### Fixed
22+
- Fixes an issue where the Braze Android SDK's `Appboy.setLogLevel()` method wasn't respected.
23+
24+
## 1.3.0
25+
26+
##### Breaking
27+
- The native Android bridge uses [Braze Android SDK 12.0.0](https://github.com/Appboy/appboy-android-sdk/blob/master/CHANGELOG.md#1200).
28+
- The native iOS bridge uses [Braze iOS SDK 3.31.0](https://github.com/Appboy/appboy-ios-sdk/blob/master/CHANGELOG.md#3310).
29+
30+
##### Added
31+
- Adds support for the Braze plugin to be used with Android V2 Embedding APIs. Integrations using V1 Embedding will also continue to work.
32+
- Allows the Android Braze plugin to be used with multiple Flutter engines.
33+
34+
## 1.2.0
35+
36+
##### Breaking
37+
- The native iOS bridge uses [Braze iOS SDK 3.30.0](https://github.com/Appboy/appboy-ios-sdk/blob/master/CHANGELOG.md#3300).
38+
39+
##### Added
40+
- Allows the iOS Braze plugin to be used with multiple Flutter engines.
41+
42+
## 1.1.0
43+
44+
##### Breaking
45+
- The native Android bridge uses [Braze Android SDK 11.0.0](https://github.com/Appboy/appboy-android-sdk/blob/master/CHANGELOG.md#1100).
46+
- The native iOS bridge uses [Braze iOS SDK 3.29.1](https://github.com/Appboy/appboy-ios-sdk/blob/master/CHANGELOG.md#3291).
47+
48+
## 1.0.0
49+
50+
##### Breaking
51+
- The native iOS bridge uses [Braze iOS SDK 3.27.0](https://github.com/Appboy/appboy-ios-sdk/blob/master/CHANGELOG.md#3270). This release adds support for iOS 14 and requires XCode 12. Please read the Braze iOS SDK changelog for details.
52+
53+
## 0.10.1
54+
55+
##### Changed
56+
- The native iOS bridge uses [Braze iOS SDK 3.26.1](https://github.com/Appboy/appboy-ios-sdk/blob/master/CHANGELOG.md#3261).
57+
58+
## 0.10.0
59+
60+
##### Breaking
61+
- The native Android bridge uses [Braze Android SDK 8.1.0](https://github.com/Appboy/appboy-android-sdk/blob/master/CHANGELOG.md#810).
62+
- The native iOS bridge uses [Braze iOS SDK 3.26.0](https://github.com/Appboy/appboy-ios-sdk/blob/master/CHANGELOG.md#3260).
63+
64+
##### Fixed
65+
- Fixed an issue where `setBoolCustomUserAttribute` always set the attribute to `true` on iOS.
66+
67+
## 0.9.0
68+
69+
##### Breaking
70+
- The native Android bridge uses [Braze Android SDK 7.0.0](https://github.com/Appboy/appboy-android-sdk/blob/master/CHANGELOG.md#700).
71+
- The native iOS bridge uses [Braze iOS SDK 3.22.0](https://github.com/Appboy/appboy-ios-sdk/blob/master/CHANGELOG.md#3220).
72+
73+
## 0.8.0
74+
75+
##### Breaking
76+
- The native iOS bridge uses [Braze iOS SDK 3.21.3](https://github.com/Appboy/appboy-ios-sdk/blob/master/CHANGELOG.md#3213).
77+
- The native Android bridge uses [Braze Android SDK 4.0.2](https://github.com/Appboy/appboy-android-sdk/blob/master/CHANGELOG.md#402).
78+
- If you are using a custom `IInAppMessageManagerListener`, then you will need to define new methods added to that interface in [Braze Android SDK 4.0.0](https://github.com/Appboy/appboy-android-sdk/blob/master/CHANGELOG.md#400). See the `MainActivity.kt` file of our sample app for a reference example.
79+
80+
## 0.7.0
81+
82+
##### Added
83+
- Added `BrazePlugin.launchContentCards()` and `BrazePlugin.refreshContentCards()` to natively display and refresh Content Cards.
84+
- Adds a Dart callback for receiving Braze Content Card data in the Flutter host app.
85+
- Similar to in-app messages, you will need to subscribe to Content Card updates in your native app code and pass Content Card objects to the Dart layer. Those objects will then be passed to your callback within a `List<BrazeContentCard>` instance.
86+
- To set the callback, call `BrazePlugin.setBrazeContentCardsCallback()` from your Flutter app with a function that takes a `List<BrazeContentCard>` instance.
87+
- The `BrazeContentCard` object supports a subset of fields available in the native model objects, including `description`, `title`, `image`, `url`, `extras`, and more.
88+
- On Android, you will need to register an `IEventSubscriber<ContentCardsUpdatedEvent>` instance and pass returned Content Card objects to the Dart layer using `BrazePlugin.processContentCards(contentCards)`.
89+
- See the `MainActivity.kt` file of our sample app for a reference example.
90+
- On iOS, you will need to create an `NSNotificationCenter` listener for `ABKContentCardsProcessedNotification` events and pass returned Content Card objects to the Dart layer using `BrazePlugin.processContentCards(contentCards)`.
91+
- See the `AppDelegate.swift` file of our sample app for a reference example.
92+
- Added support for logging Content Card analytics to Braze using `BrazeContentCard` instances. See `logContentCardClicked()`, `logContentCardImpression()`, and `logContentCardDismissed()` on the `BrazePlugin` interface.
93+
94+
## 0.6.1
95+
96+
##### Fixed
97+
- Fixed an issue where the Braze Kotlin plugin file's directory structure did not match its package structure.
98+
99+
## 0.6.0
100+
101+
##### Changed
102+
- The native Android bridge uses [Braze Android SDK 3.8.0](https://github.com/Appboy/appboy-android-sdk/blob/master/CHANGELOG.md#380).
103+
- Updated the native iOS bridge to [Braze iOS SDK 3.20.4](https://github.com/Appboy/appboy-ios-sdk/releases/tag/3.20.4).
104+
105+
## 0.5.2
106+
107+
**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](https://github.com/Appboy/appboy-ios-sdk/blob/master/CHANGELOG.md) for more information.
108+
109+
##### Changed
110+
- Updated the native iOS bridge to [Braze iOS SDK 3.20.2](https://github.com/Appboy/appboy-ios-sdk/releases/tag/3.20.2).
111+
112+
## 0.5.1
113+
114+
**Important** This release has known issues displaying HTML in-app messages. Do not upgrade to this version and upgrade to 0.5.2 and above instead. If you are using this version, you are strongly encouraged to upgrade to 0.5.2 or above if you make use of HTML in-app messages.
115+
116+
##### Changed
117+
- Updated the native iOS bridge to [Braze iOS SDK 3.20.1](https://github.com/Appboy/appboy-ios-sdk/releases/tag/3.20.1).
118+
119+
## 0.5.0
120+
121+
**Important** This release has known issues displaying HTML in-app messages. Do not upgrade to this version and upgrade to 0.5.2 and above instead. If you are using this version, you are strongly encouraged to upgrade to 0.5.2 or above if you make use of HTML in-app messages.
122+
123+
##### Breaking
124+
- The native iOS bridge uses [Braze iOS SDK 3.20.0](https://github.com/Appboy/appboy-ios-sdk/blob/master/CHANGELOG.md#3200).
125+
- **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:didRegisterForRemoteNotificationsWithDeviceToken:`, replace
126+
```
127+
[[Appboy sharedInstance] registerPushToken:
128+
[NSString stringWithFormat:@"%@", deviceToken]];
129+
```
130+
with
131+
```
132+
[[Appboy sharedInstance] registerDeviceToken:deviceToken]];
133+
```
134+
- `registerPushToken()` was renamed to `registerAndroidPushToken()` and is now a no-op on iOS. On iOS, push tokens must now be registered through native methods.
135+
136+
## 0.4.0
137+
138+
##### Breaking
139+
- The native iOS bridge uses [Braze iOS SDK 3.18.0](https://github.com/Appboy/appboy-ios-sdk/blob/master/CHANGELOG.md#3180).
140+
- The native Android bridge uses [Braze Android SDK 3.6.0](https://github.com/Appboy/appboy-android-sdk/blob/master/CHANGELOG.md#360).
141+
142+
##### Added
143+
- Added the following new field to `BrazeInAppMessage`: `zippedAssetsUrl`.
144+
- Note that a known issue in the iOS plugin prevents HTML IAMs from working reliably with the Dart in-app message callback. Android is not affected.
145+
146+
## 0.3.0
147+
148+
##### Breaking
149+
- The native iOS bridge uses [Braze iOS SDK 3.15.0](https://github.com/Appboy/appboy-ios-sdk/blob/master/CHANGELOG.md#3150).
150+
- The native Android bridge uses [Braze Android SDK 3.5.0](https://github.com/Appboy/appboy-android-sdk/blob/master/CHANGELOG.md#350).
151+
- Support for the Android configuration parameter `com_appboy_inapp_show_inapp_messages_automatically` has been removed.
152+
- To control whether an in-app message object should be displayed natively or not, create and register an instance of `IInAppMessageManagerListener` in your native Android code and implement decisioning in the `beforeInAppMessageDisplayed` method. See `MainActivity` in our sample app for an example.
153+
- On Android, in-app message objects are no longer sent automatically to the Dart in-app message callback after calling `BrazePlugin.setBrazeInAppMessageCallback()` in your Dart code.
154+
- Similar to iOS, you will need to implement a delegate interface in your native app code and pass in-app message objects to the Dart layer for passing to the callback.
155+
- On Android, the delegate interface is `IInAppMessageManagerListener` and the method for passing objects to Dart is `BrazePlugin.processInAppMessage(inAppMessage)`.
156+
- See the sample `IInAppMessageManagerListener` implementation in the `MainActivity.kt` file of our sample app for an example.
157+
- This approach gives the integrator more flexibility in deciding when a message should be displayed natively, discarded, or passed into the Dart layer.
158+
159+
##### Added
160+
- Added support for logging in-app message analytics to Braze using `BrazeInAppMessage` instances. See `logInAppMessageClicked`, `logInAppMessageImpression`, and `logInAppMessageButtonClicked` on the `BrazePlugin` interface.
161+
162+
## 0.2.1
163+
164+
##### Added
165+
- Added the following new fields to `BrazeInAppMessage`: `imageUrl`, `useWebView`, `duration`, `clickAction`, `dismissType`, `messageType`
166+
- Added the following new fields to `BrazeButton`: `useWebView`, `clickAction`.
167+
168+
## 0.2.0
169+
170+
##### Breaking
171+
- The native iOS bridge uses [Braze iOS SDK 3.14.0](https://github.com/Appboy/appboy-ios-sdk/blob/master/CHANGELOG.md#3140).
172+
- The native Android bridge uses [Braze Android SDK 3.2.1](https://github.com/Appboy/appboy-android-sdk/blob/master/CHANGELOG.md#321).
173+
174+
##### Added
175+
- Adds `addAlias()` to the public API interface.
176+
- Adds `requestLocationInitialization()` to the public API interface.
177+
- Adds `getInstallTrackingId()` to the public API interface.
178+
- Adds support for disabling native in-app message display on Android.
179+
- To disable automatic in-app message display, create a boolean element named `com_appboy_inapp_show_inapp_messages_automatically` in your Android app's `appboy.xml` and set it to `false`.
180+
- Note: Disabling automatic in-app message display was already possible for iOS. For instructions, see `README.md`.
181+
- Adds a Dart callback for receiving Braze in-app message data in the Flutter host app.
182+
- Analytics are not currently supported on messages displayed through the callback.
183+
- To set the callback, call `BrazePlugin.setBrazeInAppMessageCallback()` from your Flutter app with a function that takes a `BrazeInAppMessage` instance.
184+
- The `BrazeInAppMessage` object supports a subset of fields available in the native model objects, including `uri`, `message`, `header`, `buttons`, and `extras`.
185+
- The callback should begin to function on Android immediately after being set.
186+
- On iOS, you will additionally need to implement the `ABKInAppMessageControllerDelegate` delegate as described in our [public documentation](https://www.braze.com/docs/developer_guide/platform_integration_guides/ios/in-app_messaging/customization/#in-app-message-controller-delegate). Your `beforeInAppMessageDisplayed` delegate implementation must call `BrazePlugin.process(inAppMessage)`. For an example, see `AppDelegate.swift` in our example app.
187+
188+
## 0.1.1
189+
- Formatted `braze_plugin.dart`.
190+
191+
## 0.1.0
192+
- Removes the unused `dart:async` import in `braze_plugin.dart`.
193+
- Makes `_callStringMethod` private in `braze_plugin.dart`.
194+
- Adds basic dartdoc to the public API interface.
195+
196+
## 0.0.2
197+
- Updates the version of Kotlin used by the Android plugin from `1.2.71` to `1.3.11`.
198+
199+
## 0.0.1
200+
- Initial release.
201+
- The native iOS bridge uses [Braze iOS SDK 3.12.0](https://github.com/Appboy/appboy-ios-sdk/releases/tag/3.12.0).
202+
- The native Android bridge uses [Braze Android SDK 3.1.0](https://github.com/Appboy/appboy-android-sdk/blob/master/CHANGELOG.md#310).

Diff for: LICENSE

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
Copyright (c) 2019 Braze, Inc.
2+
All rights reserved.
3+
4+
* The use of source code or binaries contained within Braze's sample apps, documentation, stub APIs and other related utilities is permitted only to enable testing and quality assurance of integrations with the Braze platform by current customers of Braze.
5+
* The use of source code or binaries contained within Braze's SDKs is permitted only to enable use of the Braze platform by current customers of Braze.
6+
* Modification of source code contained within this repository or inclusion of such source in any non-Braze app, website, or related code is only permitted provided that all other conditions set forth herein are met.
7+
* Neither the name "Braze" nor the names of any of its contributors may be used to endorse or promote products derived from this software without the express prior written permission of Braze.
8+
* Redistribution of source code or binaries is strictly prohibited except with the express prior written permission of Braze. Any such redistribution must retain the above copyright notice, this list of conditions and the following disclaimer:
9+
10+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF THE USER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

0 commit comments

Comments
 (0)