The C# SDK makes it easy to track events from all C#/.NET applications.
Installation
The C# SDK can be installed from NuGet:
dotnet add package Hightouch.Events.CSharp
To initialize the C# SDK in your application, create a new Analytics instance:
using Hightouch.Events;
using Hightouch.Events.Serialization;
var configuration = new Configuration("WRITE_KEY",
apiHost: "https://us-east-1.hightouch-events.com",
flushAt: 1);
var analytics = new Analytics(configuration);
API
Identify
The analytics.Identify method sends an identify event.
Example usage:
analytics.Identify("user-123", new JsonObject {
["username"] = "MisterWhiskers",
["email"] = "hello@test.com",
["plan"] = "premium"
});
Track
The analytics.Track method sends a track event.
Example usage:
analytics.Track("View Product", new JsonObject {
["productId"] = 123,
["productName"] = "Striped trousers"
});
Page
The analytics.Page method sends a page event.
Example usage:
analytics.Page("PageName", new JsonObject {
["productSlug"] = "example-product-123"
});
Screen
The analytics.Screen method sends a screen event.
Example usage:
analytics.Screen("ScreenName", new JsonObject {
["productSlug"] = "example-product-123"
});
Group
The analytics.Group method sends a group event.
Example usage:
analytics.Group("user-123", new JsonObject {
["username"] = "MisterWhiskers",
["email"] = "hello@test.com",
["plan"] = "premium"
});
Flush
The C# SDK buffers events locally, either in-memory or on disk, before sending them to Hightouch's servers. This minimizes the number of requests made by the SDK and makes the tracking non-blocking.
To force the local buffer to be sent to Hightouch immediately call the Flush()
method. Flush() should be called when shutting down your app to make sure no events are lost.
Example usage:
analytics.Flush()