UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
IAnalyticsProviderET.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "AnalyticsET.h"
7#include "Containers/Array.h"
9#include "CoreMinimal.h"
10#include "HAL/Platform.h"
11#include "HAL/PlatformMisc.h"
13#include "Misc/Guid.h"
14#include "Templates/Function.h"
16
17class IHttpRequest;
18
21
28
34DECLARE_MULTICAST_DELEGATE_TwoParams(FOnAnalyticsEventQueued, bool& /* bQueueEvent If this boolean is made false by any registered callback, this event will not be queued. Do not set this value to true */,
35 const FAnalyticEventQueuedInfo& /* All the details on the event that is being queued */)
36
37
38class IAnalyticsProviderET : public IAnalyticsProvider
39{
40public:
43
45 // IAnalyticsProvider overrides
46
50 virtual void RecordEvent(const FString& EventName, const TArray<FAnalyticsEventAttribute>& Attributes) override
51 {
52 return RecordEvent(CopyTemp(EventName), Attributes);
53 }
54
58 virtual void RecordEvent(const FString& EventName, const TArray<FAnalyticsEventAttribute>& Attributes, EAnalyticsRecordEventMode Mode) override
59 {
60 return RecordEvent(CopyTemp(EventName), Attributes, Mode);
61 }
62
66 virtual bool StartSession(const TArray<FAnalyticsEventAttribute>& Attributes) override
67 {
68 FGuid SessionGUID;
69 FPlatformMisc::CreateGuid(SessionGUID);
70 return StartSession(SessionGUID.ToString(EGuidFormats::DigitsWithHyphensInBraces), Attributes);
71 }
72
73 // IAnalyticsProvider overrides
75
76
82 virtual void SetAppID(FString&& AppID) = 0;
83
89 const FString& GetAppID() const { return GetConfig().APIKeyET; }
90
96 virtual void SetAppVersion(FString&& AppVersion) = 0;
97
103 const FString& GetAppVersion() const { return GetConfig().AppVersionET; }
104
108 virtual bool StartSession(FString InSessionID, const TArray<FAnalyticsEventAttribute>& Attributes) = 0;
109
116 virtual bool ShouldRecordEvent(const FString& EventName) const = 0;
117
121 virtual void RecordEvent(FString&& EventName, const TArray<FAnalyticsEventAttribute>& Attributes) = 0;
122
126 virtual void RecordEvent(FString&& EventName, const TArray<FAnalyticsEventAttribute>& Attributes, EAnalyticsRecordEventMode Mode) = 0;
127
131 virtual void SetUrlDomain(const FString& Domain, const TArray<FString>& AltDomains) = 0;
132
136 virtual void SetUrlPath(const FString& Path) = 0;
137
141 virtual void SetHeader(const FString& HeaderName, const FString& HeaderValue) = 0;
142
143 typedef TFunction<void(const FString& EventName, const TArray<FAnalyticsEventAttribute>& Attrs, bool bJson)> OnEventRecorded;
144
150 virtual void SetEventCallback(const OnEventRecorded& Callback) = 0;
151
155 virtual void BlockUntilFlushed(float InTimeoutSec) = 0;
156
160 virtual const FAnalyticsET::Config& GetConfig() const = 0;
161
163 typedef TFunction<bool(const IAnalyticsProviderET& ThisProvider, const FString& EventName)> ShouldRecordEventFunction;
164
166 virtual void SetShouldRecordEventFunc(const ShouldRecordEventFunction& ShouldRecordEventFunc) = 0;
167
168 virtual FOnPreAnalyticsEventProcessed& OnPreAnalyticsEventProcessed() = 0;
169 virtual FOnAnalyticsEventQueued& OnAnalyticsEventQueued() = 0;
170
171private:
174};
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define DECLARE_MULTICAST_DELEGATE_TwoParams(DelegateName, Param1Type, Param2Type)
Definition DelegateCombinations.h:58
@ DigitsWithHyphensInBraces
EAnalyticsRecordEventMode
Definition IAnalyticsProvider.h:16
const bool
Definition NetworkReplayStreaming.h:178
UE_REWRITE T CopyTemp(T &Val)
Definition UnrealTemplate.h:554
Definition IAnalyticsProvider.h:52
bool StartSession()
Definition IAnalyticsProvider.h:65
virtual void RecordEvent(const FString &EventName, const TArray< FAnalyticsEventAttribute > &Attributes)=0
Definition IHttpRequest.h:171
Definition Array.h:670
Definition AndroidPlatformMisc.h:14
Definition SharedPointer.h:153
FString GetAppVersion()
Definition InstallBundleUtils.cpp:26
UTickableTransformConstraint * GetConfig(const UClass *InConstraintClass)
Definition TransformConstraintUtil.cpp:878
Definition IAnalyticsProviderET.h:23
const FString & EventName
Definition IAnalyticsProviderET.h:25
const EAnalyticsRecordEventMode Mode
Definition IAnalyticsProviderET.h:24
const TArray< FAnalyticsEventAttribute > & Attributes
Definition IAnalyticsProviderET.h:26
Definition AnalyticsET.h:49
static CORE_API void CreateGuid(struct FGuid &Result)
Definition AndroidPlatformMisc.cpp:1126
Definition Guid.h:109
FString ToString(EGuidFormats Format=EGuidFormats::Digits) const
Definition Guid.h:329