UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FAnalyticsProviderBroadcast Class Reference

#include <AnalyticsProviderBroadcast.h>

+ Inheritance diagram for FAnalyticsProviderBroadcast:

Public Types

using TProviders = TMap< FString, TSharedPtr< IAnalyticsProvider > >
 
typedef TFunction< void(const FString &EventName, const TArray< FAnalyticsEventAttribute > &Attrs)> OnRecordEvent
 

Public Member Functions

 FAnalyticsProviderBroadcast ()
 
virtual bool StartSession (const TArray< FAnalyticsEventAttribute > &Attributes={}) override
 
virtual void EndSession () override
 
virtual void FlushEvents () override
 
virtual void SetDefaultEventAttributes (TArray< FAnalyticsEventAttribute > &&Attributes) override
 
virtual TArray< FAnalyticsEventAttributeGetDefaultEventAttributesSafe () const override
 
virtual int32 GetDefaultEventAttributeCount () const override
 
virtual FAnalyticsEventAttribute GetDefaultEventAttribute (int AttributeIndex) const override
 
virtual bool SetSessionID (const FString &InSessionID) override
 
virtual void SetUserID (const FString &InUserID) override
 
virtual FString GetSessionID () const override
 
virtual FString GetUserID () const override
 
virtual void RecordEvent (const FString &EventName, const TArray< FAnalyticsEventAttribute > &Attributes) override
 
virtual void RecordEvent (const FString &EventName, const TArray< FAnalyticsEventAttribute > &Attributes, EAnalyticsRecordEventMode Mode) override
 
void SetRecordEventCallback (OnRecordEvent Callback)
 
bool HasValidProviders () const
 
TWeakPtr< IAnalyticsProviderGetAnalyticsProvider (const FString &Name)
 
- Public Member Functions inherited from IAnalyticsProvider
bool StartSession ()
 
bool StartSession (const FAnalyticsEventAttribute &Attribute)
 
bool StartSession (const FString &ParamName, const FString &ParamValue)
 
virtual void SetBuildInfo (const FString &InBuildInfo)
 
virtual void SetGender (const FString &InGender)
 
virtual void SetLocation (const FString &InLocation)
 
virtual void SetAge (const int32 InAge)
 
void RecordEvent (const FString &EventName)
 
void RecordEvent (const FString &EventName, const FAnalyticsEventAttribute &Attribute)
 
void RecordEvent (const FString &EventName, const FString &ParamName, const FString &ParamValue)
 
virtual void RecordItemPurchase (const FString &ItemId, const FString &Currency, int PerItemCost, int ItemQuantity)
 
virtual void RecordItemPurchase (const FString &ItemId, int ItemQuantity, const TArray< FAnalyticsEventAttribute > &EventAttrs)
 
void RecordItemPurchase (const FString &ItemId, int ItemQuantity)
 
virtual void RecordCurrencyPurchase (const FString &GameCurrencyType, int GameCurrencyAmount, const FString &RealCurrencyType, float RealMoneyCost, const FString &PaymentProvider)
 
virtual void RecordCurrencyPurchase (const FString &GameCurrencyType, int GameCurrencyAmount, const TArray< FAnalyticsEventAttribute > &EventAttrs)
 
virtual void RecordCurrencyPurchase (const FString &GameCurrencyType, int GameCurrencyAmount)
 
virtual void RecordCurrencyGiven (const FString &GameCurrencyType, int GameCurrencyAmount)
 
virtual void RecordCurrencyGiven (const FString &GameCurrencyType, int GameCurrencyAmount, const TArray< FAnalyticsEventAttribute > &EventAttrs)
 
virtual void RecordError (const FString &Error, const TArray< FAnalyticsEventAttribute > &EventAttrs)
 
virtual void RecordError (const FString &Error)
 
virtual void RecordProgress (const FString &ProgressType, const TArray< FString > &ProgressHierarchy, const TArray< FAnalyticsEventAttribute > &EventAttrs)
 
virtual void RecordProgress (const FString &ProgressType, const FString &ProgressHierarchy)
 
virtual void RecordProgress (const FString &ProgressType, const FString &ProgressHierarchy, const TArray< FAnalyticsEventAttribute > &EventAttrs)
 
virtual ~IAnalyticsProvider ()
 

Static Public Member Functions

static TSharedPtr< FAnalyticsProviderBroadcastCreateAnalyticsProvider ()
 

Detailed Description

Implementation of the IAnalyticsProvider interface that forwards the API calls to an array of IAnalyticsProvider interfaces

IAnalyticsProviders are specified in the Engine.ini interface and are constructed and configured automatically.

AnalyticsLog for example in Engine/Config/BaseEngine.ini

; Studio Telemetry Settings [StudioTelemetry.Log] Name=LogAnalytics ProviderModule=AnalyticsLog UsageType=Editor

This instructs the Broadcast provider to create a Provider from the AnalyticsLog module via the IANalyticsProviderModule interface. See FAnalayticsLog and FAnalyticsProviderLog for more details.

Member Typedef Documentation

◆ OnRecordEvent

◆ TProviders

Constructor & Destructor Documentation

◆ FAnalyticsProviderBroadcast()

FAnalyticsProviderBroadcast::FAnalyticsProviderBroadcast ( )

Member Function Documentation

◆ CreateAnalyticsProvider()

TSharedPtr< FAnalyticsProviderBroadcast > FAnalyticsProviderBroadcast::CreateAnalyticsProvider ( )
static

◆ EndSession()

void FAnalyticsProviderBroadcast::EndSession ( )
overridevirtual

Ends the session. Usually no need to call explicitly, as the provider should do this for you when the instance is destroyed.

Implements IAnalyticsProvider.

◆ FlushEvents()

void FAnalyticsProviderBroadcast::FlushEvents ( )
overridevirtual

Flush any cached events to the analytics provider.

Note that not all providers support explicitly sending any cached events. In which case this method does nothing.

Implements IAnalyticsProvider.

◆ GetAnalyticsProvider()

TWeakPtr< IAnalyticsProvider > FAnalyticsProviderBroadcast::GetAnalyticsProvider ( const FString &  Name)

◆ GetDefaultEventAttribute()

FAnalyticsEventAttribute FAnalyticsProviderBroadcast::GetDefaultEventAttribute ( int  AttributeIndex) const
overridevirtual

Used with GetDefaultEventAttributeCount to iterate over the default attributes.

Range checking is not done, similar to TArray. Use GetDefaultAttributeCount() first!

Returns
one attribute of the default attributes so we don't have to copy the entire attribute array.

Implements IAnalyticsProvider.

◆ GetDefaultEventAttributeCount()

int32 FAnalyticsProviderBroadcast::GetDefaultEventAttributeCount ( ) const
overridevirtual

Used with GetDefaultAttribute to iterate over the default attributes.

Returns
the number of default attributes are currently being applied.

Implements IAnalyticsProvider.

◆ GetDefaultEventAttributesSafe()

TArray< FAnalyticsEventAttribute > FAnalyticsProviderBroadcast::GetDefaultEventAttributesSafe ( ) const
overridevirtual
Returns
the current array of default attributes.

Implements IAnalyticsProvider.

◆ GetSessionID()

FString FAnalyticsProviderBroadcast::GetSessionID ( ) const
overridevirtual

Gets the opaque session identifier string for the provider.

Implements IAnalyticsProvider.

◆ GetUserID()

FString FAnalyticsProviderBroadcast::GetUserID ( ) const
overridevirtual

Gset the current UserID. Use -ANALYTICSUSERID=<Name> command line to force the provider to use a specific UserID for this run.

Implements IAnalyticsProvider.

◆ HasValidProviders()

bool FAnalyticsProviderBroadcast::HasValidProviders ( ) const
inline

◆ RecordEvent() [1/2]

virtual void FAnalyticsProviderBroadcast::RecordEvent ( const FString &  EventName,
const TArray< FAnalyticsEventAttribute > &  Attributes 
)
inlineoverridevirtual

Records a named event with an array of attributes

Parameters
EventNamename of the event
Attributesarray of attribute name/value pairs

Implements IAnalyticsProvider.

◆ RecordEvent() [2/2]

void FAnalyticsProviderBroadcast::RecordEvent ( const FString &  EventName,
const TArray< FAnalyticsEventAttribute > &  Attributes,
EAnalyticsRecordEventMode  Mode 
)
overridevirtual

RecordEvent overload to allow platforms to support events that are immediately sent

Parameters
EventNamename of the event
Attributesarray of attribute name/value pairs
Modethe record event mode, Cached or Immediate
See also
EAnalyticsRecordEventMode

Reimplemented from IAnalyticsProvider.

◆ SetDefaultEventAttributes()

void FAnalyticsProviderBroadcast::SetDefaultEventAttributes ( TArray< FAnalyticsEventAttribute > &&  Attributes)
overridevirtual

Sets an array of attributes that will automatically be appended to any event that is sent. Logical effect is like adding them to all events before calling RecordEvent. Practically, it is implemented much more efficiently from a storage and allocation perspective.

Implements IAnalyticsProvider.

◆ SetRecordEventCallback()

void FAnalyticsProviderBroadcast::SetRecordEventCallback ( OnRecordEvent  Callback)

◆ SetSessionID()

bool FAnalyticsProviderBroadcast::SetSessionID ( const FString &  InSessionID)
overridevirtual

Sets the session ID of the analytics session. This is not something you normally have to do, except for circumstances where you need to send events on behalf of another user (like a dedicated server sending events for the connected clients).

Implements IAnalyticsProvider.

◆ SetUserID()

void FAnalyticsProviderBroadcast::SetUserID ( const FString &  InUserID)
overridevirtual

Set the UserID for use with analytics. Some providers require a unique ID to be provided when supplying events, and some providers create their own. If you are using a provider that requires you to supply the ID, use this method to set it.

Implements IAnalyticsProvider.

◆ StartSession()

bool FAnalyticsProviderBroadcast::StartSession ( const TArray< FAnalyticsEventAttribute > &  Attributes = {})
overridevirtual

Starts a session. See parameterless-version for contract details.

Parameters
Attributesattributes of the session. Arbitrary set of key/value pairs that will be sent with the StartSession event that this should also trigger.

Implements IAnalyticsProvider.


The documentation for this class was generated from the following files: