Skip to content

Commit 4dbedd7

Browse files
committed
braze v1.0.0
1 parent 1be573e commit 4dbedd7

File tree

87 files changed

+515
-274
lines changed

Some content is hidden

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

87 files changed

+515
-274
lines changed

docs/braze/_includes/add-apm.mdx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,10 @@ Once complete `apm` will have created something like the following file structur
2525
```
2626
.
2727
|____ ane
28-
| |____ com.distriqt.Braze.ane # Braze extension
28+
| |____ com.braze.ane # Braze extension
2929
| |____ [dependencies]
30-
|____ apm_packages # cache directory - ignore
31-
|____ project.apm # apm project file
30+
|____ apm_packages # cache directory - ignore
31+
|____ project.apm # apm project file
3232
```
3333

3434
- Add the `ane` directory to your IDE. *See the tutorials located [here](/docs/tutorials/getting-started) on adding an extension to your IDE.*

docs/braze/_includes/add-manual-appdescriptor.mdx

Lines changed: 6 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -88,30 +88,14 @@ Ensure you replace:
8888

8989
```xml
9090
<manifest android:installLocation="auto" >
91-
<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="33"/>
92-
<uses-permission android:name="android.permission.INTERNET"/>
93-
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
94-
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
95-
<permission android:name="air.com.distriqt.test.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION" android:protectionLevel="signature"/>
96-
<uses-permission android:name="air.com.distriqt.test.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION"/>
97-
<application android:appComponentFactory="androidx.core.app.CoreComponentFactory">
98-
<meta-data android:name="android.max_aspect" android:value="2.5"/>
91+
<uses-sdk android:minSdkVersion="25" android:targetSdkVersion="34" />
92+
<uses-permission android:name="android.permission.INTERNET" />
93+
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
94+
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
95+
<application>
96+
<meta-data android:name="android.max_aspect" android:value="2.5" />
9997
<meta-data android:name="android.notch_support" android:value="true"/>
10098
<activity android:name="com.distriqt.extension.braze.contentcards.BrazeContentCardsActivity" android:exported="false" android:theme="@style/Theme.AppCompat.NoActionBar"/>
101-
<service android:name="com.braze.push.BrazeFirebaseMessagingService" android:exported="false">
102-
<intent-filter>
103-
<action android:name="com.google.firebase.MESSAGING_EVENT"/>
104-
</intent-filter>
105-
</service>
106-
<!-- com.braze.ui -->
107-
<activity android:name="com.braze.ui.BrazeWebViewActivity" android:exported="false"/>
108-
<activity android:name="com.braze.ui.activities.BrazeFeedActivity" android:exported="false"/>
109-
<activity android:name="com.braze.ui.activities.ContentCardsActivity" android:exported="false"/>
110-
<activity android:name="com.braze.push.NotificationTrampolineActivity" android:exported="false" android:launchMode="singleInstance" android:theme="@style/Braze.PushTrampoline.Transparent"/>
111-
<receiver android:name="com.braze.push.BrazePushReceiver" android:exported="false"/>
112-
<provider android:name="androidx.startup.InitializationProvider" android:authorities="air.com.distriqt.test.androidx-startup" android:exported="false">
113-
<meta-data android:name="androidx.lifecycle.ProcessLifecycleInitializer" android:value="androidx.startup"/>
114-
</provider>
11599
<activity android:name="com.distriqt.core.auth.AuthorisationActivity" android:exported="false" android:theme="@android:style/Theme.Translucent.NoTitleBar"/>
116100
</application>
117101
</manifest>

docs/braze/changelog.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,14 @@
1+
### 2025.06.04 [v1.0.0]
2+
3+
```
4+
feat(android): update to gradle build process
5+
feat(android): update sdk v36.0.0
6+
feat(ios): update sdk v12.0.0
7+
feat(airpackage): update air package for latest sdk changes
8+
feat: introduce ImageOnlyCard to replace BannerImageCard and match SDK
9+
feat(docs): update docs for new release including migration guide
10+
```
11+
112
### 2024.04.18 [v0.1.8]
213

314
```

docs/braze/deep-linking.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ This would open a url link of the form `CUSTOM_URL_SCHEME://CUSTOM_URL_PATH`, eg
5252

5353
When a deep link is received and determined to be from Braze the extension will dispatch a `BrazeDeeplinkEvent.RECEIVED` event:
5454

55-
```
55+
```actionscript
5656
Braze.instance.addEventListener( BrazeDeeplinkEvent.RECEIVED, deeplink_receivedHandler );
5757
5858
function deeplink_receivedHandler( event:BrazeDeeplinkEvent ):void

docs/braze/migrating-to-v1.0.mdx

Lines changed: 154 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,154 @@
1+
---
2+
title: Migrating to version 1.0
3+
---
4+
5+
import Tabs from '@theme/Tabs'
6+
import TabItem from '@theme/TabItem'
7+
8+
9+
This latest release brings a number of updates to the extension particularly around the Android integration.
10+
11+
Most importantly the underlying Braze SDK has been updated to the latest releases:
12+
- Android: v36.0.0
13+
- iOS: v12.0.0
14+
15+
The implementation remains largely the same however there are some changes to the integration of the extension that you should be aware of.
16+
17+
Additionally make sure you update all dependency extensions to the latest versions as well, `apm` will help you with this.
18+
19+
20+
## Updating code
21+
22+
You should update your code to use the `ImageOnlyCard` instead of the `BannerImageCard`. This change was made to better align with the Braze SDK.
23+
24+
This should be a simple change in your code, for example:
25+
26+
```actionscript
27+
import com.distriqt.extension.braze.contentcards.ImageOnlyCard;
28+
```
29+
30+
should now be used to import the `ImageOnlyCard` class, instead of the previous import for `BannerImageCard`:
31+
32+
```actionscript
33+
import com.distriqt.extension.braze.contentcards.BannerImageCard;
34+
```
35+
36+
37+
38+
39+
## Android Integration
40+
41+
### Minimum SDK Version
42+
43+
The minimum SDK version has been updated to 25 (Android 7.1 Nougat) and the target SDK version has been updated to 34 (Android 14).
44+
45+
### Gradle Version
46+
47+
We have updated the required gradle version used to build your application to be higher than the default AIR currently uses.
48+
49+
To specify a higher version add the following to your android node in your application descriptor:
50+
51+
```xml
52+
<android>
53+
<gradleVersion>8.9</gradleVersion>
54+
<androidGradlePluginVersion>8.7.3</androidGradlePluginVersion>
55+
56+
...
57+
</android>
58+
```
59+
60+
If you don't do this you will see the following error when building your application:
61+
62+
```
63+
Unexpected failure: Unable to run java: com.adobe.air.ADTException: gradle tool failed:
64+
FAILURE: Build failed with an exception.
65+
66+
...
67+
68+
> BUG! exception in phase 'semantic analysis' in source unit '_BuildScript_' Unsupported class file major version 65
69+
```
70+
71+
:::note
72+
May 2025: This is not currently automatically handled by `apm` so you will need to add this manually to your application descriptor.
73+
74+
We are working on an update to handle this.
75+
:::
76+
77+
78+
### Gradle Dependencies
79+
80+
We have moved to using gradle dependencies within our extensions which will improve dependency resolution, reduce update times and improve compatibility with other extensions.
81+
82+
This also reduces the amount of work required to manually integrate the extensions, reducing the additions to the manifest in your application descriptor.
83+
84+
We highly recommend using the [apm](https://airnativeextensions.com/docs/using-apm) tool to manage the integration of the extensions in your application and to generate your application descriptor:
85+
86+
```bash
87+
apm update
88+
apm generate app-descriptor
89+
```
90+
91+
However, you can still integrate the manifest additions manually if you prefer. With this update we recommend starting fresh as there have been a lot of entries to be removed.
92+
93+
94+
95+
### Updating the manifest
96+
97+
You can simplify the manifest now as well as the gradle implementation will add a significant amount of the required manifest entries for you.
98+
If you use the `apm` tool to generate your application descriptor you will see the manifest entries are significantly reduced and simply running the commands above will update the manifest for you.
99+
100+
If you manually update the manifest then, as mentioned above, we recommend starting fresh as there have been a lot of entries to be removed.
101+
The minimum manifest additions now looks like the following:
102+
103+
```xml
104+
<manifest android:installLocation="auto" >
105+
<uses-sdk android:minSdkVersion="25" android:targetSdkVersion="34" />
106+
<uses-permission android:name="android.permission.INTERNET" />
107+
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
108+
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
109+
<application>
110+
<meta-data android:name="android.max_aspect" android:value="2.5" />
111+
<meta-data android:name="android.notch_support" android:value="true"/>
112+
<activity android:name="com.distriqt.extension.braze.contentcards.BrazeContentCardsActivity" android:exported="false" android:theme="@style/Theme.AppCompat.NoActionBar"/>
113+
<service android:name="com.braze.push.BrazeFirebaseMessagingService" android:exported="false">
114+
<intent-filter>
115+
<action android:name="com.google.firebase.MESSAGING_EVENT" />
116+
</intent-filter>
117+
</service>
118+
<activity android:name="com.distriqt.core.auth.AuthorisationActivity" android:exported="false" android:theme="@android:style/Theme.Translucent.NoTitleBar"/>
119+
</application>
120+
</manifest>
121+
```
122+
123+
You no longer have to manually add all of the braze, and androidx related manifest entries as these are now added automatically by the gradle implementation.
124+
125+
126+
### Assets
127+
128+
You used to have to manually add the following files to your application, however these are now automatically added by the gradle implementation:
129+
130+
```
131+
braze-html-in-app-message-bridge.js
132+
fontawesome-webfont.ttf
133+
```
134+
135+
You should remove these files from your application and let the gradle implementation add them for you.
136+
**If you are using `apm` you may find there is no longer an `assets/android` directory so you should remove this from your package.** (This may still exist if you have other airpackages that require android assets).
137+
138+
139+
140+
## iOS Integration
141+
142+
143+
### Minimum SDK Version
144+
145+
The minimum SDK version has been updated to 13.
146+
147+
If you are manaully managing the minimum version, check your info additions for the following:
148+
149+
```xml
150+
<key>MinimumOSVersion</key>
151+
<string>13.0</string>
152+
```
153+
154+

sidebars.js

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -638,6 +638,45 @@ module.exports = {
638638
],
639639

640640

641+
braze: [
642+
{ type: "ref", id: "index" },
643+
{ type: "doc", id: "braze/index" },
644+
{
645+
"Get Started": ["braze/add-the-extension"],
646+
},
647+
{
648+
Usage: [
649+
"braze/integration",
650+
"braze/analytics",
651+
"braze/content-cards",
652+
"braze/deep-linking",
653+
"braze/in-app-messaging",
654+
"braze/push-notifications",
655+
],
656+
},
657+
{
658+
Troubleshooting: [
659+
"braze/migrating-to-v1.0",
660+
],
661+
},
662+
{
663+
Other: [
664+
{ type: "doc", id: "braze/changelog" },
665+
{
666+
type: "link",
667+
label: "asdocs",
668+
href: "https://docs.airnativeextensions.com/asdocs/braze/",
669+
},
670+
{
671+
type: "link",
672+
label: "Contact Support",
673+
href: "https://github.com/airnativeextensions/ANE-Braze/issues/new",
674+
},
675+
],
676+
},
677+
],
678+
679+
641680
bugsnag: [
642681
{ type: "ref", id: "index" },
643682
{ type: "doc", id: "bugsnag/index" },

static/asdocs/braze/all-classes.html

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><!-- saved from url=(0014)about:internet --><html>
22
<head>
33
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4-
<title>All Classes - distriqt // braze</title>
4+
<title>All Classes - braze</title>
55
<base target="classFrame">
66
<link rel="stylesheet" href="style.css" type="text/css" media="screen">
77
<link rel="stylesheet" href="print.css" type="text/css" media="print">
@@ -70,6 +70,9 @@ <h3><a href="class-summary.html" target="classFrame" style="color:black">All Cla
7070
<tr>
7171
<td><a href="com/distriqt/extension/braze/enums/Gender.html" title="com.distriqt.extension.braze.enums.Gender">Gender</a></td>
7272
</tr>
73+
<tr>
74+
<td><a href="com/distriqt/extension/braze/models/cards/ImageOnlyCard.html" title="com.distriqt.extension.braze.models.cards.ImageOnlyCard">ImageOnlyCard</a></td>
75+
</tr>
7376
<tr>
7477
<td><a href="com/distriqt/extension/braze/models/inappmessage/InAppMessage.html" title="com.distriqt.extension.braze.models.inappmessage.InAppMessage">InAppMessage</a></td>
7578
</tr>
@@ -97,4 +100,4 @@ <h3><a href="class-summary.html" target="classFrame" style="color:black">All Cla
97100
</table>
98101
</body>
99102
</html>
100-
<!--Copyright distriqt 2016<br/>Thu Apr 18 2024, 10:48 AM +10:00 -->
103+
<!--Copyright Michael Archbold 2025<br/>Wed Jun 4 2025, 02:16 PM +10:00 -->

0 commit comments

Comments
 (0)