C#

Getting Started

If still not registered, sign up and create an account at https://koople.io.

  1. Add SDK library

Install-Package koople-sdk -Version 0.1.1

Refer to the Nuget release page to identify the latest version.

2. Initliaze the SDK

var kClient = KClient.Initialize('YOUR_API_KEY');

3. Get your feature flags values

var user = KUser.Create('aUserId');
var isEnabled = kClient.IsEnabled('myAwesomeFeature', user);
if (isEnabled) {
    // Do something when the feature is enabled.
} else {
    // Do something when the feature is not enabled.
}

Identify users to allow specific targets. See KUser.

var user = KUser.Create('aUserId');
var isEnabled = kClient.IsEnabled('myAwesomeFeature', user);
if (isEnabled) {
    // Do something when the feature is enabled.
} else {
    // Do something when the feature is not enabled.
}

Methods

Initialize

Use initialize to get a validated client object.

Interval in seconds with which the SDK makes requests to the server to update the evaluation object. The minimum value is 10 seconds. If the value is less than 10 it will be ignored and automatically set to 10. The default value is 60 seconds.

var fclient = KClient.Initialize('YOUR_API_KEY', 30);

IsEnabled

The isEnabled method will return a boolean indicating whether a release toggle is enabled or disabled.

//anonymous evaluation
kClient.IsEnabled('myAwesomeFeature');
var user = KUser.create('aUserId');
kClient.IsEnabled('myAwesomeFeature', user);

The evaluation of an unexistent releaseToggleKey will return false as an evaluation result.

ValueOf

The valueOf method will return a value for a remote config. You can pass an optional second parameter that will be used as a fallback if there is no value.

kClient.ValueOf('theme');
// or
kClient.ValueOf('theme', 'defaultValue');
var user = KUser.Create('aUserId');

kClient.ValueOf('theme', user);
//or
kClient.ValueOf('theme', user, 'defaultValue');

Objects

KUser

The KUser object represents a user with the properties to be evaluated. The properties can be added in the following ways.

var attributes = new[] { 
    new KUserAttribute("age", 17), 
    new KUserAttribute("gender", "male")
};

var kUser = KUser.Create("userId", attributes);

The user can be created first for adding attributes later.

var kUser = KUser.Create("userId")
                .With("age", 17)
                .With("gender", "male");

Also, the user can be created as an anonymous user.

var kUser = KUser.Anonymous();

KUserAttribute

The KUserAttribute represents a key-value object to set the name and value of a user attribute.

Value object can be a string, a number or a boolean type.

new KUserAttribute("age", 17);
new KUserAttribute("gender", "male");
new KUserAttribute("vip", true);

Last updated