Frayit.Sdk
1.0.2
dotnet add package Frayit.Sdk --version 1.0.2
NuGet\Install-Package Frayit.Sdk -Version 1.0.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="Frayit.Sdk" Version="1.0.2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Frayit.Sdk" Version="1.0.2" />
<PackageReference Include="Frayit.Sdk" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Frayit.Sdk --version 1.0.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Frayit.Sdk, 1.0.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.
#:package Frayit.Sdk@1.0.2
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Frayit.Sdk&version=1.0.2
#tool nuget:?package=Frayit.Sdk&version=1.0.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Frayit .NET SDK (Frayit.Sdk)
Production-grade SDK for Frayit chat moderation evaluation API, designed for Unity and standard .NET applications.
Installation
dotnet add package Frayit.Sdk
SDK Usage
1) Initialize client
using Frayit.Sdk;
var options = new FrayitOptions
{
ClientId = "<your-client-id>",
ClientSecret = "<your-client-secret>",
BaseUrl = "https://<your-frayit-api-base-url>/",
ChatTimeoutMilliseconds = 100
};
using var client = new FrayitClient(options);
await client.InitializeAsync();
2) Evaluate chat message
using Frayit.Sdk.Models;
var request = new ChatEvaluationRequest
{
Message = "you are trash",
PlayerId = "player-123",
SessionId = "session-1",
ChannelId = "global"
};
ChatEvaluationResponse response = await client.EvaluateChatAsync(request);
3) Handle decision + fallback
if (response.FailOpen)
{
// Service unavailable/timeout path: SDK safely allows chat
Console.WriteLine("Fail-open: " + response.FailOpenReason);
}
if (response.Allowed)
{
Console.WriteLine("Allowed message");
}
else
{
Console.WriteLine("Blocked");
Console.WriteLine("Reasons: " + string.Join(",", response.BlockReasonCodes));
Console.WriteLine("Redacted: " + (response.RedactedMessage ?? "***"));
}
4) Optional logging hooks
using Frayit.Sdk.Logging;
public sealed class ConsoleFrayitLogger : IFrayitLogger
{
public void OnTokenRefreshStarted() => Console.WriteLine("[token] refresh started");
public void OnTokenRefreshSucceeded(DateTimeOffset expiresAtUtc) => Console.WriteLine("[token] expires " + expiresAtUtc);
public void OnTokenRefreshFailed(Exception exception) => Console.WriteLine("[token] refresh failed: " + exception.Message);
public void OnSdkError(string operation, Exception exception) => Console.WriteLine("[sdk] " + operation + ": " + exception.Message);
public void OnCircuitBreakerStateChanged(string previousState, string nextState, string reason) =>
Console.WriteLine("[cb] " + previousState + " -> " + nextState + " (" + reason + ")");
}
Use it when creating the client:
using var client = new FrayitClient(options, logger: new ConsoleFrayitLogger());
Notes
- Keep
ClientSecreton server-side in production. - SDK applies fail-open behavior if moderation service cannot be reached.
- For multiplayer demos, call SDK from backend and expose only your own API to game clients.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.1
- System.Text.Json (>= 10.0.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.