Class TAnalytics

Unit

Declaration

type TAnalytics = class(TComponent)

Description

Gathering analytics through Google Analytics https://www.google.com/analytics/ and / or Game Analytics http://www.gameanalytics.com/ .

On Android or iOS. You will need to also add appropriate "service" to your application, like game_analytics or google_analytics to have the integration code automatically included. See Android services ( https://github.com/castle-engine/castle-engine/wiki/Android-Project-Services-Integrated-with-Castle-Game-Engine ) and iOS services ( https://github.com/castle-engine/castle-engine/wiki/iOS-Services ) and CastleEngineManifest.xml docs ( https://github.com/castle-engine/castle-engine/wiki/CastleEngineManifest.xml-examples ).

Usage:

  1. Create an instance of this class (only a single instance allowed).

  2. Initialize at least one analytics backend using the InitializeGoogleAnalytics or InitializeGameAnalytics method.

  3. Use the remaining methods, like Event, to report events in your app.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TAnalytics

Overview

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public procedure InitializeGoogleAnalytics(const AnalyticsPropertyId: string);
Public procedure InitializeGameAnalytics(const GameKey, SecretKey: string);
Public procedure ScreenView(const ScreenName: string);
Public procedure Event(const Category, Action, ALabel: string; const Value: Int64);
Public procedure Event(const Category, Action, ALabel: string; const Value: Int64; const DimensionIndex: Cardinal; const DimensionValue: string);
Public procedure Timing(const Category, AVariable, ALabel: string; const Time: TFloatTime);
Public procedure Progress(const Status: TAnalyticsProgress; const World: string; const Level: string = ''; const Phase: string = ''; const Score: Integer = 0);

Description

Methods

Public constructor Create(AOwner: TComponent); override;
 
Public destructor Destroy; override;
 
Public procedure InitializeGoogleAnalytics(const AnalyticsPropertyId: string);

Initialize Google Analytics https://www.google.com/analytics/ . Usually called from TCastleApplication.OnInitialize.

Public procedure InitializeGameAnalytics(const GameKey, SecretKey: string);

Initialize Game Analytics http://www.gameanalytics.com/ . Usually called from TCastleApplication.OnInitialize.

Public procedure ScreenView(const ScreenName: string);

Send to analytics view of the screen, e.g. when user switches between UI states.

Exceptions raised
EInvalidChar
If the screen name contains invalid characters. Use only ASCII letters, digits, hyphens, underscores.
Public procedure Event(const Category, Action, ALabel: string; const Value: Int64);

Send to analytics a general event.

Exceptions raised
EInvalidChar
If some string contains invalid characters. Use only ASCII letters, digits, hyphens, underscores for the category and other strings.
Public procedure Event(const Category, Action, ALabel: string; const Value: Int64; const DimensionIndex: Cardinal; const DimensionValue: string);

Send to analytics a general event, along with a custom dimension. DimensionIndex must be > 0.

See https://developers.google.com/analytics/devguides/collection/android/v4/customdimsmets#overview about what is a custom dimension for Google Analytics (you need to create the dimension index first in Google Analytics console).

For Game Analytics, this is just used as an extra subcategory. Do not create too many different DimensionIndex + DimensionValue combinations, as each combination creates a new unique event id, and these are limited, see http://www.gameanalytics.com/docs/custom-events .

Exceptions raised
EInvalidChar
If some string contains invalid characters. Use only ASCII letters, digits, hyphens, underscores for the category and other strings.
Public procedure Timing(const Category, AVariable, ALabel: string; const Time: TFloatTime);

Send to analytics a timing event.

Exceptions raised
EInvalidChar
If some string contains invalid characters. Use only ASCII letters, digits, hyphens, underscores for the category and other strings.
Public procedure Progress(const Status: TAnalyticsProgress; const World: string; const Level: string = ''; const Phase: string = ''; const Score: Integer = 0);

Send to analytics a progress event.

Exceptions raised
EInvalidChar
If some string contains invalid characters. Use only ASCII letters, digits, hyphens, underscores for the world and other strings.

Generated by PasDoc 0.15.0.