Xamarin.Insights
1.9.1.107
Prefix Reserved
dotnet add package Xamarin.Insights --version 1.9.1.107
NuGet\Install-Package Xamarin.Insights -Version 1.9.1.107
<PackageReference Include="Xamarin.Insights" Version="1.9.1.107" />
paket add Xamarin.Insights --version 1.9.1.107
#r "nuget: Xamarin.Insights, 1.9.1.107"
// Install Xamarin.Insights as a Cake Addin #addin nuget:?package=Xamarin.Insights&version=1.9.1.107 // Install Xamarin.Insights as a Cake Tool #tool nuget:?package=Xamarin.Insights&version=1.9.1.107
Insights for your Apps
Product | Versions Compatible and additional computed target framework versions. |
---|---|
MonoAndroid | monoandroid10 is compatible. |
MonoTouch | monotouch10 is compatible. |
Windows Phone | wp8 is compatible. wp81 was computed. wpa is compatible. |
Windows Store | win8 is compatible. |
Xamarin.iOS | xamarinios10 is compatible. |
This package has no dependencies.
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Xamarin.Insights:
Package | Downloads |
---|---|
Xamarin.Analytics
A protable library for Analytics. Supports multiple analytics destinations. |
GitHub repositories (6)
Showing the top 5 popular GitHub repositories that depend on Xamarin.Insights:
Repository | Stars |
---|---|
xamarin/Xamarin.Forms
Xamarin.Forms is no longer supported. Migrate your apps to .NET MAUI.
|
|
conceptdev/xamarin-forms-samples
Samples that use Xamarin.Forms (http://xamarin.com/forms)
|
|
flagbug/Espera
Espera is a media player that plays your music, YouTube videos, SoundCloud songs and has a special "party mode".
|
|
MikeCodesDotNET/My-StepCounter
Xamarin iOS & Android Starter pedometer sample
|
|
kentcb/WorkoutWotch
Repository for my video series on building an iOS app in .NET.
|
Version | Downloads | Last updated |
---|
Point release for the 1.9 series
This update fixes a few small issues discovered after release
- patch in removal of deviceinfo and identity caching - enables website to handle identify changes more correctly - 06fbe9b
- patch in fix-disable-communication - 2533dab
- patch in xamarin-mac performance counter handling, aea343b
- fix TrackTime returning a null in debug mode - thanks to @pbernery
Insights client release, 1.9.0
Changes
We also have new API. The new API will be detailed in our documentation but as that tends to lag behind our releases by a small amount I'll mention the changes here.
Guest Identities
Insights will by default identify a user as a guest until you identify them yourself. If you wish to revert back to a guest user after previously identifying a user you can use the following api call.
using Xamarin;
Insights.Identify(Insights.Traits.GuestIdentifier, null);
This will revert the identified user back to a guest user, any track events sent after this call will be associated with a guest user.
Debug Mode
You may find when debugging your application that Insights can get in the way, it will capture crash reports, both native and managed that you may want access to. You may also not want to pollute your applications data in Insights with events from your debug session.
The solution for this is to use Insights debug mode, replacing your Initialize call with the following will enter debug mode.
using Xamarin;
Insights.Initialize(Insights.DebugModeKey);
In Debug mode Insights will not collect any unhandled crash reports, it will not pick up native crash reports and any Insights.Track() or `Insights.Identify() calls will be ignored.
Dealing with startup crashes
Crashes on startup are rather tricky to handle, you may find that your application crashes at startup in a way that does not give Insights enough time to transmit the crash report. With Insights you have a specific mechanism to deal with this problem.
Insights.HasPendingCrashReport += (sender, isStartupCrash) =>
{
if (isStartupCrash) {
Insights.PurgePendingCrashReports().Wait();
}
};
Insights.Initialize("Your API Key");
This API allows you to get a notificatioon when Insights detects a pending crash report, Calling Insights.PurgePendingCrashReports(); will allow you to block whilst those crash reports are sent out.
This may delay your app startup time, which is why this is optional API instead of automatic.
The isStartupCrash value in your event handler will inform you weather the crash occured within 5 seconds of app startup, which generally indicates that the app crashed during startup.
Short lived desktop applications
Desktop Applications
if you have short lived application, such as a command line application you may call Insights.PurgeAllPendingData().Wait() to ensure that insights is able to send data before your app closes
Stats for milestone [1.9.0]
Fixed Issues:
#1036: (Client, Desktop) - Mono platform has trouble deleting files using cacheDirectoryOverride sometimes
#1180: (Client, Android) - Java classes are too big for json serializer
#1199: (Critical, Client) - Crash in init
#1207: (Client, Android) - just use android global app context
#1222: (Critical, Client) - use platform specific code to get timestamp
#1234: (Client) - deal with app crashing on startup more elegantly
#1235: (Client, Android) - GetAppVersion on android sometimes failes
#1239: (iOS, Critical, Client) - Possible issue with iCloud backup
#1269: (Client) - Protect against calling init multiple times
#1271: (Client) - Allow clients to revert to guest identity
#1275: (Client) - "event.properties.Status" - JSON Capitalization Issue
#1292: (Client) - Catch crashes in Insights.Init
#1295: (Client) - Make sure docs are up to date
#1342: (Client) - default to no camel case in json encoder
#1370: (Client) - Easy way to disable insights for debugging your app
#1403: (Client) - Send platform id in DeviceInfo
#1433: (Client) - 1.9.0 testing checklist
#1444: (winrt, Client) - background tasks have no Application.Current crashes sometimes
#1476: (Client) - our json can sometimes have duplicate keys in dictionaries
And many more smaller bug fixes and changes that went untracked by our issue system...