Mobile SDKs.NET MAUI / Xamarin

.NET MAUI / Xamarin SDK

The Datafly Signal .NET MAUI SDK wraps the native iOS and Android SDKs, providing a C# API for .NET MAUI and Xamarin.Forms applications.

Requirements

  • .NET 8.0+
  • .NET MAUI (iOS 15+ / Android API 21+)
  • Visual Studio 2022+ or JetBrains Rider

Installation

NuGet

dotnet add package DataflySignal.Maui

Or via the NuGet Package Manager in Visual Studio:

Install-Package DataflySignal.Maui

Initialisation

using DataflySignal.Maui;
 
public partial class App : Application
{
    public App()
    {
        InitializeComponent();
 
        DataflySignal.Initialize(new DataflyConfig
        {
            PipelineKey = "dk_live_abc123",
            Endpoint = "https://data.example.com"
        });
    }
}

Usage

using DataflySignal.Maui;
 
// Track a screen view
DataflySignal.Screen("Home");
 
// Track a custom event
DataflySignal.Track("add_to_cart", new Dictionary<string, object>
{
    { "item_id", "SKU-001" },
    { "item_name", "Running Shoes" },
    { "price", 79.99 },
    { "currency", "GBP" }
});
 
// Identify a user
DataflySignal.Identify("user-123", new Dictionary<string, object>
{
    { "email", "jane@example.com" },
    { "name", "Jane Doe" }
});
 
// Associate with a company
DataflySignal.Group("company-456", new Dictionary<string, object>
{
    { "name", "Acme Corp" }
});
 
// Handle deep link
DataflySignal.HandleDeepLink("https://example.com?utm_source=google");
 
// Set consent
DataflySignal.SetConsent(new Dictionary<string, bool>
{
    { "analytics", true },
    { "marketing", false }
});
 
// Force flush
DataflySignal.Flush();
 
// Logout
DataflySignal.Reset();
 
// Read identity
string anonymousId = DataflySignal.AnonymousId;
string? userId = DataflySignal.UserId;

The .NET MAUI SDK uses platform-specific implementations via conditional compilation. On iOS, it calls the native Swift SDK through ObjCRuntime bindings. On Android, it calls the native Kotlin SDK through Java.Interop bindings.

Configuration

See Configuration for all available options.