Skip to content

statsig-io/cpp-client-sdk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Usage

Initialize the SDK

StatsigUser user;
user.user_id = "a-user";

// Create your own instance
StatsigClient client;
client.Initialize("client-{YOUR_CLIENT_SDK_KEY}", user);

// or, use the shared instance
StatsigClient::Shared().Initialize("client-{YOUR_CLIENT_SDK_KEY}", user);

Check a Gate

if (client.CheckGate("a_gate")) {
  // show new feature
}

// or, use the shared instance

if (StatsigClient::Shared().CheckGate("a_gate")) {
  // show new feature
}

Get values from an Experiment

auto experiment = client.GetExperiment("an_experiment");

// or, use the shared instance

auto experiment = StatsigClient::Shared().GetExperiment("an_experiment");

// then access the params
  
std::cout << experiment.GetValue()["a_string_param"] << std::endl;

Getting experiment values from a Layer

auto layer = client.GetLayer("a_layer");

// or, use the shared instance

auto layer = StatsigClient::Shared().GetLayer("a_layer");

// then access the params

std::cout << layer.GetValue("a_string_param") << std::endl;

Logging an Event

unordered_map<string, string> metadata(
    {
        {"is_verified", "yes"}
    }
);


client.LogEvent({"my_custom_event", 1.23, metadata});

// or, use the shared instance

StatsigClient::Shared().LogEvent({"another_event", "string_values"});