Codevoid.Utilities.Mixpanel 1.2.2

There is a newer version of this package available.
See the version list below for details.
dotnet add package Codevoid.Utilities.Mixpanel --version 1.2.2                
NuGet\Install-Package Codevoid.Utilities.Mixpanel -Version 1.2.2                
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="Codevoid.Utilities.Mixpanel" Version="1.2.2" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Codevoid.Utilities.Mixpanel --version 1.2.2                
#r "nuget: Codevoid.Utilities.Mixpanel, 1.2.2"                
#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 Codevoid.Utilities.Mixpanel as a Cake Addin
#addin nuget:?package=Codevoid.Utilities.Mixpanel&version=1.2.2

// Install Codevoid.Utilities.Mixpanel as a Cake Tool
#tool nuget:?package=Codevoid.Utilities.Mixpanel&version=1.2.2                

MixpanelCppCX

Introduction

MixpanelCppCX is a client for the Mixpanel analytics service. It has been built to handle the common situations of uploading events to the service. It supports batching, persisting-to-storage-before-uploading, and super properties. It's intended to be consumed by any UWP app — but the original motivation was to support JavaScript applications.

How to get it

MixpanelCppCX is published as a NuGET package (Codevoid.Utilities.Mixpanel) to the NuGET.org feed — just add it to your UWP Project in Visual Studio, and it'll be available for use in your code.

Things to note

  • Items awaiting to upload are stored in a folder in your applications private data folder with in local settings. (%LOCALAPPDATA%\Packages\<PackageIdentity>\LocalState\MixpanelUploadQueue)
  • Items awaiting upload are written to disk after 500ms of idle time, or when there are 10 or more items in the queue — whichever comes first.
  • Items are uploaded in batches of 50, unless one item in the batch fails, then they're uploaded 1 at a time.
  • The queue is paused automatically when being suspended, and resumed when... resumed.
  • This library does automatic session tracking — it starts tracking the session duration on start, and will automatically end/resume the session based on suspend/resume events.

Usage

Sending a simple event

  1. Create an instance of Codevoid.Utilities.Mixpanel, and hold on to it.
var mixpanelClient = new Codevoid.Utilities.Mixpanel(<Mixpanel API Token>)
  1. Call, and wait for, .InitializeAsync()
  2. Call .Start() on that instance to start processing the queue.
  3. Call .Track("MyEvent", null) to log a single event

If you need to send properties with your event you can use Windows.Foundation.Collections.PropertySet, and insert your properties as needed, passing it as the second parameter to Track:

var properties = new Windows.Foundation.Colllections.PropertySet();
properties.add("MyProperty", "MyValue");
properties.add("MyOtherProperty", 9);

mixpanelClient.Track("MyOtherEvent", properties);

For more detailed usage, see the README.md in the package, or here

Release Notes

v1.2.2

Fixing issue with projection of overloaded methods into javascript. This is a breaking change, where all SetXXProperty Methods as now typed in their name.

v1.2.1

Fixing issue with automatic session events not being uploaded until the host app was completely restarted.

v1.2

Support for automatic sessions & session properties

v1.1.2

Fixed Crashing issue when attaching duration events

v1.1.1

Fixed issue not correctly accounting for time in the background

v1.1

Added support for automatic duration events (StartTimedEvent)

v1.0

Initial Release

Product Compatible and additional computed target framework versions.
native native is compatible. 
Universal Windows Platform uap was computed.  uap10.0 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

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.3.1 709 5/25/2019
1.3.0 653 1/21/2019
1.2.6 793 9/16/2018
1.2.5 765 9/16/2018
1.2.4 807 8/14/2018
1.2.2 981 3/11/2018
1.2.0 976 3/11/2018
1.1.2 833 3/8/2018
1.1.1 958 3/6/2018
1.1.0 1,025 3/5/2018
1.0.0 955 2/25/2018

Changes projection of SetXXProperty functions for clarity in javascript.