Skip to main content

Unreal

Last updated 10/03/2026

Latest version: v1.0.0

Update time: 2025-01-09

Downloads: Download

Beta version: None

1. Overview​

Starting from AE 4.4, the Engage module provides the Config Center feature, which lets you add feature parameter configurations in the AE backend and pull them to your app through the client SDK, so you can finely customize your interactions with players.

This article describes how to integrate the client SDK. On the app side, you only need to handle interactions with the ThinkingData SDK and don't need to care about configuration details in the AE backend.

2. Integrate the SDK​

Client-triggered tasks depend on the following ThinkingData SDKs:

SDK nameDescriptionVersion requirement
TDAnalyticsCollects and processes data>= 2.1.0
TDRemoteConfigFetches configuration from the AE backend>= 1.0.0

2.1 Integrate the plugins​

Download the Unreal SDK, extract it, and put TDAnalytics and TDRemoteConfig into the Plugins directory of your project. If the Plugins directory does not exist, first create a Plugins directory in the project root, and then put these two plugins into it.

2.2 Activate the plugins​

  1. Restart Unreal Editor

  2. Open Edit > Plugins, and under the project's TDAnalytics TDRemoteConfig category, enable TDAnalytics TDRemoteConfig

  3. Open Edit > Project Settings, and under the plugin category, set the TDAnalytics TDRemoteConfig parameters:

    • Server Url: Required. The receiver URL, which must be an HTTPS URL
    • App ID: Required. The APP ID of your project, which you can find on the Project Settings page in the AE backend
    • Enable Log: Whether to enable debug logs
  4. Add the following content to the DefaultEngine.ini file in the Config directory:

    [Analytics]
    ProviderModuleName=TDAnalytics
  5. If you want to use the SDK directly in C++ code, add the following content to the *.Build.cs file of your project:

    PrivateDependencyModuleNames.AddRange(new string[] { "TDAnalytics","TDRemoteConfig" });
    PrivateIncludePathModuleNames.AddRange(new string[] { "TDAnalytics","TDRemoteConfig" });

3. Initialization​

Initialize the SDK on the main thread

#include "TDAnalytics.h"
#include "TDRemoteConfig.h"
//Initialize the SDK
UTDAnalytics::Initialize();
UTDRemoteConfig::Initialize();

4. Usage​

4.1 Sample data structure​

"configId" : {
"templateId" : [
{
"#strategy_id" : "2024121001",
"paramater_x" : "1111",
"#ops_receipt_properties" : {}
}
],
"#custom_params" : {

}
}

Where:

configId: The Config ID created in the Config Center module of the Engage backend, used to identify the business module. For details about config items, see Config items

templateId: The Template ID that you add under Config Items, used to identify the specific feature module. For details about config templates, see Config templates

#strategy_id: The unique ID of the strategy, used for strategy lifecycle management. For details about config strategies, see Config strategies

paramater_x: A config template parameter, corresponding to a configuration parameter required by the feature module

#ops_receipt_properties: Used for event receipt statistics. When you need to automatically measure strategy effects (not supported yet), receipt events must carry this property

#custom_params: Custom parameters on the client config channel. You can define the user property information to be carried to the client.

4.2 Set local default values​

You can set default values for config items in the TDRemoteConfig SDK. When a config item hasn't been added on the AE server, or the remote value hasn't been fetched locally, the SDK gets the local default value.

Format​

Local default values must use the following format:

{
"configId": {
"templateId": [
{
"paramater_x" : ""
}
]
}
}

Set directly​

UTDRemoteConfig::SetDefaultValues("{\"key1\":\"value1\"}");

Clear default values​

UTDRemoteConfig::ClearDefaultValues();

4.3 Get values​

Get the content of the released and online strategies of a certain type under a config item:

FString str = UTDRemoteConfig::GetAllData(TEXT("configId_xxx"),TEXT("template_xxx"));

Where:

configId: The Config ID created in the Config Center module of the Engage backend, used to identify the business module. For details about config items, see Config items

templateId: The Template ID that you add under Config Items, used to identify the specific feature module. For details about config templates, see Config templates

Value resolution rules​

How the value of a key is resolved:

  • The remote config value for the key is used first
  • If the key isn't configured remotely, the local default value for the key is used
  • If the local default values don't contain the key either, an empty value is returned.

5. Send Test​

To quickly verify that the integration works and that config strategies are valid, the SDK supports a test mode.

After you enable debug mode on the client, the client fetches test strategies every 5s. In the AE Engage module, you can create template tests or strategy tests. While waiting for the configuration to be fetched, you can watch the progress nodes on the frontend page.

For details, see the client Send Test section in Config templates.

Send tests for the client SDK require test devices. You can select or add test devices in the test device list.

Was this page helpful?