Skip to content

Commit

Permalink
Releasing Xamarin Bindings version 1.6.0
Browse files Browse the repository at this point in the history
  • Loading branch information
Bucimis committed Jan 10, 2019
1 parent 890557c commit 03ec5a4
Show file tree
Hide file tree
Showing 262 changed files with 2,124 additions and 836 deletions.
15 changes: 13 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,20 @@
# nuget and component packages
**/packages
**/Components
**/*.nupkg

# Support v4 dll
# Support lib DLLs
**/Xamarin.Android.Support.v4.dll
**/android/Xamarin.Android.Arch.Core.Common.dll
**/android/Xamarin.Android.Arch.Lifecycle.Common.dll
**/android/Xamarin.Android.Arch.Lifecycle.Runtime.dll
**/android/Xamarin.Android.Support.Annotations.dll
**/android/Xamarin.Android.Support.Compat.dll
**/android/Xamarin.Android.Support.Core.UI.dll
**/android/Xamarin.Android.Support.Core.Utils.dll
**/android/Xamarin.Android.Support.Fragment.dll
**/android/Xamarin.Android.Support.Media.Compat.dll
**/android/Xamarin.Android.Support.v7.RecyclerView.dll

# Visual Studio
**/.vs
**/.vs
44 changes: 25 additions & 19 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,71 +1,77 @@
## 1.6.0

##### Breaking
- Updated the native iOS bridge to [Braze iOS SDK 3.11.0](https://github.com/Appboy/appboy-ios-sdk/releases/tag/3.11.0).
- Updated the Android binding to use [Braze Android SDK 3.0.1](https://github.com/Appboy/appboy-android-sdk/blob/master/CHANGELOG.md#301).

## 1.5.2

##### Breaking
- Updated the Android binding to use [Braze SDK version 2.5.0](https://github.com/Appboy/appboy-android-sdk/blob/master/CHANGELOG.md#250).

##### Fixed
- Fixed an issue that caused C# bindings to not be generated for certain classes in the Braze UI library.

##### Changed
- Updated the Android binding to use Braze SDK version 2.5.0.
- Updated the Android sample app to use Firebase Cloud Messaging (FCM).

## 1.5.1

##### Changed
- Updated the iOS binding to use Braze SDK version 3.3.4.
- Updated the iOS binding to use Braze SDK version [Braze iOS SDK 3.3.4](https://github.com/Appboy/appboy-ios-sdk/releases/tag/3.3.4).
- Added `DisableSDK()` and `RequestEnableSDKOnNextAppRun()` to the `Appboy` interface to disable and re-enable the Braze SDK.
- Added `WipeDataAndDisableForAppRun()` on the `Appboy` interface to support wiping all customer data created by the Braze SDK.
- Note that methods that disable the SDK will cause `Appboy.SharedInstance` to return `null`. If you have code that uses `Appboy.SharedInstance`, do not use `DisableSDK()` or `WipeDataAndDisableForAppRun()` until your code can safely execute even if `Appboy.SharedInstance` is null.
- Updated the Android binding to use Braze SDK version 2.2.5.
- Updated the Android binding to use [Braze SDK version 2.2.5](https://github.com/Appboy/appboy-android-sdk/blob/master/CHANGELOG.md#225).
- Added `DisableSdk()` and `EnableSdk()` to the `Appboy` interface to disable and re-enable the Braze SDK.
- Added `WipeData()` on the `Appboy` interface to support wiping all customer data created by the Braze SDK.

## 1.5

##### Breaking
- Updated the iOS binding to use Braze SDK version [Braze iOS SDK 3.3.0](https://github.com/Appboy/appboy-ios-sdk/releases/tag/3.3.0).
- Updated the Android binding to use [Braze SDK version 2.2.1](https://github.com/Appboy/appboy-android-sdk/blob/master/CHANGELOG.md#221).
- Removed the need to include `Appboy.bundle` manually in iOS integrations. Integrators should remove existing `Appboy.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 your `AppDelegate.cs` after calling `Appboy.StartWithApiKey()`.
- Braze Xamarin Bindings are now available on [Nuget](nuget.org). Check out our [iOS Binding](https://www.nuget.org/packages/AppboyPlatformXamariniOSBinding/) and [Android Binding](https://www.nuget.org/packages/AppboyPlatform.AndroidBinding/). 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.

##### Changed
- Updated the iOS binding to use Braze SDK version 3.3.0.
- Updated the Android binding to use Braze SDK version 2.2.1.

## 1.4

##### Changed
- Updated the iOS binding to use Braze SDK version 2.29.0.
- Updated the Android binding to use Braze SDK version 2.0.0.
##### Breaking
- Updated the iOS binding to use Braze SDK version [Braze iOS SDK 2.29.0](https://github.com/Appboy/appboy-ios-sdk/releases/tag/2.29.0).
- Updated the Android binding to use [Braze SDK version 2.0.0](https://github.com/Appboy/appboy-android-sdk/blob/master/CHANGELOG.md#200).

## 1.3

##### Breaking
- Updated the iOS binding to use Braze SDK version [Braze iOS SDK 2.24.2](https://github.com/Appboy/appboy-ios-sdk/releases/tag/2.24.2).
- Updated the Android binding to use [Braze SDK version 1.15.3](https://github.com/Appboy/appboy-android-sdk/blob/master/CHANGELOG.md#1153).
- **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](https://github.com/Appboy/appboy-ios-sdk/blob/master/CHANGELOG.md#2240).

##### Changed
- Updated the iOS binding to use Braze SDK version 2.24.2.
- Updated the Android binding to use Braze SDK version 1.15.3.
- Updated the AppboyProject sample project to integrate session handling and in-app message manager registration using an [AppboyLifecycleCallbackListener](https://github.com/Appboy/appboy-android-sdk/blob/master/android-sdk-ui/src/com/appboy/AppboyLifecycleCallbackListener.java), 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 custom `AppboyBroadcastReceiver` for Braze push notifications.

## 1.2

##### Changed
- Updated the iOS binding to use Braze SDK version 2.17.1.
- Updated the Android binding to use Braze SDK version 1.11.0.
##### Breaking
- Updated the iOS binding to use Braze SDK version [Braze iOS SDK 2.17.1](https://github.com/Appboy/appboy-ios-sdk/releases/tag/2.17.1).
- Updated the Android binding to use [Braze SDK version 1.11.0](https://github.com/Appboy/appboy-android-sdk/blob/master/CHANGELOG.md#1110).

## 1.1

##### Breaking
- Updated the iOS binding to use Braze SDK version [Braze iOS SDK 2.12.0](https://github.com/Appboy/appboy-ios-sdk/releases/tag/2.12.0).
- Updated the Android binding to use [Braze SDK version 1.8.0](https://github.com/Appboy/appboy-android-sdk/blob/master/CHANGELOG.md#180).

##### 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.

##### Changed
- Updated the iOS binding to use Braze SDK version 2.12.0.
- Updated the Android binding to use Braze SDK version 1.8.0.

## 1.0

##### Added
Expand Down
4 changes: 0 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,6 @@ contains:
- nuget: Nuspec files for our Xamarin Nuget packages.
- component: this contains the information required generate the Xamarin component found in the component store. Note that Braze Xamarin SDK `v1.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.

## Version Support

The Android SDK supports Android 4.0+ (Ice Cream Sandwich and up). The iOS SDK supports iOS 8.0+.

## Questions?

If you have questions, please contact [support@braze.com](mailto:support@braze.com).
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
12 changes: 7 additions & 5 deletions appboy-component/nuget/AppboyPlatform.AndroidBinding.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<package >
<metadata>
<id>AppboyPlatform.AndroidBinding</id>
<version>1.5.2</version>
<version>1.6.0</version>
<authors>Braze, Inc.</authors>
<owners>Braze, Inc.</owners>
<licenseUrl>https://github.com/Appboy/appboy-xamarin-bindings/blob/master/LICENSE</licenseUrl>
Expand All @@ -11,13 +11,15 @@
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>Braze Xamarin Android Binding</description>
<releaseNotes></releaseNotes>
<copyright>Copyright 2018</copyright>
<copyright>Copyright 2019</copyright>
<tags>Braze Appboy</tags>
<dependencies>
<dependency id="Xamarin.Android.Support.v4" version="27.0.2.1" />
<dependency id="Xamarin.Android.Support.v4" version="28.0.0" />
<dependency id="Xamarin.Android.Support.v7.RecyclerView" version="28.0.0" />
</dependencies>
</metadata>
<files>
<file src="../lib/android/AppboyPlatform.AndroidBinding.dll" target="lib/MonoAndroid80" />
<files>
<file src="../lib/android/AppboyPlatform.AndroidBinding.dll" target="lib/MonoAndroid81" />
<file src="../lib/android/AppboyPlatform.AndroidCore.dll" target="lib/MonoAndroid81" />
</files>
</package>
4 changes: 2 additions & 2 deletions appboy-component/nuget/AppboyPlatformXamariniOSBinding.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<package >
<metadata>
<id>AppboyPlatformXamariniOSBinding</id>
<version>1.5.1</version>
<version>1.6.0</version>
<authors>Braze</authors>
<owners>Braze</owners>
<licenseUrl>https://github.com/Appboy/appboy-xamarin-bindings/blob/master/LICENSE</licenseUrl>
Expand All @@ -11,7 +11,7 @@
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>Braze Xamarin iOS Binding</description>
<releaseNotes></releaseNotes>
<copyright>Copyright 2018</copyright>
<copyright>Copyright 2019</copyright>
<tags>Braze Appboy</tags>
</metadata>
<files>
Expand Down
35 changes: 25 additions & 10 deletions appboy-component/samples/android/Android.sln
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestApp.XamarinAndroid", "T
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AppboyPlatform.XamarinAndroidBinding", "..\..\src\android\AppboyPlatform.XamarinAndroidBinding.csproj", "{9038A212-68E1-4C7A-B029-94F5C8FE76E9}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AppboyPlatform.AndroidCore", "..\..\src\android-core\AppboyPlatform.AndroidCore\AppboyPlatform.AndroidCore.csproj", "{91B92A4E-E8E1-4F4E-B55F-02141C2CB5F4}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Expand All @@ -19,30 +21,43 @@ Global
{9038A212-68E1-4C7A-B029-94F5C8FE76E9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9038A212-68E1-4C7A-B029-94F5C8FE76E9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9038A212-68E1-4C7A-B029-94F5C8FE76E9}.Release|Any CPU.Build.0 = Release|Any CPU
{91B92A4E-E8E1-4F4E-B55F-02141C2CB5F4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{91B92A4E-E8E1-4F4E-B55F-02141C2CB5F4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{91B92A4E-E8E1-4F4E-B55F-02141C2CB5F4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{91B92A4E-E8E1-4F4E-B55F-02141C2CB5F4}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(MonoDevelopProperties) = preSolution
Policies = $0
$0.TextStylePolicy = $1
$1.FileWidth = 120
$1.TabWidth = 2
$1.IndentWidth = 2
$1.inheritsSet = VisualStudio
$1.inheritsScope = text/plain
$1.scope = text/x-csharp
$1.TabsToSpaces = True
$0.CSharpFormattingPolicy = $2
$2.AfterDelegateDeclarationParameterComma = True
$2.inheritsSet = Mono
$2.inheritsScope = text/x-csharp
$2.scope = text/x-csharp
$2.IndentSwitchSection = False
$2.NewLinesForBracesInProperties = False
$2.NewLinesForBracesInAccessors = False
$2.NewLinesForBracesInAnonymousMethods = False
$2.NewLinesForBracesInControlBlocks = False
$2.NewLinesForBracesInAnonymousTypes = False
$2.NewLinesForBracesInObjectCollectionArrayInitializers = False
$2.NewLinesForBracesInLambdaExpressionBody = False
$2.NewLineForElse = False
$2.NewLineForCatch = False
$2.NewLineForFinally = False
$2.NewLineForMembersInObjectInit = False
$2.NewLineForMembersInAnonymousTypes = False
$2.NewLineForClausesInQuery = False
$2.SpacingAfterMethodDeclarationName = True
$2.SpaceAfterMethodCallName = True
$2.SpaceBeforeOpenSquareBracket = True
$0.DotNetNamingPolicy = $3
$3.DirectoryNamespaceAssociation = None
$3.ResourceNamePolicy = FileFormatDefault
$0.TextStylePolicy = $4
$4.FileWidth = 120
$4.TabWidth = 2
$4.IndentWidth = 2
$4.inheritsSet = VisualStudio
$4.inheritsScope = text/plain
$4.scope = text/plain
$4.TabsToSpaces = True
EndGlobalSection
EndGlobal
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,15 @@ String profileImageUrl
Appboy.GetInstance(Activity).CurrentUser.SetTwitterData(twitterUser);
};

// Content Cards
view.FindViewById<Button> (Resource.Id.launchContentCardsButton).Click += delegate {
FragmentTransaction fragmentTransaction = Activity.SupportFragmentManager.BeginTransaction ();
AppboyContentCardsFragment contentCards = new AppboyContentCardsFragment();
fragmentTransaction.Replace (Resource.Id.root, contentCards, contentCards.Class.ToString ());
fragmentTransaction.AddToBackStack (contentCards.Class.ToString ());
fragmentTransaction.Commit ();
};

// Feed
view.FindViewById<Button> (Resource.Id.launchNewsFeedButton).Click += delegate {
FragmentTransaction fragmentTransaction = Activity.SupportFragmentManager.BeginTransaction();
Expand All @@ -114,16 +123,6 @@ String profileImageUrl
fragmentTransaction.Commit();
};

// Feedback
view.FindViewById<Button> (Resource.Id.launchFeedbackButton).Click += delegate {
FragmentTransaction fragmentTransaction = Activity.SupportFragmentManager.BeginTransaction();
AppboyFeedbackFragment feedbackFragment = new AppboyFeedbackFragment();
feedbackFragment.SetFeedbackFinishedListener(new FeedbackFinishedListener(Activity.SupportFragmentManager));
fragmentTransaction.Replace(Resource.Id.root, feedbackFragment, feedbackFragment.Class.ToString());
fragmentTransaction.AddToBackStack(feedbackFragment.Class.ToString());
fragmentTransaction.Commit();
};

// In-App Message
view.FindViewById<Button> (Resource.Id.addInAppMessageButton).Click += delegate {
InAppMessageSlideup slideup = new InAppMessageSlideup();
Expand Down Expand Up @@ -154,22 +153,5 @@ String profileImageUrl

return view;
}

class FeedbackFinishedListener : Java.Lang.Object, AppboyFeedbackFragment.IFeedbackFinishedListener {
FragmentManager fragmentManager;

public FeedbackFinishedListener(FragmentManager supportFragmentManager) {
fragmentManager = supportFragmentManager;
}

public void OnFeedbackFinished (AppboyFeedbackFragment.FeedbackResult feedbackResult) {
Console.WriteLine("Feedback finished");
fragmentManager.PopBackStack();
}

public string BeforeFeedbackSubmitted(string feedback) {
return feedback;
}
}
}
}
Original file line number Diff line number Diff line change
@@ -1,17 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" package="com.appboy.xamarinsample">
<uses-sdk android:minSdkVersion="14" />
<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="27" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<application android:label="TestApp.XamarinAndroid" android:icon="@drawable/icon">
<receiver android:name="com.appboy.AppboyGcmReceiver" android:permission="com.google.android.c2dm.permission.SEND">
<receiver android:name="com.appboy.AppboyFcmReceiver" android:permission="com.google.android.c2dm.permission.SEND">
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
<category android:name="com.appboy.xamarinsample" />
</intent-filter>
</receiver>
<activity android:name="com.appboy.ui.AppboyWebViewActivity"/>
<activity android:name="com.appboy.ui.activities.AppboyFeedActivity"/>
<activity android:name="com.appboy.ui.AppboyWebViewActivity" />
<activity android:name="com.appboy.ui.activities.AppboyFeedActivity" />
</application>
</manifest>
</manifest>
Original file line number Diff line number Diff line change
Expand Up @@ -36,15 +36,15 @@
android:layout_height="wrap_content"
android:id="@+id/trackSocialDataButton" />
<Button
android:text="@string/launchNewsFeed"
android:text="@string/launchContentCards"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/launchNewsFeedButton" />
android:id="@+id/launchContentCardsButton" />
<Button
android:text="@string/launchFeedback"
android:text="@string/launchNewsFeed"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/launchFeedbackButton" />
android:id="@+id/launchNewsFeedButton" />
<Button
android:text="@string/addNewInAppMessage"
android:layout_width="match_parent"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@
<string name="eventsAndPurchases">Log Events And Purchases</string>
<string name="submitFeedback">Submit Feedback</string>
<string name="trackSocialData">Track Social Data</string>
<string name="launchNewsFeed">Launch News Feed</string>
<string name="launchContentCards">Content Cards</string>
<string name="launchNewsFeed">News Feed</string>
<string name="launchFeedback">Launch Feedback</string>
<string name="addNewInAppMessage">Add In-App Message</string>
<string name="dataFlush">Request Data Flush</string>
Expand Down
Loading

0 comments on commit 03ec5a4

Please sign in to comment.