this repository is now archived and read-only, because microsoft/appcenter-sdk-dotnet#1576 is merged and the AppCenter SDK version 4.5.0 has Xamarin.Mac support built-in. Please update your dependencies and use the official NuGet packages going forward.
If you want to read about how this repo get started check out my blog post: https://johnnys.news/2022/01/AppCenter-XMac-is-dead-long-live-Microsoft-AppCenter
the AppCenter team approached me to discuss the strategy of official support for Xamarin.Mac. There are resources available now to bring the dotnet-sdk to Xamarin.Mac and the implementation is based on this repository. Feel free to follow the progress here in the PR microsoft/appcenter-sdk-dotnet#1576. Once we have Xamarin.Mac support in the official repository i will archive AppCenter-XMac
its packages which won't receive new updates from this point on.
AppCenter-XMac are Xamarin.Mac bindings for the AppCenter SDK.
Module | Version | Bindings | Sample | NuGet |
---|---|---|---|---|
AppCenter | 4.4.0 | ✔ | ✔ | |
AppCenter.Analytics | 4.4.0 | ✔ | ✔ | |
AppCenter.Crashes | 4.4.0 | ✔ | ✔ |
- register a new macOS application on AppCenter.ms
- get an app secret
- install the required NuGet packages to the Xamarin.Mac project. In the
AppDelegate.cs
start the AppCenter SDK with the app secret and the required services i.e.- ensure your Xamarin.Mac project uses MSBuild's
PackageReference
for nuget references in its csproj file. See this stackoverflow answer for help migrating away from the packages.config style
- ensure your Xamarin.Mac project uses MSBuild's
public override void DidFinishLaunching(NSNotification notification)
{
AppCenter.Start("macos={your-secret-goes-here};",typeof(Analytics), typeof(Crashes));
base.DidFinishLaunching(notification);
}
Check out the Demo App for a Xamarin.Forms based sample.
- to inspect handled errors you just have to add
&errorType=all
to the URL atappcenter
->diagnostics
->issues
(kudos)
- for signed builds you have to pass
--deep
as an additional argument tocodesign
- currently
<LinkMode>None</LinkMode>
is required in the macOS.csproj file. Enabling other Linker modes is planned for a future release
official README from https://github.com/microsoft/appcenter-sdk-dotnet/blob/develop/README.md
⬇️ README.md ⬇️
App Center is your continuous integration, delivery and learning solution for iOS, Android, and Windows apps. Get faster release cycles, higher-quality apps, and the insights to build what users want.
The App Center SDK uses a modular architecture so you can use any or all of the following services:
-
App Center Analytics: App Center Analytics helps you understand user behavior and customer engagement to improve your app. The SDK automatically captures session count, device properties like model, OS version, etc. You can define your own custom events to measure things that matter to you. All the information captured is available in the App Center portal for you to analyze the data.
-
App Center Crashes: App Center Crashes will automatically generate a crash log every time your app crashes. The log is first written to the device's storage and when the user starts the app again, the crash report will be sent to App Center. Collecting crashes works for both beta and live apps, i.e. those submitted to the App Store. Crash logs contain valuable information for you to help fix the crash.
-
App Center Distribute: App Center Distribute will let your users install a new version of the app when you distribute it via the App Center. With a new version of the app available, the SDK will present an update dialog to the users to either download or postpone the new version. Once they choose to update, the SDK will start to update your application.
Google Play considers the in-app update code as malicious behavior even if it isn’t used at runtime. Please use App Center Distribute Play instead before submitting your app to Google Play. Failure to not remove the in-app update code can lead to noncompliance and removal of the app from Google Play. See Remove in-app updates for Google Play builds documentation for details.
-
App Center Distribute Play: App Center Distribute Play is stubbing the Distribute package's APIs to avoid Google Play rejecting the application for malicious behavior. It must be used only for build variants which are going to be published on Google Play.
-
App Center Push: App Center Push enables you to send push notifications to users of your app from the App Center portal. We use APNS for iOS apps, FCM for Android and WNS for UWP apps. You can also segment your user base based on a set of properties and send them targeted notifications.
It is super easy to use App Center. Have a look at our get started documentation and onboard your app within minutes. Our detailed documentation is available as well.
We are looking forward to your contributions via pull requests.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.
You must sign a Contributor License Agreement before submitting your pull request. To complete the Contributor License Agreement (CLA), you will need to submit a request via the form and then electronically sign the CLA when you receive the email containing the link to the document. You need to sign the CLA only once to cover submission to any Microsoft OSS project.
App Center SDK support is provided directly within the App Center portal. Any time you need help, just log in to App Center, then click the blue chat button in the lower-right corner of any page and our dedicated support team will respond to your questions and feedback. For additional information, see the App Center Help Center.
We're on Twitter as @vsappcenter.