Files
rudder-csharp-sdk/RudderClientOptions.cs
T

45 lines
1.8 KiB
C#
Raw Normal View History

2026-08-12 14:04:55 +03:00
using RudderSdk.Core.Abstractions;
namespace RudderSdk.Core;
/// <summary>
/// Configuration for <see cref="RudderClient"/>. Only <see cref="BaseUrl"/> and
/// <see cref="ProjectKey"/> are required; everything else falls back to a
/// sensible default.
/// </summary>
public sealed class RudderClientOptions
{
/// <summary>API base URL, e.g. https://api.example.com. Required.</summary>
public string? BaseUrl { get; set; }
/// <summary>Realtime websocket URL. Required only for <see cref="RealtimeService"/>.</summary>
public string? RealtimeUrl { get; set; }
/// <summary>Project key issued in the admin panel. Required.</summary>
public string? ProjectKey { get; set; }
/// <summary>HTTP transport. Defaults to <see cref="HttpClientTransport"/>.</summary>
public IRudderTransport? Transport { get; set; }
/// <summary>Session token storage. Defaults to <see cref="InMemoryTokenStore"/>.</summary>
public ITokenStore? TokenStore { get; set; }
/// <summary>Device identity for login. Defaults to <see cref="GuidDeviceIdProvider"/>.</summary>
public IDeviceIdProvider? DeviceIdProvider { get; set; }
/// <summary>Diagnostic sink. Null by default (silent).</summary>
public IRudderLogger? Logger { get; set; }
/// <summary>Time source for the scenario runtime; override in tests.</summary>
public IClock? Clock { get; set; }
/// <summary>Scenario-run persistence between app launches. Optional.</summary>
public IPlanStateStore? PlanStateStore { get; set; }
/// <summary>Optional scheduler for delayed plan work.</summary>
public IPlanScheduler? Scheduler { get; set; }
/// <summary>Realtime transport factory. Required only for <see cref="RealtimeService"/>.</summary>
public IRealtimeTransportFactory? RealtimeTransportFactory { get; set; }
}