@gamealytics/web-sdk
Version:
GameAlytics SDK for Web/Node.js - Cross-platform analytics for game developers
105 lines (104 loc) • 3.75 kB
TypeScript
type EventProperties = {
[key: string]: string;
};
declare enum Environment {
DEVELOPMENT = "DEVELOPMENT",
PRODUCTION = "PRODUCTION"
}
declare class UserConfigBuilder {
private sessionId?;
private userId?;
private anonymousId?;
setSessionId(sessionId: string): UserConfigBuilder;
setUserId(userId: string): UserConfigBuilder;
setAnonymous(anonymousId: string): UserConfigBuilder;
build(): UserConfig;
}
declare class UserConfig {
readonly sessionId: string;
readonly userId?: string;
readonly anonymousId?: string;
constructor(sessionId: string, userId?: string, anonymousId?: string);
static builder(): UserConfigBuilder;
}
declare class InitBuilder {
private apiKey;
private environment;
private userConfigValue?;
constructor(apiKey: string, environment: Environment);
userConfig(userConfig: UserConfig): InitBuilder;
create(): GameAlytics;
}
declare class GameAlytics {
static instance: GameAlytics | null;
private apiKey;
private environment;
private userConfig;
private deviceInfo;
private isInitialized;
private baseUrl;
private eventQueue;
constructor(apiKey: string, environment: Environment, userConfig: UserConfig);
static init(apiKey: string, environment: Environment): InitBuilder;
static getInstance(): GameAlytics;
systemEvent(): SystemEventBuilder;
customEvent(): CustomEventBuilder;
private autoFetchDeviceInfo;
trackEvent(type: 'SYSTEM' | 'CUSTOM', eventType: string, category: string, properties: EventProperties): void;
private getOSVersion;
private getScreenResolution;
private ensureInitialized;
}
export declare class Gameplay {
static readonly LEVEL_START = "level_start";
static readonly LEVEL_END = "level_end";
static readonly LEVEL_UP = "level_up";
static readonly BOSS_FIGHT = "boss_fight";
static readonly CHECKPOINT_REACHED = "checkpoint_reached";
}
export declare class IAP {
static readonly PURCHASE = "purchase";
static readonly PURCHASE_FAILED = "purchase_failed";
static readonly PURCHASE_RESTORED = "purchase_restored";
static readonly SUBSCRIPTION_STARTED = "subscription_started";
static readonly SUBSCRIPTION_CANCELLED = "subscription_cancelled";
}
export declare class User {
static readonly SESSION_START = "session_start";
static readonly SESSION_END = "session_end";
static readonly USER_LOGIN = "user_login";
static readonly USER_LOGOUT = "user_logout";
static readonly USER_REGISTER = "user_register";
}
export declare class Progression {
static readonly TUTORIAL_COMPLETE = "tutorial_complete";
static readonly ACHIEVEMENT_UNLOCKED = "achievement_unlocked";
static readonly MILESTONE_REACHED = "milestone_reached";
static readonly QUEST_COMPLETED = "quest_completed";
}
export declare class Ad {
static readonly AD_VIEWED = "ad_viewed";
static readonly AD_CLICKED = "ad_clicked";
static readonly AD_REWARDED = "ad_rewarded";
static readonly AD_FAILED = "ad_failed";
}
export declare class SystemEventBuilder {
private category?;
private type?;
private properties;
categoryClass(categoryClass: any): SystemEventBuilder;
eventType(type: string): SystemEventBuilder;
setProperties(properties: EventProperties): SystemEventBuilder;
trigger(): void;
}
export declare class CustomEventBuilder {
private category?;
private type?;
private properties;
categoryName(category: string): CustomEventBuilder;
eventType(type: string): CustomEventBuilder;
setProperties(properties: EventProperties): CustomEventBuilder;
trigger(): void;
}
export { GameAlytics, UserConfig, Environment };
export default GameAlytics;