48 lines
1.9 KiB
C#
48 lines
1.9 KiB
C#
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>Upload transport for UGC file uploads. Optional.</summary>
|
|
public IUploadTransport? UploadTransport { 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; }
|
|
}
|