Xamarin.Insights 1.9.1.107

Prefix Reserved
The owner has unlisted this package. This could mean that the package is deprecated, has security vulnerabilities or shouldn't be used anymore.
dotnet add package Xamarin.Insights --version 1.9.1.107                
NuGet\Install-Package Xamarin.Insights -Version 1.9.1.107                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Xamarin.Insights" Version="1.9.1.107" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Xamarin.Insights --version 1.9.1.107                
#r "nuget: Xamarin.Insights, 1.9.1.107"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// 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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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