Skip to content

Commit

Permalink
Updating Xamarin SDK for version 6.0.0
Browse files Browse the repository at this point in the history
hokstuff committed Aug 9, 2024
1 parent 694e81d commit 75848f4
Showing 38 changed files with 1,082 additions and 740 deletions.
75 changes: 75 additions & 0 deletions .github/ISSUE_TEMPLATE/bug.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
name: 🐞 Bug report
description: File a Bug Report for unexpected or incorrect SDK Behavior
title: '[Bug]: '
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this bug report! Please consider contacting support@braze.com for faster integration troubleshooting and to avoid leaking private information to our public Github issues.
- type: dropdown
id: platform
attributes:
label: Which Platforms?
multiple: false
options:
- iOS
- Android
- Both
validations:
required: true
- type: input
id: platform_version
attributes:
label: Which Xamarin Version?
placeholder: ex. 5.0.0.2612
validations:
required: true
- type: input
id: sdk_version
attributes:
label: Which Braze Xamarin SDK version?
placeholder: ex. 2.0.1
validations:
required: true
- type: input
id: repro_rate
attributes:
label: Repro Rate
description: How often can you reproduce this bug?
placeholder: ex. 100% of the time
validations:
required: true
- type: textarea
id: repro_steps
attributes:
label: Steps To Reproduce
description: Please provide a [minimal reproducible example](https://stackoverflow.com/help/minimal-reproducible-example)
value:
validations:
required: true
- type: textarea
id: expected_behavior
attributes:
label: Expected Behavior
description: What was supposed to happen?
validations:
required: true
- type: textarea
id: actual_behavior
attributes:
label: Actual Incorrect Behavior
description: What incorrect behavior happened instead?
validations:
required: true
- type: textarea
id: verbose_logs
attributes:
label: Verbose Logs
description: Please copy and paste verbose log output. This will be automatically formatted into code, so no need for backticks.
render: shell
- type: textarea
id: other_info
attributes:
label: Additional Information
description: Anything else you'd like to share?
8 changes: 8 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
blank_issues_enabled: false
contact_links:
- name: Braze Support
url: https://support.braze.com/
about: Contact Braze Support for company or campaign-specific troubleshooting
- name: Security Issues
url: https://www.braze.com/docs/developer_guide/disclosures/security_and_vulnerability_disclosure/
about: Please report security vulnerabilities here.
39 changes: 39 additions & 0 deletions .github/ISSUE_TEMPLATE/feature.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: ✅ Feature Request
description: Request New SDK Features
title: '[Feature]: '
labels: ["feature-request"]
body:
- type: markdown
attributes:
value: |
Did you know: You can also submit feature requests in our [Public Roadmap Portal](https://dashboard.braze.com/resources/roadmap)
- type: textarea
id: problem
attributes:
label: What problem are you facing?
description: Help us understand what you're unable to accomplish, or what's difficult with your integration
placeholder: |
ex: I am unable to accomplish XYZ today, since the SDK does not allow me to...
validations:
required: true
- type: textarea
id: workarounds
attributes:
label: Workarounds
description: Are there any workarounds you can use? How complicated are they?
validations:
required: true
- type: textarea
id: ideal_solution
attributes:
label: Ideal Solution
description: What would your ideal solution look like?
validations:
required: false
- type: textarea
id: other_information
attributes:
label: Other Information
description: Any additional information you'd like to share?
validations:
required: false
Binary file added .github/assets/logo-dark.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .github/assets/logo-light.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
12 changes: 12 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,17 @@
⚠️ In version 4.0.0, we changed the iOS bridge from AppboyKit, which is written in Objective-C, to the new [Swift SDK](https://github.com/braze-inc/braze-swift-sdk). If you are upgrading from a version below 4.0.0 to a version above 4.0.0, please read [the instructions](https://github.com/braze-inc/braze-xamarin-sdk/blob/master/CHANGELOG.md#400) 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](https://github.com/braze-inc/braze-android-sdk/compare/v30.4.0...v32.0.0#diff-06572a96a58dc510037d5efa622f9bec8519bc1beab13c9f251e97e657a9d4ed).
- Updated the iOS binding from [Braze Swift SDK 9.0.0 to 10.0.0](https://github.com/braze-inc/braze-swift-sdk/compare/9.0.0...10.0.0#diff-06572a96a58dc510037d5efa622f9bec8519bc1beab13c9f251e97e657a9d4ed).
- 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
23 changes: 15 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,21 @@
![Braze Logo](https://github.com/braze-inc/braze-xamarin-sdk/blob/master/braze-logo.png)
<p align="center">
<img width="480" alt="Braze Logo" src=".github/assets/logo-light.png#gh-light-mode-only" />
<img width="480" alt="Braze Logo" src=".github/assets/logo-dark.png#gh-dark-mode-only" />
</p>

# Xamarin SDK
# Braze Xamarin SDK

Successful marketing automation is essential to the future of your mobile app. Braze helps you engage your users beyond the download. Visit the following links for details and we'll have you up and running in no time!

- [Braze User Guide](https://www.braze.com/docs/user_guide/introduction/ "Braze User Guide")
- [Braze Developer Guide](https://www.braze.com/docs/developer_guide/home/ "Braze Developer Guide")
- [Android Class Documentation](https://appboy.github.io/appboy-android-sdk/kdoc "Braze Android SDK Class Documentation")
- [iOS Full Class Documentation](http://appboy.github.io/appboy-ios-sdk/docs/annotated.html "Braze iOS SDK Class Documentation")
- [iOS Xamarin Bindings Nuget Package](https://www.nuget.org/packages/AppboyPlatformXamariniOSBinding/ "iOS Xamarin Bindings Nuget Package")
- [Android Xamarin Bindings Nuget Package](https://www.nuget.org/packages/AppboyPlatform.AndroidBinding/ "Android Xamarin Bindings Nuget Package")
- iOS Xamarin Bindings Nuget Packages:
- [Braze.iOS.BrazeKit](https://www.nuget.org/packages/Braze.iOS.BrazeKit "Braze.iOS.BrazeKit")
- [Braze.iOS.BrazeUI](https://www.nuget.org/packages/Braze.iOS.BrazeUI "Braze.iOS.BrazeUI")
- [Braze.iOS.BrazeLocation](https://www.nuget.org/packages/Braze.iOS.BrazeLocation "Braze.iOS.BrazeLocation")
- [Braze.iOS.BrazeKitCompat](https://www.nuget.org/packages/Braze.iOS.BrazeKitCompat "Braze.iOS.BrazeKitCompat")
- [Braze.iOS.BrazeUICompat](https://www.nuget.org/packages/Braze.iOS.BrazeUICompat "Braze.iOS.BrazeUICompat")
- [Android Xamarin Bindings Nuget Package](https://www.nuget.org/packages/BrazePlatform.BrazeAndroidBinding "Android Xamarin Bindings Nuget Package")

## Components

@@ -24,11 +30,12 @@ contain:

## Versioning

### Native Bindings
| Binding file name | Supported Xamarin Frameworks | Native Braze framework | Braze Xamarin SDK version |
|--------------------------------------------|-----------------------------------------------------------|-----------------------------------------------------|---------------------------|
| `BrazeAndroidBinding.sln` | .NET 6+ | Android SDK 24.2.0+ | 1.27.0+ |
| `BrazeAndroidBinding.sln` | .NET 8+ | Android SDK 32.0.0+ | 6.0.0+ |
| `AppboyPlatform.XamarinAndroidBinding.sln` | Xamarin.Android,<br/>Xamarin.Forms,<br/>.NET 5 and before | Android SDK 23.3.0 and before | 1.26.0 and before |
| `BrazeiOSBinding.sln` | .NET 7+ | Swift SDK 7.5.0+ | 4.0.0+ |
| `BrazeiOSBinding.sln` | .NET 8+ | Swift SDK 10.0.0+ | 6.0.0+ |
| `AppboyPlatformXamariniOSBinding.sln` | Xamarin.iOS,<br/>Xamarin.Forms,<br/>.NET 5 and before | `Appboy_iOS_SDK.framework` version 4.4.1 and before | 1.27.0 and before |

### Xamarin & Xamarin.Forms
Original file line number Diff line number Diff line change
@@ -31,7 +31,6 @@
<files>
<file src="../lib/android/AppboyPlatform.AndroidBinding.dll" target="lib/MonoAndroid12.0" />
<file src="../lib/android/AppboyPlatform.AndroidCore.dll" target="lib/MonoAndroid12.0" />
<file src="../../Public/braze-logo.png" target="images/" />
<file src="../../Public/LICENSE.txt" target="" />
</files>
</package>
Original file line number Diff line number Diff line change
@@ -15,7 +15,6 @@
</metadata>
<files>
<file src="../lib/ios-unified/AppboyPlatformXamariniOSBinding.dll" target="lib/Xamarin.iOS" />
<file src="../../Public/braze-logo.png" target="images/" />
<file src="../../Public/LICENSE.txt" target="" />
</files>
</package>
11 changes: 5 additions & 6 deletions appboy-component/nuget/Braze.iOS.BrazeKit.nuspec
Original file line number Diff line number Diff line change
@@ -8,20 +8,19 @@
<projectUrl>https://github.com/braze-inc/braze-xamarin-sdk</projectUrl>
<license type="file">LICENSE.txt</license>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>BrazeKit Xamarin iOS .NET-7 Binding</description>
<description>BrazeKit .NET iOS Binding</description>
<releaseNotes></releaseNotes>
<copyright>Copyright 2024</copyright>
<tags>Braze Appboy</tags>
<dependencies>
<group targetFramework="net7.0-ios11.0" />
<group targetFramework="net8.0-ios17.2" />
</dependencies>
</metadata>
<files>
<file src="../lib/ios-brazekit/Braze.BrazeKit.dll" target="lib/net7.0-ios11.0" />
<file src="../lib/ios-brazekit/Braze.BrazeKit.pdb" target="lib/net7.0-ios11.0" />
<file src="../lib/ios-brazekit/Braze.BrazeKit.dll" target="lib/net8.0-ios17.2" />
<file src="../lib/ios-brazekit/Braze.BrazeKit.pdb" target="lib/net8.0-ios17.2" />
<file src="../lib/ios-brazekit/Braze.BrazeKit.resources/**/*" target="res/ios" />
<file src="../lib/ios-brazekit/Braze.iOS.BrazeKit.targets" target="build/net7.0-ios11.0" />
<file src="../../Public/braze-logo.png" target="images/" />
<file src="../lib/ios-brazekit/Braze.iOS.BrazeKit.targets" target="build/net8.0-ios17.2" />
<file src="../../Public/LICENSE.txt" target="" />
</files>
</package>
17 changes: 8 additions & 9 deletions appboy-component/nuget/Braze.iOS.BrazeKitCompat.nuspec
Original file line number Diff line number Diff line change
@@ -2,29 +2,28 @@
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
<metadata>
<id>Braze.iOS.BrazeKitCompat</id>
<version>5.0.0</version>
<version>6.0.0</version>
<authors>Braze</authors>
<owners>Braze</owners>
<projectUrl>https://github.com/braze-inc/braze-xamarin-sdk</projectUrl>
<license type="file">LICENSE.txt</license>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>BrazeKitCompat Xamarin iOS .NET-7 Binding</description>
<description>BrazeKitCompat .NET iOS Binding</description>
<releaseNotes></releaseNotes>
<copyright>Copyright 2024</copyright>
<tags>Braze Appboy</tags>
<dependencies>
<group targetFramework="net7.0-ios11.0">
<dependency id="Braze.iOS.BrazeKit" version="5.0.0" />
<dependency id="Braze.iOS.BrazeLocation" version="5.0.0" />
<group targetFramework="net8.0-ios17.2">
<dependency id="Braze.iOS.BrazeKit" version="6.0.0" />
<dependency id="Braze.iOS.BrazeLocation" version="6.0.0" />
</group>
</dependencies>
</metadata>
<files>
<file src="../lib/ios-brazekitcompat/Braze.BrazeKitCompat.dll" target="lib/net7.0-ios11.0" />
<file src="../lib/ios-brazekitcompat/Braze.BrazeKitCompat.pdb" target="lib/net7.0-ios11.0" />
<file src="../lib/ios-brazekitcompat/Braze.BrazeKitCompat.dll" target="lib/net8.0-ios17.2" />
<file src="../lib/ios-brazekitcompat/Braze.BrazeKitCompat.pdb" target="lib/net8.0-ios17.2" />
<file src="../lib/ios-brazekitcompat/Braze.BrazeKitCompat.resources/**/*" target="res/ios" />
<file src="../lib/ios-brazekitcompat/Braze.iOS.BrazeKitCompat.targets" target="build/net7.0-ios11.0" />
<file src="../../Public/braze-logo.png" target="images/" />
<file src="../lib/ios-brazekitcompat/Braze.iOS.BrazeKitCompat.targets" target="build/net8.0-ios17.2" />
<file src="../../Public/LICENSE.txt" target="" />
</files>
</package>
13 changes: 6 additions & 7 deletions appboy-component/nuget/Braze.iOS.BrazeLocation.nuspec
Original file line number Diff line number Diff line change
@@ -2,26 +2,25 @@
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
<metadata>
<id>Braze.iOS.BrazeLocation</id>
<version>5.0.0</version>
<version>6.0.0</version>
<authors>Braze</authors>
<owners>Braze</owners>
<projectUrl>https://github.com/braze-inc/braze-xamarin-sdk</projectUrl>
<license type="file">LICENSE.txt</license>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>BrazeLocation Xamarin iOS .NET-7 Binding</description>
<description>BrazeLocation .NET iOS Binding</description>
<releaseNotes></releaseNotes>
<copyright>Copyright 2024</copyright>
<tags>Braze Appboy</tags>
<dependencies>
<group targetFramework="net7.0-ios11.0" />
<group targetFramework="net8.0-ios17.2" />
</dependencies>
</metadata>
<files>
<file src="../lib/ios-brazelocation/Braze.BrazeLocation.dll" target="lib/net7.0-ios11.0" />
<file src="../lib/ios-brazelocation/Braze.BrazeLocation.pdb" target="lib/net7.0-ios11.0" />
<file src="../lib/ios-brazelocation/Braze.BrazeLocation.dll" target="lib/net8.0-ios17.2" />
<file src="../lib/ios-brazelocation/Braze.BrazeLocation.pdb" target="lib/net8.0-ios17.2" />
<file src="../lib/ios-brazelocation/Braze.BrazeLocation.resources/**/*" target="res/ios" />
<file src="../lib/ios-brazelocation/Braze.iOS.BrazeLocation.targets" target="build/net7.0-ios11.0" />
<file src="../../Public/braze-logo.png" target="images/" />
<file src="../lib/ios-brazelocation/Braze.iOS.BrazeLocation.targets" target="build/net8.0-ios17.2" />
<file src="../../Public/LICENSE.txt" target="" />
</files>
</package>
15 changes: 7 additions & 8 deletions appboy-component/nuget/Braze.iOS.BrazeUI.nuspec
Original file line number Diff line number Diff line change
@@ -2,28 +2,27 @@
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
<metadata>
<id>Braze.iOS.BrazeUI</id>
<version>5.0.0</version>
<version>6.0.0</version>
<authors>Braze</authors>
<owners>Braze</owners>
<projectUrl>https://github.com/braze-inc/braze-xamarin-sdk</projectUrl>
<license type="file">LICENSE.txt</license>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>BrazeUI Xamarin iOS .NET-7 Binding</description>
<description>BrazeUI .NET iOS Binding</description>
<releaseNotes></releaseNotes>
<copyright>Copyright 2024</copyright>
<tags>Braze Appboy</tags>
<dependencies>
<group targetFramework="net7.0-ios11.0">
<dependency id="Braze.iOS.BrazeKit" version="5.0.0" />
<group targetFramework="net8.0-ios17.2">
<dependency id="Braze.iOS.BrazeKit" version="6.0.0" />
</group>
</dependencies>
</metadata>
<files>
<file src="../lib/ios-brazeui/Braze.BrazeUI.dll" target="lib/net7.0-ios11.0" />
<file src="../lib/ios-brazeui/Braze.BrazeUI.pdb" target="lib/net7.0-ios11.0" />
<file src="../lib/ios-brazeui/Braze.BrazeUI.dll" target="lib/net8.0-ios17.2" />
<file src="../lib/ios-brazeui/Braze.BrazeUI.pdb" target="lib/net8.0-ios17.2" />
<file src="../lib/ios-brazeui/Braze.BrazeUI.resources/**/*" target="res/ios" />
<file src="../lib/ios-brazeui/Braze.iOS.BrazeUI.targets" target="build/net7.0-ios11.0" />
<file src="../../Public/braze-logo.png" target="images/" />
<file src="../lib/ios-brazeui/Braze.iOS.BrazeUI.targets" target="build/net8.0-ios17.2" />
<file src="../../Public/LICENSE.txt" target="" />
</files>
</package>
17 changes: 8 additions & 9 deletions appboy-component/nuget/Braze.iOS.BrazeUICompat.nuspec
Original file line number Diff line number Diff line change
@@ -2,29 +2,28 @@
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
<metadata>
<id>Braze.iOS.BrazeUICompat</id>
<version>5.0.0</version>
<version>6.0.0</version>
<authors>Braze</authors>
<owners>Braze</owners>
<projectUrl>https://github.com/braze-inc/braze-xamarin-sdk</projectUrl>
<license type="file">LICENSE.txt</license>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>BrazeUICompat Xamarin iOS .NET-7 Binding</description>
<description>BrazeUICompat .NET iOS Binding</description>
<releaseNotes></releaseNotes>
<copyright>Copyright 2024</copyright>
<tags>Braze Appboy</tags>
<dependencies>
<group targetFramework="net7.0-ios11.0">
<dependency id="Braze.iOS.BrazeKitCompat" version="5.0.0" />
<dependency id="Braze.iOS.SDWebImage" version="5.0.0" />
<group targetFramework="net8.0-ios17.2">
<dependency id="Braze.iOS.BrazeKitCompat" version="6.0.0" />
<dependency id="Braze.iOS.SDWebImage" version="6.0.0" />
</group>
</dependencies>
</metadata>
<files>
<file src="../lib/ios-brazeuicompat/Braze.BrazeUICompat.dll" target="lib/net7.0-ios11.0" />
<file src="../lib/ios-brazeuicompat/Braze.BrazeUICompat.pdb" target="lib/net7.0-ios11.0" />
<file src="../lib/ios-brazeuicompat/Braze.BrazeUICompat.dll" target="lib/net8.0-ios17.2" />
<file src="../lib/ios-brazeuicompat/Braze.BrazeUICompat.pdb" target="lib/net8.0-ios17.2" />
<file src="../lib/ios-brazeuicompat/Braze.BrazeUICompat.resources/**/*" target="res/ios" />
<file src="../lib/ios-brazeuicompat/Braze.iOS.BrazeUICompat.targets" target="build/net7.0-ios11.0" />
<file src="../../Public/braze-logo.png" target="images/" />
<file src="../lib/ios-brazeuicompat/Braze.iOS.BrazeUICompat.targets" target="build/net8.0-ios17.2" />
<file src="../../Public/LICENSE.txt" target="" />
</files>
</package>
13 changes: 6 additions & 7 deletions appboy-component/nuget/Braze.iOS.SDWebImage.nuspec
Original file line number Diff line number Diff line change
@@ -2,26 +2,25 @@
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
<metadata>
<id>Braze.iOS.SDWebImage</id>
<version>5.0.0</version>
<version>6.0.0</version>
<authors>Braze</authors>
<owners>Braze</owners>
<projectUrl>https://github.com/braze-inc/braze-xamarin-sdk</projectUrl>
<license type="file">LICENSE.txt</license>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>Braze SDWebImage Xamarin iOS .NET-7 Binding</description>
<description>Braze SDWebImage .NET iOS Binding</description>
<releaseNotes></releaseNotes>
<copyright>Copyright 2024</copyright>
<tags>Braze Appboy</tags>
<dependencies>
<group targetFramework="net7.0-ios11.0" />
<group targetFramework="net8.0-ios17.2" />
</dependencies>
</metadata>
<files>
<file src="../lib/ios-sdwebimage/Braze.SDWebImage.dll" target="lib/net7.0-ios11.0" />
<file src="../lib/ios-sdwebimage/Braze.SDWebImage.pdb" target="lib/net7.0-ios11.0" />
<file src="../lib/ios-sdwebimage/Braze.SDWebImage.dll" target="lib/net8.0-ios17.2" />
<file src="../lib/ios-sdwebimage/Braze.SDWebImage.pdb" target="lib/net8.0-ios17.2" />
<file src="../lib/ios-sdwebimage/Braze.SDWebImage.resources/**/*" target="res/ios" />
<file src="../lib/ios-sdwebimage/Braze.iOS.SDWebImage.targets" target="build/net7.0-ios11.0" />
<file src="../../Public/braze-logo.png" target="images/" />
<file src="../lib/ios-sdwebimage/Braze.iOS.SDWebImage.targets" target="build/net8.0-ios17.2" />
<file src="../../Public/LICENSE.txt" target="" />
</files>
</package>
Original file line number Diff line number Diff line change
@@ -2,7 +2,7 @@
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
<metadata>
<id>BrazePlatform.BrazeAndroidBinding</id>
<version>5.0.0</version>
<version>6.0.0</version>
<authors>Braze</authors>
<owners>Braze</owners>
<projectUrl>https://github.com/braze-inc/braze-xamarin-sdk</projectUrl>
@@ -27,9 +27,8 @@
<files>
<file src="../src/androidnet6/BrazeAndroidNet6Binding/bin/Debug/net6.0-android33.0/BrazeAndroidBinding.dll" target="lib/net6.0-android33.0/BrazeAndroidBinding.dll" />
<file src="../src/androidnet6/BrazeAndroidNet6Binding/bin/Debug/net6.0-android33.0/BrazeAndroidBinding.xml" target="lib/net6.0-android33.0/BrazeAndroidBinding.xml" />
<file src="../src/androidnet6/BrazeAndroidNet6Binding/android-sdk-base-30.4.0.aar" target="lib/net6.0-android33.0/android-sdk-base-30.4.0.aar" />
<file src="../src/androidnet6/BrazeAndroidNet6Binding/android-sdk-ui-30.4.0.aar" target="lib/net6.0-android33.0/android-sdk-ui-30.4.0.aar" />
<file src="../../Public/braze-logo.png" target="images/" />
<file src="../src/androidnet6/BrazeAndroidNet6Binding/android-sdk-base-32.0.0.aar" target="lib/net6.0-android33.0/android-sdk-base-32.0.0.aar" />
<file src="../src/androidnet6/BrazeAndroidNet6Binding/android-sdk-ui-32.0.0.aar" target="lib/net6.0-android33.0/android-sdk-ui-32.0.0.aar" />
<file src="../../Public/LICENSE.txt" target="" />
</files>
</package>
Original file line number Diff line number Diff line change
@@ -1,14 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.braze.xamarinnet6" android:versionCode="1" android:versionName="1.0">
<application android:allowBackup="true" android:icon="@mipmap/appicon" android:label="@string/app_name" android:roundIcon="@mipmap/appicon_round" android:supportsRtl="true">
<service
android:name="com.braze.push.BrazeFirebaseMessagingService"
android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.braze.xamarinnet8" android:versionCode="1" android:versionName="1.0">
<application android:allowBackup="true" android:icon="@mipmap/appicon" android:label="@string/app_name" android:supportsRtl="true">
<service android:name="com.braze.push.BrazeFirebaseMessagingService" android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
</application>
<uses-permission android:name="android.permission.INTERNET" />
<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="33" />
</manifest>
<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="34" />
</manifest>
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0-android33.0</TargetFramework>
<TargetFramework>net8.0-android34.0</TargetFramework>
<SupportedOSPlatformVersion>21</SupportedOSPlatformVersion>
<OutputType>Exe</OutputType>
<Nullable>enable</Nullable>
@@ -15,10 +15,10 @@
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
<ItemGroup>
<PackageReference Include="Xamarin.Kotlin.StdLib" Version="1.8.0.1" />
<PackageReference Include="Xamarin.KotlinX.Coroutines.Android" Version="1.6.4.2" />
<PackageReference Include="Xamarin.Firebase.Messaging" Version="123.1.1" />
<PackageReference Include="Xamarin.AndroidX.SwipeRefreshLayout" Version="1.1.0.11" />
<PackageReference Include="Xamarin.Kotlin.StdLib" Version="2.0.0.1" />
<PackageReference Include="Xamarin.KotlinX.Coroutines.Android" Version="1.8.1.1" />
<PackageReference Include="Xamarin.Firebase.Messaging" Version="124.0.0.1" />
<PackageReference Include="Xamarin.AndroidX.SwipeRefreshLayout" Version="1.1.0.22" />
</ItemGroup>
<ItemGroup>
<None Remove="Xamarin.Firebase.Messaging" />
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": ".NET MAUI",
"type": "maui",
"request": "launch",
"preLaunchTask": "maui: Build"
}
]
}
Original file line number Diff line number Diff line change
@@ -9,6 +9,12 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Braze.BrazeKitCompat", "..\
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Braze.BrazeUICompat", "..\..\..\src\ios-brazeuicompat\Braze.BrazeUICompat.csproj", "{C190E563-1D68-4D7C-9C65-E82ACFE611D2}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Braze.BrazeKit", "..\..\..\src\ios-brazekit\Braze.BrazeKit.csproj", "{D2014CD7-7B00-4ECB-BC4E-19D55C1B8C6D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Braze.BrazeLocation", "..\..\..\src\ios-brazelocation\Braze.BrazeLocation.csproj", "{FFDE1154-03FB-4F98-B66E-8DDBE16DFE6E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Braze.SDWebImage", "..\..\..\src\ios-sdwebimage\Braze.SDWebImage.csproj", "{57386FE4-3DED-4D91-A263-EFF6FF4FA23D}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -27,6 +33,18 @@ Global
{C190E563-1D68-4D7C-9C65-E82ACFE611D2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C190E563-1D68-4D7C-9C65-E82ACFE611D2}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C190E563-1D68-4D7C-9C65-E82ACFE611D2}.Release|Any CPU.Build.0 = Release|Any CPU
{D2014CD7-7B00-4ECB-BC4E-19D55C1B8C6D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D2014CD7-7B00-4ECB-BC4E-19D55C1B8C6D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D2014CD7-7B00-4ECB-BC4E-19D55C1B8C6D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D2014CD7-7B00-4ECB-BC4E-19D55C1B8C6D}.Release|Any CPU.Build.0 = Release|Any CPU
{FFDE1154-03FB-4F98-B66E-8DDBE16DFE6E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FFDE1154-03FB-4F98-B66E-8DDBE16DFE6E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FFDE1154-03FB-4F98-B66E-8DDBE16DFE6E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FFDE1154-03FB-4F98-B66E-8DDBE16DFE6E}.Release|Any CPU.Build.0 = Release|Any CPU
{57386FE4-3DED-4D91-A263-EFF6FF4FA23D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{57386FE4-3DED-4D91-A263-EFF6FF4FA23D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{57386FE4-3DED-4D91-A263-EFF6FF4FA23D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{57386FE4-3DED-4D91-A263-EFF6FF4FA23D}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFrameworks>net7.0-ios</TargetFrameworks>
<TargetFrameworks>net8.0-ios</TargetFrameworks>

<OutputType>Exe</OutputType>
<UseMaui>true</UseMaui>
@@ -16,22 +16,36 @@
<!-- Versions -->
<ApplicationDisplayVersion>1.0</ApplicationDisplayVersion>
<ApplicationVersion>1</ApplicationVersion>
<SupportedOSPlatformVersion>11.0</SupportedOSPlatformVersion>
<SupportedOSPlatformVersion>12.0</SupportedOSPlatformVersion>
</PropertyGroup>

<PropertyGroup>
<CreatePackage>false</CreatePackage>
</PropertyGroup>

<!-- Code Signing -->
<PropertyGroup>
<CodesignProvision>Automatic</CodesignProvision>
<CodesignKey>iPhone Developer</CodesignKey>
<CodesignEntitlements>Platforms\iOS\Entitlements.plist</CodesignEntitlements>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)' == 'Debug'">
<CodesignKey>iPhone Developer</CodesignKey>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)' == 'Release'">
<CodesignKey>iPhone Distribution</CodesignKey>
</PropertyGroup>

<!-- Maui Packages -->
<ItemGroup>
<PackageReference Include="Microsoft.Maui.Controls" Version="8.0.60" />
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\..\..\..\src\ios-brazekit\Braze.BrazeKit.csproj" />
<ProjectReference Include="..\..\..\..\src\ios-brazelocation\Braze.BrazeLocation.csproj" />
<ProjectReference Include="..\..\..\..\src\ios-brazekitcompat\Braze.BrazeKitCompat.csproj" />
<ProjectReference Include="..\..\..\..\src\ios-brazeuicompat\Braze.BrazeUICompat.csproj" />
<ProjectReference Include="..\..\..\..\src\ios-sdwebimage\Braze.SDWebImage.csproj" />
</ItemGroup>
<!-- <ItemGroup>
<PackageReference Include="Braze.iOS.BrazeKitCompat" Version="*" />
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": ".NET MAUI",
"type": "maui",
"request": "launch",
"preLaunchTask": "maui: Build"
}
]
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFrameworks>net7.0-ios</TargetFrameworks>
<TargetFrameworks>net8.0-ios</TargetFrameworks>

<OutputType>Exe</OutputType>
<UseMaui>true</UseMaui>
@@ -17,18 +17,29 @@
<!-- Versions -->
<ApplicationDisplayVersion>1.0</ApplicationDisplayVersion>
<ApplicationVersion>1</ApplicationVersion>
<SupportedOSPlatformVersion>11.0</SupportedOSPlatformVersion>
<SupportedOSPlatformVersion>12.0</SupportedOSPlatformVersion>
</PropertyGroup>

<PropertyGroup>
<CreatePackage>false</CreatePackage>
<CreatePackage>false</CreatePackage>
</PropertyGroup>

<!-- Code Signing -->
<PropertyGroup>
<CodesignProvision>Automatic</CodesignProvision>
<CodesignKey>iPhone Developer</CodesignKey>
<CodesignEntitlements>Platforms\iOS\Entitlements.plist</CodesignEntitlements>
<CodesignProvision>Automatic</CodesignProvision>
<CodesignEntitlements>Platforms\iOS\Entitlements.plist</CodesignEntitlements>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)' == 'Debug'">
<CodesignKey>iPhone Developer</CodesignKey>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)' == 'Release'">
<CodesignKey>iPhone Distribution</CodesignKey>
</PropertyGroup>

<!-- Maui Packages -->
<ItemGroup>
<PackageReference Include="Microsoft.Maui.Controls" Version="8.0.60" />
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\..\..\..\src\ios-brazekit\Braze.BrazeKit.csproj" />
@@ -52,4 +63,4 @@
<MauiAsset Include="Resources\Raw\**" LogicalName="%(RecursiveDir)%(Filename)%(Extension)" />
</ItemGroup>

</Project>
</Project>
2 changes: 1 addition & 1 deletion appboy-component/src/.swift-sdk-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
9.0.0
10.0.0
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0-android33.0</TargetFramework>
<TargetFramework>net8.0-android</TargetFramework>
<SupportedOSPlatformVersion>21</SupportedOSPlatformVersion>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
Binary file not shown.
Binary file not shown.
1,349 changes: 709 additions & 640 deletions appboy-component/src/ios-brazekit/ApiDefinitions.cs

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions appboy-component/src/ios-brazekit/Braze.BrazeKit.csproj
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net7.0-ios11.0</TargetFramework>
<TargetFramework>net8.0-ios17.2</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>true</ImplicitUsings>
<IsBindingProject>true</IsBindingProject>
<SupportedOSPlatformVersion>11.0</SupportedOSPlatformVersion>
<SupportedOSPlatformVersion>12.0</SupportedOSPlatformVersion>
</PropertyGroup>

<Target Name="Check XCFramework" BeforeTargets="_GenerateBindings">
7 changes: 7 additions & 0 deletions appboy-component/src/ios-brazekit/StructsAndEnums.cs
Original file line number Diff line number Diff line change
@@ -83,6 +83,13 @@ public enum BRZNewsFeedCardType : long
TextAnnouncement = 3
}

[Native]
public enum BRZNotificationsPayloadType : long
{
Received = 0,
Opened = 1
}

[Native]
public enum _COMPAT_ABKRequestProcessingPolicy : long
{
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net7.0-ios11.0</TargetFramework>
<TargetFramework>net8.0-ios17.2</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>true</ImplicitUsings>
<IsBindingProject>true</IsBindingProject>
<SupportedOSPlatformVersion>11.0</SupportedOSPlatformVersion>
<SupportedOSPlatformVersion>12.0</SupportedOSPlatformVersion>
</PropertyGroup>

<Target Name="Check XCFramework" BeforeTargets="_GenerateBindings">
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net7.0-ios11.0</TargetFramework>
<TargetFramework>net8.0-ios17.2</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>true</ImplicitUsings>
<IsBindingProject>true</IsBindingProject>
<SupportedOSPlatformVersion>11.0</SupportedOSPlatformVersion>
<SupportedOSPlatformVersion>12.0</SupportedOSPlatformVersion>
</PropertyGroup>

<Target Name="Check XCFramework" BeforeTargets="_GenerateBindings">
38 changes: 38 additions & 0 deletions appboy-component/src/ios-brazeui/ApiDefinitions.cs
Original file line number Diff line number Diff line change
@@ -61,6 +61,40 @@ interface BrazeInAppMessageUI
void Dismiss ();
}

// @interface BrazeInAppMessageUIPresentationContextRaw : NSObject
[BaseType (typeof(NSObject))]
[DisableDefaultCtor]
interface BrazeInAppMessageUIPresentationContextRaw
{
// @property (nonatomic, strong) BRZInAppMessageRaw * _Nonnull message;
[Export ("message", ArgumentSemantic.Strong)]
BRZInAppMessageRaw Message { get; set; }

// @property (nonatomic) UIInterfaceOrientation preferredOrientation;
[Export ("preferredOrientation", ArgumentSemantic.Assign)]
UIInterfaceOrientation PreferredOrientation { get; set; }

// @property (nonatomic) UIWindowLevel windowLevel;
[Export ("windowLevel")]
double WindowLevel { get; set; }

// @property (nonatomic, strong) SWIFT_AVAILABILITY(tvos,introduced=13.0) UIWindowScene * windowScene __attribute__((availability(tvos, introduced=13.0))) __attribute__((availability(ios, introduced=13.0)));
[Export ("windowScene", ArgumentSemantic.Strong)]
UIWindowScene WindowScene { get; set; }

// @property (nonatomic, strong) UIViewController * _Nullable preferencesProxy;
[NullAllowed, Export ("preferencesProxy", ArgumentSemantic.Strong)]
UIViewController PreferencesProxy { get; set; }

// (nonatomic, strong) UIView * _Nullable customView;
[NullAllowed, Export ("customView", ArgumentSemantic.Strong)]
UIView CustomView { get; set; }

// (nonatomic) enum BRZInAppMessageUIStatusBarHideBehavior statusBarHideBehavior;
[Export ("statusBarHideBehavior", ArgumentSemantic.Assign)]
BRZInAppMessageUIStatusBarHideBehavior StatusBarHideBehavior { get; set; }
}

// @interface BRZUIResources : NSObject
[BaseType (typeof(NSObject))]
interface BRZUIResources
@@ -205,5 +239,9 @@ interface BrazeInAppMessageUIDelegate
[Export ("inAppMessage:shouldProcess:url:buttonId:message:view:")]
bool ShouldProcess (BrazeInAppMessageUI ui, BRZInAppMessageRawClickAction clickAction, [NullAllowed] NSUrl url, [NullAllowed] string buttonId, BRZInAppMessageRaw message, UIView view);

// @optional -(void)inAppMessage:(BrazeInAppMessageUI * _Nonnull)ui prepareWith:(BrazeInAppMessageUIPresentationContextRaw * _Nonnull)context;
[Export ("inAppMessage:prepareWith:")]
void PrepareWith (BrazeInAppMessageUI ui, BrazeInAppMessageUIPresentationContextRaw context);

}
}
4 changes: 2 additions & 2 deletions appboy-component/src/ios-brazeui/Braze.BrazeUI.csproj
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net7.0-ios11.0</TargetFramework>
<TargetFramework>net8.0-ios17.2</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>true</ImplicitUsings>
<IsBindingProject>true</IsBindingProject>
<SupportedOSPlatformVersion>11.0</SupportedOSPlatformVersion>
<SupportedOSPlatformVersion>12.0</SupportedOSPlatformVersion>
</PropertyGroup>

<Target Name="Check XCFramework" BeforeTargets="_GenerateBindings">
8 changes: 8 additions & 0 deletions appboy-component/src/ios-brazeui/StructsAndEnums.cs
Original file line number Diff line number Diff line change
@@ -2,6 +2,14 @@

namespace BrazeUI
{
[Native]
public enum BRZInAppMessageUIStatusBarHideBehavior : long
{
Auto = 0,
Hidden = 1,
Visible = 2
}

[Native]
public enum BRZInAppMessageUIDisplayChoice : long
{
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net7.0-ios11.0</TargetFramework>
<TargetFramework>net8.0-ios17.2</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>true</ImplicitUsings>
<IsBindingProject>true</IsBindingProject>
<SupportedOSPlatformVersion>11.0</SupportedOSPlatformVersion>
<SupportedOSPlatformVersion>12.0</SupportedOSPlatformVersion>
</PropertyGroup>

<Target Name="Check XCFramework" BeforeTargets="_GenerateBindings">
4 changes: 2 additions & 2 deletions appboy-component/src/ios-sdwebimage/Braze.SDWebImage.csproj
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net7.0-ios11.0</TargetFramework>
<TargetFramework>net8.0-ios17.2</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>true</ImplicitUsings>
<IsBindingProject>true</IsBindingProject>
<SupportedOSPlatformVersion>11.0</SupportedOSPlatformVersion>
<SupportedOSPlatformVersion>12.0</SupportedOSPlatformVersion>
</PropertyGroup>

<Target Name="Check XCFramework" BeforeTargets="_GenerateBindings">
19 changes: 19 additions & 0 deletions appboy-component/src/scripts/download-xcframeworks.sh
Original file line number Diff line number Diff line change
@@ -50,6 +50,25 @@ for module in "${MODULES[@]}"; do
copy_dynamic_xcframework "$module"
done

remove_swift_compiler_generated_files() {
local module="$1"
local lowercaseModule
lowercaseModule=$(echo "$module" | tr '[:upper:]' '[:lower:]')
local moduleDir="$SCRIPT_DIR/../ios-$lowercaseModule"
# Find all <Module>.swiftmodule directories in the xcframework
local swiftModuleDirs
swiftModuleDirs=$(find "$moduleDir/$module.xcframework" -type d -name "$module.swiftmodule")
# Delete all <Module>.swiftmodule directories
for swiftModuleDir in $swiftModuleDirs; do
echo " · $swiftModuleDir"
rm -rf "$swiftModuleDir"
done
}
for module in "${MODULES[@]}"; do
echo "→ Removing Swift compiler generated files for $module"
remove_swift_compiler_generated_files "$module"
done

# - Cleanup run
echo "→ Cleaning up"
rm -rf artifacts

0 comments on commit 75848f4

Please sign in to comment.