Unreal Engine
Plugin installation
The SDK is available in GitHub repository. Download the Source code (zip) of latest release. Unzip the archive and copy DTDAnalytics folder to the Plugins folder of your project.
For a C++ project type, add the DTDAnalytics
name to the list of dependency module names to the <module_name>.Build.cs file of the module in which you plan to use the plugin.
Example:
PublicDependencyModuleNames.Add("DTDAnalytics");
Data types
class UDTDAnalyticsLibrary
A class that implements analytic methods.
Header file:
#include "DTDAnalytics/Public/DTDAnalyticsBPLibrary.h"
class UDTDUserCardLibrary
A class that implements user card methods.
The class header:
#include "DTDAnalytics/Public/DTDUserCardBPLibrary.h"
enum class EDTDTrackingStatus : uint8
SDK tracking status.
Header file:
#include "DTDAnalytics/Public/DTDTrackingStatus.h"
Values:
Unknown = 0
- leave tracking unchangedEnable = 1
- tracking enabledDisable = 2
- tracking disabled
Example:
EDTDTrackingStatus TrackingStatus = EDTDTrackingStatus::Enable;
enum class EDTDLogLevel : uint8
SDK logging level.
Header file:
#include "DTDAnalytics/Public/DTDLogLevel.h"
Values:
Unknown = 0
- leave logging level unchangedNo = 1
- logging disabledError = 2
- logging of errorsWarning = 3
- logging of warnings and errorsInfo = 4
- logging of information messages, warnings and errorsDebug = 5
- logging of debugging messages, informational messages, warnings and errors
Example:
EDTDLogLevel LogLevel = EDTDLogLevel::Info;
enum class EDTDAccrualType : uint8
Types of resource accumulation.
Header file:
#include "DTDAnalytics/Public/DTDAccrualType.h"
Values:
Earned = 0
- earned resourcesBought = 1
- purchased resources
Example:
EDTDAccrualType AccrualType = EDTDAccrualType::Earned;
enum class EDTDSocialNetwork : uint8
Predefined social media.
Header file:
#include "DTDAnalytics/Public/DTDSocialNetwork.h"
Values:
Facebook = 0
Vkontakte = 1
Twitter = 2
Googleplus = 3
Whatsapp = 4
Viber = 5
Evernote = 6
Googlemail = 7
Linkedin = 8
Pinterest = 9
Reddit = 10
Renren = 11
Tumblr = 12
Qzone = 13
Example:
EDTDSocialNetwork SocialNetwork = EDTDSocialNetwork::Facebook;
enum class EDTDReferralProperty : uint8
Referral properties.
Header file:
#include "DTDAnalytics/Public/DTDReferralProperty.h"
Values:
Source = 0
Medium = 1
Content = 2
Campaign = 3
Term = 4
Example:
EDTDReferralProperty ReferralProperty = EDTDReferralProperty::Source;
struct FDTDOptionalInt32
An optional parameter of int32 type
Header file:
#include "DTDAnalytics/Public/DTDOptionalInt32.h"
HasValue
bool
Option label
Value
int32
Parameter value
For your convenience, we implemented the conversion constructor:
FDTDOptionalInt32(int32 value) : HasValue(true), Value(value) {}
Example:
FDTDOptionalInt32 OptionalParameter = 1;
struct FDTDOptionalString
An optional parameter of FString type.
Header file:
#include "DTDAnalytics/Public/DTDOptionalString.h
HasValue
bool
Option label
Value
FString
Parameter value
For your convenience, we implemented the conversion constructor:
FDTDOptionalString(FString value) : HasValue(true), Value(value) {}
Example:
FDTDOptionalString OptionalParameter = FString("StringValue");
struct FDTDAnalyticsConfiguration
Configuration of the analytics plugin.
Header file:
#include "DTDAnalytics/Public/DTDAnalyticsConfiguration.h"
LogLevel
EDTDLogLevel
Logging level
CurrentLevel
FDTDOptionalInt32
Current level
UserId
FDTDOptionalString
User ID
ApplicationVersion
FDTDOptionalString
Application version (Windows)
TrackingAvailability
EDTDTrackingStatus
Tracking settings
Example:
FDTDAnalyticsConfiguration config;
config.LogLevel = EDTDLogLevel::Debug;
config.CurrentLevel = 3;
config.UserId = FString("CUID");
config.ApplicationVersion = FString("1.2.3");
config.TrackingAvailability = EDTDTrackingStatus::Enable;
FDTDCustomEventParams
Custom parameters of a custom event.
Header file:
#include "DTDAnalytics/Public/DTDCustomEventParams.h"
StringParameters
TMap<FString, FString>
String parameters
IntParameters
TMap<FString, int64>
Integer parameters
FloatParameters
TMap<FString, float>
Real parameters (floating-point numbers)
BoolParameters
TMap<FString, bool>
Boolean parameters
Example:
FDTDCustomEventParams params;
params.BoolParameters.Add("BoolKey", true);
params.FloatParameters.Add("FloatKey", 3.3);
params.IntParameters.Add("IntKey");
params.StringParameters.Add("StringKey", "StringValue");
struct FDTDStartProgressionEventParams
Parameters of the progression start event.
Header file:
#include "DTDAnalytics/Public/DTDStartProgressionEventParams.h"
Difficulty
FDTDOptionalInt32
Difficulty
Source
FDTDOptionalString
Source
Example:
FDTDStartProgressionEventParams params;
params.Difficulty = 3;
params.Source = FString("Source");
struct FDTDFinishProgressionEventParams
Parameters of the progression completion event.
Header file:
#include "DTDAnalytics/Public/DTDFinishProgressionEventParams.h"
SuccessfulCompletion
bool
Successful completion of the progression (‘false’ by default)
Duration
int32
Duration (if 0, duration is calculated automatically)
Spent
TMap<FString, int64>
Resources spent
Earned
TMap<FString, int64>
Resources earned
Example:
FDTDFinishProgressionEventParams params;
params.Duration = 200;
params.SuccessfulCompletion = true;
params.Earned.Add("CurrencyName1", 1);
params.Spent.Add("CurrencyName2", 2);
Delegates
Header file:
#include "DTDAnalytics/Public/DTDDelegates.h"
Definitions:
DECLARE_DELEGATE_OneParam(FDTDLongListenerDelegate, int64);
DECLARE_DELEGATE_OneParam(FDTDGetterStringDelegate, const FString&);
DECLARE_DELEGATE_OneParam(FDTDGetterBoolDelegate, bool);
DECLARE_DELEGATE_OneParam(FDTDGetterIntDelegate, int32);
DECLARE_DELEGATE_OneParam(FDTDGetterLongDelegate, int64);
DECLARE_DELEGATE_OneParam(FDTDGetterGenderDelegate, EDTDGender);
DECLARE_DELEGATE_TwoParams(FDTDGetterOptionalStringDelegate, bool, const FString&);
DECLARE_DELEGATE_TwoParams(FDTDGetterOptionalBoolDelegate, bool, bool);
DECLARE_DELEGATE_TwoParams(FDTDGetterOptionalFloatDelegate, bool, float);
DECLARE_DELEGATE_TwoParams(FDTDGetterOptionalLongDelegate, bool, int64);
DECLARE_DELEGATE_ThreeParams(FDTDGetterOptionalStringWithKeyDelegate, bool, const FString&, const FString&);
DECLARE_DELEGATE_ThreeParams(FDTDGetterOptionalBoolWithKeyDelegate, bool, const FString&, bool);
DECLARE_DELEGATE_ThreeParams(FDTDGetterOptionalFloatWithKeyDelegate, bool, const FString&, float);
DECLARE_DELEGATE_ThreeParams(FDTDGetterOptionalLongWithKeyDelegate, bool, const FString&, int64);
enum class EDTDGender: uint8 (Deprecated)
User gender.
Header file:
#include "DTDAnalytics/Public/DTDGender.h"
Values:
Unknown = 0
Male = 1
Female = 2
Example:
EDTDGender Gender = EDTDGender::Female;
SDK initialization
SDK initialization without parameters:

appKey
FString
You can find it in the settings of the corresponding application in devtodev (Settings → SDK → Integration → Credentials → App ID)
UDTDAnalyticsBPLibrary::Initialize("AppKey");
SDK initialization with parameters:

appKey
FString
You can find it in the settings of the corresponding application in devtodev (Settings → SDK → Integration → Credentials → App ID)
config
FDTDAnalyticsConfiguration
Initialization parameters
FDTDAnalyticsConfiguration config;
config.LogLevel = EDTDLogLevel::No;
config.CurrentLevel = 3;
config.UserId = FString("CUID");
config.ApplicationVersion = FString("1.2.3");
config.TrackingAvailability = EDTDTrackingStatus::Enable;
UDTDAnalyticsBPLibrary::InitializeWithConfig("AppKey", config);
Last updated
Was this helpful?