@nice2dev/game-engine 1.3.13 → 1.3.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/package.json +2 -2
- package/dist/types/accessibility/index.d.ts +0 -1
- package/dist/types/ai/index.d.ts +0 -1
- package/dist/types/animation/index.d.ts +0 -1
- package/dist/types/audio/HRTFAudio.d.ts +0 -180
- package/dist/types/audio/index.d.ts +0 -2
- package/dist/types/community/Community.d.ts +0 -112
- package/dist/types/community/index.d.ts +0 -1
- package/dist/types/core/TypeSafety.d.ts +0 -190
- package/dist/types/core/index.d.ts +0 -7
- package/dist/types/devtools/AssetStore.d.ts +0 -133
- package/dist/types/devtools/index.d.ts +0 -3
- package/dist/types/dialogue/index.d.ts +0 -2
- package/dist/types/docs/APIPlayground.d.ts +0 -26
- package/dist/types/docs/Cookbook.d.ts +0 -18
- package/dist/types/docs/Guides.d.ts +0 -18
- package/dist/types/docs/index.d.ts +0 -4
- package/dist/types/ecs/ECSOptimized.d.ts +0 -131
- package/dist/types/ecs/index.d.ts +0 -2
- package/dist/types/editor/NiceAnimationTimeline.d.ts +0 -114
- package/dist/types/editor/NiceLevelEditor.d.ts +0 -232
- package/dist/types/editor/NiceMaterialEditor.d.ts +0 -105
- package/dist/types/editor/NiceNodeGraph.d.ts +0 -87
- package/dist/types/editor/NiceParticleEditor.d.ts +0 -127
- package/dist/types/editor/behavior-tree/BTDebugPanel.d.ts +0 -102
- package/dist/types/editor/behavior-tree/BTEditorCanvas.d.ts +0 -79
- package/dist/types/editor/behavior-tree/BTEditorNode.d.ts +0 -58
- package/dist/types/editor/behavior-tree/BTEditorToolbar.d.ts +0 -75
- package/dist/types/editor/behavior-tree/BTNodePalette.d.ts +0 -72
- package/dist/types/editor/behavior-tree/BTPropertyPanel.d.ts +0 -66
- package/dist/types/editor/behavior-tree/BehaviorTreeEditor.d.ts +0 -186
- package/dist/types/editor/behavior-tree/index.d.ts +0 -14
- package/dist/types/editor/behavior-tree/serialization.d.ts +0 -30
- package/dist/types/editor/behavior-tree/types.d.ts +0 -299
- package/dist/types/editor/index.d.ts +0 -20
- package/dist/types/editor/state-machine/SMEditorCanvas.d.ts +0 -61
- package/dist/types/editor/state-machine/StateMachineEditor.d.ts +0 -139
- package/dist/types/editor/state-machine/index.d.ts +0 -11
- package/dist/types/editor/state-machine/serialization.d.ts +0 -23
- package/dist/types/editor/state-machine/types.d.ts +0 -241
- package/dist/types/engine/index.d.ts +0 -2
- package/dist/types/enterprise/index.d.ts +0 -1
- package/dist/types/epic/index.d.ts +0 -10
- package/dist/types/i18n/index.d.ts +0 -2
- package/dist/types/input/index.d.ts +0 -3
- package/dist/types/kids/index.d.ts +0 -2
- package/dist/types/legendary/index.d.ts +0 -57
- package/dist/types/monetization/index.d.ts +0 -1
- package/dist/types/multiplayer/NiceNetcode.d.ts +0 -434
- package/dist/types/multiplayer/index.d.ts +0 -5
- package/dist/types/network/index.d.ts +0 -2
- package/dist/types/pathfinding/index.d.ts +0 -1
- package/dist/types/performance/AssetCompression.d.ts +0 -137
- package/dist/types/performance/WASMModules.d.ts +0 -65
- package/dist/types/performance/WebGPUCompute.d.ts +0 -71
- package/dist/types/performance/index.d.ts +0 -1
- package/dist/types/physics/RapierIntegration.d.ts +0 -404
- package/dist/types/physics/index.d.ts +0 -2
- package/dist/types/plugins/index.d.ts +0 -2
- package/dist/types/procedural/index.d.ts +0 -2
- package/dist/types/release/index.d.ts +0 -1
- package/dist/types/rendering/WebGPUv2.d.ts +0 -173
- package/dist/types/rendering/index.d.ts +0 -3
- package/dist/types/runtime3d/index.d.ts +0 -2
- package/dist/types/scene/index.d.ts +0 -2
- package/dist/types/scripting/WasmCompiler.d.ts +0 -182
- package/dist/types/scripting/index.d.ts +0 -19
- package/dist/types/social/index.d.ts +0 -1
- package/dist/types/systems/NiceAI.d.ts +0 -637
- package/dist/types/systems/NiceAbility.d.ts +0 -225
- package/dist/types/systems/NiceAccessibility.d.ts +0 -230
- package/dist/types/systems/NiceAchievement.d.ts +0 -153
- package/dist/types/systems/NiceAchievementUI.d.ts +0 -196
- package/dist/types/systems/NiceAchievements.d.ts +0 -230
- package/dist/types/systems/NiceAction.d.ts +0 -81
- package/dist/types/systems/NiceAlchemy.d.ts +0 -195
- package/dist/types/systems/NiceAnalytics.d.ts +0 -493
- package/dist/types/systems/NiceAnimation.d.ts +0 -350
- package/dist/types/systems/NiceArena.d.ts +0 -215
- package/dist/types/systems/NiceAssetLoader.d.ts +0 -136
- package/dist/types/systems/NiceAuction.d.ts +0 -157
- package/dist/types/systems/NiceAudio.d.ts +0 -224
- package/dist/types/systems/NiceAugment.d.ts +0 -187
- package/dist/types/systems/NiceAura.d.ts +0 -193
- package/dist/types/systems/NiceBank.d.ts +0 -158
- package/dist/types/systems/NiceBattlePass.d.ts +0 -150
- package/dist/types/systems/NiceBehavior.d.ts +0 -160
- package/dist/types/systems/NiceBinding.d.ts +0 -96
- package/dist/types/systems/NiceBlacksmith.d.ts +0 -221
- package/dist/types/systems/NiceBuff.d.ts +0 -177
- package/dist/types/systems/NiceBuilding.d.ts +0 -207
- package/dist/types/systems/NiceBullet.d.ts +0 -167
- package/dist/types/systems/NiceCamera.d.ts +0 -252
- package/dist/types/systems/NiceCard.d.ts +0 -171
- package/dist/types/systems/NiceChat.d.ts +0 -148
- package/dist/types/systems/NiceCheat.d.ts +0 -375
- package/dist/types/systems/NiceClimbing.d.ts +0 -186
- package/dist/types/systems/NiceCloud.d.ts +0 -422
- package/dist/types/systems/NiceCollision.d.ts +0 -238
- package/dist/types/systems/NiceCombo.d.ts +0 -131
- package/dist/types/systems/NiceCommand.d.ts +0 -112
- package/dist/types/systems/NiceCompanion.d.ts +0 -182
- package/dist/types/systems/NiceController.d.ts +0 -144
- package/dist/types/systems/NiceCooking.d.ts +0 -193
- package/dist/types/systems/NiceCoroutine.d.ts +0 -101
- package/dist/types/systems/NiceCrafting.d.ts +0 -228
- package/dist/types/systems/NiceCutscene.d.ts +0 -437
- package/dist/types/systems/NiceDaily.d.ts +0 -133
- package/dist/types/systems/NiceDamage.d.ts +0 -271
- package/dist/types/systems/NiceDayNight.d.ts +0 -126
- package/dist/types/systems/NiceDebug.d.ts +0 -255
- package/dist/types/systems/NiceDestructible.d.ts +0 -150
- package/dist/types/systems/NiceDialogue.d.ts +0 -629
- package/dist/types/systems/NiceDungeon.d.ts +0 -202
- package/dist/types/systems/NiceECS.d.ts +0 -151
- package/dist/types/systems/NiceEnchant.d.ts +0 -148
- package/dist/types/systems/NiceEntityPool.d.ts +0 -127
- package/dist/types/systems/NiceEquipment.d.ts +0 -137
- package/dist/types/systems/NiceEvent.d.ts +0 -202
- package/dist/types/systems/NiceEventBus.d.ts +0 -164
- package/dist/types/systems/NiceFaction.d.ts +0 -173
- package/dist/types/systems/NiceFarming.d.ts +0 -163
- package/dist/types/systems/NiceFishing.d.ts +0 -196
- package/dist/types/systems/NiceFlocking.d.ts +0 -156
- package/dist/types/systems/NiceFog.d.ts +0 -137
- package/dist/types/systems/NiceFormation.d.ts +0 -140
- package/dist/types/systems/NiceGacha.d.ts +0 -134
- package/dist/types/systems/NiceGambling.d.ts +0 -175
- package/dist/types/systems/NiceGem.d.ts +0 -165
- package/dist/types/systems/NiceGesture.d.ts +0 -502
- package/dist/types/systems/NiceGrappling.d.ts +0 -154
- package/dist/types/systems/NiceGrid.d.ts +0 -142
- package/dist/types/systems/NiceGuild.d.ts +0 -162
- package/dist/types/systems/NiceHaptics.d.ts +0 -112
- package/dist/types/systems/NiceHousing.d.ts +0 -197
- package/dist/types/systems/NiceInput.d.ts +0 -280
- package/dist/types/systems/NiceInventory.d.ts +0 -534
- package/dist/types/systems/NiceLOD.d.ts +0 -144
- package/dist/types/systems/NiceLeaderboard.d.ts +0 -191
- package/dist/types/systems/NiceLevel.d.ts +0 -304
- package/dist/types/systems/NiceLighting.d.ts +0 -214
- package/dist/types/systems/NiceLocalization.d.ts +0 -148
- package/dist/types/systems/NiceLocomotion.d.ts +0 -398
- package/dist/types/systems/NiceLogger.d.ts +0 -117
- package/dist/types/systems/NiceLoot.d.ts +0 -176
- package/dist/types/systems/NiceMail.d.ts +0 -164
- package/dist/types/systems/NiceMap.d.ts +0 -234
- package/dist/types/systems/NiceMarriage.d.ts +0 -150
- package/dist/types/systems/NiceMastery.d.ts +0 -171
- package/dist/types/systems/NiceMatch.d.ts +0 -196
- package/dist/types/systems/NiceMatch3.d.ts +0 -118
- package/dist/types/systems/NiceMessageBus.d.ts +0 -115
- package/dist/types/systems/NiceMinimap.d.ts +0 -258
- package/dist/types/systems/NiceMining.d.ts +0 -175
- package/dist/types/systems/NiceModding.d.ts +0 -452
- package/dist/types/systems/NiceMount.d.ts +0 -152
- package/dist/types/systems/NiceNavigation.d.ts +0 -307
- package/dist/types/systems/NiceNetwork.d.ts +0 -568
- package/dist/types/systems/NiceNotification.d.ts +0 -438
- package/dist/types/systems/NiceObjective.d.ts +0 -395
- package/dist/types/systems/NiceParticle.d.ts +0 -639
- package/dist/types/systems/NiceParty.d.ts +0 -168
- package/dist/types/systems/NicePerformance.d.ts +0 -144
- package/dist/types/systems/NicePet.d.ts +0 -167
- package/dist/types/systems/NicePhotoMode.d.ts +0 -270
- package/dist/types/systems/NicePhysics.d.ts +0 -326
- package/dist/types/systems/NicePlatformer.d.ts +0 -158
- package/dist/types/systems/NicePool.d.ts +0 -128
- package/dist/types/systems/NicePortal.d.ts +0 -178
- package/dist/types/systems/NicePostProcess.d.ts +0 -254
- package/dist/types/systems/NiceProcedural.d.ts +0 -202
- package/dist/types/systems/NiceProfile.d.ts +0 -223
- package/dist/types/systems/NiceProjectile.d.ts +0 -157
- package/dist/types/systems/NicePvP.d.ts +0 -199
- package/dist/types/systems/NiceQTE.d.ts +0 -160
- package/dist/types/systems/NiceQuest.d.ts +0 -620
- package/dist/types/systems/NiceRaid.d.ts +0 -215
- package/dist/types/systems/NiceRanking.d.ts +0 -399
- package/dist/types/systems/NiceReplay.d.ts +0 -180
- package/dist/types/systems/NiceReputation.d.ts +0 -151
- package/dist/types/systems/NiceResource.d.ts +0 -200
- package/dist/types/systems/NiceRhythm.d.ts +0 -148
- package/dist/types/systems/NiceRoguelike.d.ts +0 -276
- package/dist/types/systems/NiceRune.d.ts +0 -202
- package/dist/types/systems/NiceSaveSystem.d.ts +0 -194
- package/dist/types/systems/NiceSceneManager.d.ts +0 -112
- package/dist/types/systems/NiceScore.d.ts +0 -186
- package/dist/types/systems/NiceScreenFX.d.ts +0 -235
- package/dist/types/systems/NiceScreenshot.d.ts +0 -443
- package/dist/types/systems/NiceScribe.d.ts +0 -239
- package/dist/types/systems/NiceSeason.d.ts +0 -176
- package/dist/types/systems/NiceSerialization.d.ts +0 -89
- package/dist/types/systems/NiceServiceLocator.d.ts +0 -94
- package/dist/types/systems/NiceShop.d.ts +0 -528
- package/dist/types/systems/NiceSignal.d.ts +0 -112
- package/dist/types/systems/NiceSkillTree.d.ts +0 -237
- package/dist/types/systems/NiceSocial.d.ts +0 -580
- package/dist/types/systems/NiceSpawner.d.ts +0 -237
- package/dist/types/systems/NiceSpell.d.ts +0 -216
- package/dist/types/systems/NiceState.d.ts +0 -224
- package/dist/types/systems/NiceStateMachine.d.ts +0 -108
- package/dist/types/systems/NiceStatus.d.ts +0 -116
- package/dist/types/systems/NiceStealth.d.ts +0 -204
- package/dist/types/systems/NiceSteam.d.ts +0 -255
- package/dist/types/systems/NiceStreaming.d.ts +0 -173
- package/dist/types/systems/NiceSwimming.d.ts +0 -166
- package/dist/types/systems/NiceTalent.d.ts +0 -154
- package/dist/types/systems/NiceTarget.d.ts +0 -121
- package/dist/types/systems/NiceTerrain.d.ts +0 -143
- package/dist/types/systems/NiceTilemap.d.ts +0 -218
- package/dist/types/systems/NiceTimer.d.ts +0 -153
- package/dist/types/systems/NiceTournament.d.ts +0 -190
- package/dist/types/systems/NiceTrading.d.ts +0 -238
- package/dist/types/systems/NiceTransmog.d.ts +0 -142
- package/dist/types/systems/NiceTutorial.d.ts +0 -248
- package/dist/types/systems/NiceTween.d.ts +0 -164
- package/dist/types/systems/NiceUI.d.ts +0 -364
- package/dist/types/systems/NiceVFX.d.ts +0 -333
- package/dist/types/systems/NiceVehicle.d.ts +0 -176
- package/dist/types/systems/NiceVoice.d.ts +0 -502
- package/dist/types/systems/NiceWater.d.ts +0 -162
- package/dist/types/systems/NiceWave.d.ts +0 -174
- package/dist/types/systems/NiceWaypoint.d.ts +0 -165
- package/dist/types/systems/NiceWeather.d.ts +0 -225
- package/dist/types/systems/NiceXR.d.ts +0 -187
- package/dist/types/systems/index.d.ts +0 -182
- package/dist/types/templates/index.d.ts +0 -2
- package/dist/types/tilemap/index.d.ts +0 -1
- package/dist/types/tutorials/TutorialEditor.d.ts +0 -43
- package/dist/types/tutorials/VoiceNarration.d.ts +0 -75
- package/dist/types/tutorials/content/Tutorials_T04.d.ts +0 -3
- package/dist/types/tutorials/content/UITutorials.d.ts +0 -14
- package/dist/types/tutorials/content/index.d.ts +0 -5
- package/dist/types/tutorials/index.d.ts +0 -6
- package/dist/types/ui/index.d.ts +0 -2
- package/dist/types/visual-scripting/VisualScriptDebugger.d.ts +0 -145
- package/dist/types/visual-scripting/VisualScriptExecutor.d.ts +0 -100
- package/dist/types/visual-scripting/VisualScriptGraph.d.ts +0 -173
- package/dist/types/visual-scripting/VisualScriptNode.d.ts +0 -157
- package/dist/types/visual-scripting/index.d.ts +0 -6
- package/dist/types/visual-scripting/nodes/ActionNodes.d.ts +0 -152
- package/dist/types/visual-scripting/nodes/EventNodes.d.ts +0 -95
- package/dist/types/visual-scripting/nodes/FlowControlNodes.d.ts +0 -134
- package/dist/types/visual-scripting/nodes/LogicNodes.d.ts +0 -122
- package/dist/types/visual-scripting/nodes/MathNodes.d.ts +0 -170
- package/dist/types/visual-scripting/nodes/UtilityNodes.d.ts +0 -131
- package/dist/types/visual-scripting/nodes/VariableNodes.d.ts +0 -107
- package/dist/types/visual-scripting/nodes/index.d.ts +0 -21
- package/dist/types/visual-scripting/nodes/registerNodes.d.ts +0 -29
- package/dist/types/visual-scripting/types.d.ts +0 -402
- package/dist/types/xr/WebXRLayers.d.ts +0 -319
- package/dist/types/xr/index.d.ts +0 -2
|
@@ -1,493 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* NiceAnalytics - Game Analytics & Telemetry System
|
|
3
|
-
*
|
|
4
|
-
* Comprehensive analytics system for tracking player behavior, game performance,
|
|
5
|
-
* progression metrics, and generating insights for game improvement.
|
|
6
|
-
*
|
|
7
|
-
* Features:
|
|
8
|
-
* - Event tracking
|
|
9
|
-
* - Session management
|
|
10
|
-
* - Player journey tracking
|
|
11
|
-
* - Funnel analysis
|
|
12
|
-
* - Retention metrics
|
|
13
|
-
* - Performance monitoring
|
|
14
|
-
* - Custom dimensions
|
|
15
|
-
* - A/B testing support
|
|
16
|
-
* - Real-time dashboards
|
|
17
|
-
* - Privacy compliance
|
|
18
|
-
* - Offline queuing
|
|
19
|
-
* - Data export
|
|
20
|
-
*
|
|
21
|
-
* @packageDocumentation
|
|
22
|
-
*/
|
|
23
|
-
import { EventEmitter } from 'events';
|
|
24
|
-
/** Unique event ID */
|
|
25
|
-
export type AnalyticsEventId = string;
|
|
26
|
-
/** Unique session ID */
|
|
27
|
-
export type SessionId = string;
|
|
28
|
-
/** Unique user ID */
|
|
29
|
-
export type AnalyticsUserId = string;
|
|
30
|
-
/** Unique experiment ID */
|
|
31
|
-
export type ExperimentId = string;
|
|
32
|
-
/** Event category */
|
|
33
|
-
export type EventCategory = 'gameplay' | 'progression' | 'economy' | 'social' | 'ui' | 'performance' | 'error' | 'monetization' | 'engagement' | 'custom';
|
|
34
|
-
/** Event priority */
|
|
35
|
-
export type EventPriority = 'low' | 'normal' | 'high' | 'critical';
|
|
36
|
-
/** Data type for custom dimensions */
|
|
37
|
-
export type DimensionValue = string | number | boolean;
|
|
38
|
-
/** Funnel stage */
|
|
39
|
-
export type FunnelStage = string;
|
|
40
|
-
/** Analytics event */
|
|
41
|
-
export interface AnalyticsEvent {
|
|
42
|
-
id: AnalyticsEventId;
|
|
43
|
-
name: string;
|
|
44
|
-
category: EventCategory;
|
|
45
|
-
priority: EventPriority;
|
|
46
|
-
timestamp: number;
|
|
47
|
-
sessionId: SessionId;
|
|
48
|
-
userId?: AnalyticsUserId;
|
|
49
|
-
parameters: Record<string, DimensionValue>;
|
|
50
|
-
dimensions: Record<string, DimensionValue>;
|
|
51
|
-
metrics: Record<string, number>;
|
|
52
|
-
sequenceNumber: number;
|
|
53
|
-
gameVersion: string;
|
|
54
|
-
platform: string;
|
|
55
|
-
metadata?: Record<string, unknown>;
|
|
56
|
-
}
|
|
57
|
-
/** Session data */
|
|
58
|
-
export interface AnalyticsSession {
|
|
59
|
-
id: SessionId;
|
|
60
|
-
userId?: AnalyticsUserId;
|
|
61
|
-
startTime: number;
|
|
62
|
-
endTime?: number;
|
|
63
|
-
duration: number;
|
|
64
|
-
eventCount: number;
|
|
65
|
-
isActive: boolean;
|
|
66
|
-
platform: string;
|
|
67
|
-
gameVersion: string;
|
|
68
|
-
deviceInfo: DeviceInfo;
|
|
69
|
-
entryPoint?: string;
|
|
70
|
-
exitPoint?: string;
|
|
71
|
-
dimensions: Record<string, DimensionValue>;
|
|
72
|
-
}
|
|
73
|
-
/** Device information */
|
|
74
|
-
export interface DeviceInfo {
|
|
75
|
-
type: 'desktop' | 'mobile' | 'tablet' | 'console' | 'unknown';
|
|
76
|
-
os: string;
|
|
77
|
-
osVersion: string;
|
|
78
|
-
browser?: string;
|
|
79
|
-
browserVersion?: string;
|
|
80
|
-
screenWidth: number;
|
|
81
|
-
screenHeight: number;
|
|
82
|
-
devicePixelRatio: number;
|
|
83
|
-
language: string;
|
|
84
|
-
timezone: string;
|
|
85
|
-
memory?: number;
|
|
86
|
-
cpuCores?: number;
|
|
87
|
-
gpu?: string;
|
|
88
|
-
}
|
|
89
|
-
/** User properties */
|
|
90
|
-
export interface UserProperties {
|
|
91
|
-
userId: AnalyticsUserId;
|
|
92
|
-
firstSeenAt: number;
|
|
93
|
-
lastSeenAt: number;
|
|
94
|
-
totalSessions: number;
|
|
95
|
-
totalPlayTime: number;
|
|
96
|
-
level: number;
|
|
97
|
-
isPaying: boolean;
|
|
98
|
-
totalSpent: number;
|
|
99
|
-
acquisitionSource?: string;
|
|
100
|
-
acquisitionCampaign?: string;
|
|
101
|
-
cohort?: string;
|
|
102
|
-
segment?: string;
|
|
103
|
-
tags: string[];
|
|
104
|
-
customProperties: Record<string, DimensionValue>;
|
|
105
|
-
}
|
|
106
|
-
/** Funnel definition */
|
|
107
|
-
export interface FunnelDefinition {
|
|
108
|
-
id: string;
|
|
109
|
-
name: string;
|
|
110
|
-
stages: FunnelStage[];
|
|
111
|
-
timeout?: number;
|
|
112
|
-
isActive: boolean;
|
|
113
|
-
}
|
|
114
|
-
/** Funnel progress */
|
|
115
|
-
export interface FunnelProgress {
|
|
116
|
-
funnelId: string;
|
|
117
|
-
userId: AnalyticsUserId;
|
|
118
|
-
currentStage: number;
|
|
119
|
-
completedStages: FunnelStage[];
|
|
120
|
-
startTime: number;
|
|
121
|
-
lastActivityTime: number;
|
|
122
|
-
isCompleted: boolean;
|
|
123
|
-
isAbandoned: boolean;
|
|
124
|
-
conversionTime?: number;
|
|
125
|
-
}
|
|
126
|
-
/** A/B Experiment */
|
|
127
|
-
export interface Experiment {
|
|
128
|
-
id: ExperimentId;
|
|
129
|
-
name: string;
|
|
130
|
-
description?: string;
|
|
131
|
-
variants: ExperimentVariant[];
|
|
132
|
-
startDate: number;
|
|
133
|
-
endDate?: number;
|
|
134
|
-
targetAudience?: string;
|
|
135
|
-
isActive: boolean;
|
|
136
|
-
metrics: string[];
|
|
137
|
-
}
|
|
138
|
-
/** Experiment variant */
|
|
139
|
-
export interface ExperimentVariant {
|
|
140
|
-
id: string;
|
|
141
|
-
name: string;
|
|
142
|
-
weight: number;
|
|
143
|
-
config: Record<string, unknown>;
|
|
144
|
-
}
|
|
145
|
-
/** User experiment assignment */
|
|
146
|
-
export interface ExperimentAssignment {
|
|
147
|
-
experimentId: ExperimentId;
|
|
148
|
-
variantId: string;
|
|
149
|
-
assignedAt: number;
|
|
150
|
-
userId: AnalyticsUserId;
|
|
151
|
-
}
|
|
152
|
-
/** Performance metrics */
|
|
153
|
-
export interface PerformanceMetrics {
|
|
154
|
-
fps: number;
|
|
155
|
-
frameTime: number;
|
|
156
|
-
memoryUsed: number;
|
|
157
|
-
memoryTotal: number;
|
|
158
|
-
loadTime: number;
|
|
159
|
-
drawCalls?: number;
|
|
160
|
-
triangles?: number;
|
|
161
|
-
networkLatency?: number;
|
|
162
|
-
timestamp: number;
|
|
163
|
-
}
|
|
164
|
-
/** Retention bucket */
|
|
165
|
-
export interface RetentionBucket {
|
|
166
|
-
day: number;
|
|
167
|
-
cohort: string;
|
|
168
|
-
totalUsers: number;
|
|
169
|
-
returnedUsers: number;
|
|
170
|
-
retentionRate: number;
|
|
171
|
-
}
|
|
172
|
-
/** Revenue event */
|
|
173
|
-
export interface RevenueEvent {
|
|
174
|
-
transactionId: string;
|
|
175
|
-
productId: string;
|
|
176
|
-
productName: string;
|
|
177
|
-
category: string;
|
|
178
|
-
price: number;
|
|
179
|
-
currency: string;
|
|
180
|
-
quantity: number;
|
|
181
|
-
isSubscription: boolean;
|
|
182
|
-
timestamp: number;
|
|
183
|
-
}
|
|
184
|
-
/** Error report */
|
|
185
|
-
export interface ErrorReport {
|
|
186
|
-
id: string;
|
|
187
|
-
type: 'error' | 'warning' | 'crash';
|
|
188
|
-
message: string;
|
|
189
|
-
stack?: string;
|
|
190
|
-
context: Record<string, unknown>;
|
|
191
|
-
timestamp: number;
|
|
192
|
-
sessionId: SessionId;
|
|
193
|
-
count: number;
|
|
194
|
-
firstOccurrence: number;
|
|
195
|
-
lastOccurrence: number;
|
|
196
|
-
}
|
|
197
|
-
/** Analytics summary */
|
|
198
|
-
export interface AnalyticsSummary {
|
|
199
|
-
totalEvents: number;
|
|
200
|
-
totalSessions: number;
|
|
201
|
-
totalUsers: number;
|
|
202
|
-
averageSessionDuration: number;
|
|
203
|
-
eventsPerSession: number;
|
|
204
|
-
topEvents: Array<{
|
|
205
|
-
name: string;
|
|
206
|
-
count: number;
|
|
207
|
-
}>;
|
|
208
|
-
topCategories: Array<{
|
|
209
|
-
category: EventCategory;
|
|
210
|
-
count: number;
|
|
211
|
-
}>;
|
|
212
|
-
errorRate: number;
|
|
213
|
-
performanceAvg: PerformanceMetrics;
|
|
214
|
-
}
|
|
215
|
-
/** Queue item */
|
|
216
|
-
export interface QueuedEvent {
|
|
217
|
-
event: AnalyticsEvent;
|
|
218
|
-
retries: number;
|
|
219
|
-
queuedAt: number;
|
|
220
|
-
}
|
|
221
|
-
/** Privacy settings */
|
|
222
|
-
export interface PrivacySettings {
|
|
223
|
-
analyticsEnabled: boolean;
|
|
224
|
-
errorReportingEnabled: boolean;
|
|
225
|
-
performanceTrackingEnabled: boolean;
|
|
226
|
-
personalDataEnabled: boolean;
|
|
227
|
-
consentTimestamp?: number;
|
|
228
|
-
consentVersion?: string;
|
|
229
|
-
}
|
|
230
|
-
/** Analytics event types */
|
|
231
|
-
export type AnalyticsEventType = 'event_tracked' | 'session_started' | 'session_ended' | 'session_resumed' | 'user_identified' | 'user_updated' | 'funnel_progressed' | 'funnel_completed' | 'funnel_abandoned' | 'experiment_assigned' | 'revenue_tracked' | 'error_reported' | 'performance_recorded' | 'queue_flushed' | 'privacy_changed';
|
|
232
|
-
/** Analytics system event */
|
|
233
|
-
export interface AnalyticsSystemEvent {
|
|
234
|
-
type: AnalyticsEventType;
|
|
235
|
-
timestamp: number;
|
|
236
|
-
eventId?: AnalyticsEventId;
|
|
237
|
-
sessionId?: SessionId;
|
|
238
|
-
userId?: AnalyticsUserId;
|
|
239
|
-
data?: unknown;
|
|
240
|
-
}
|
|
241
|
-
/** Analytics event callback */
|
|
242
|
-
export type AnalyticsEventCallback = (event: AnalyticsSystemEvent) => void;
|
|
243
|
-
/** Analytics configuration */
|
|
244
|
-
export interface AnalyticsConfig {
|
|
245
|
-
appId: string;
|
|
246
|
-
appVersion: string;
|
|
247
|
-
platform: string;
|
|
248
|
-
flushIntervalMs: number;
|
|
249
|
-
maxQueueSize: number;
|
|
250
|
-
maxRetries: number;
|
|
251
|
-
batchSize: number;
|
|
252
|
-
enableOfflineQueue: boolean;
|
|
253
|
-
enableAutoTracking: boolean;
|
|
254
|
-
enablePerformanceTracking: boolean;
|
|
255
|
-
enableErrorTracking: boolean;
|
|
256
|
-
performanceTrackingIntervalMs: number;
|
|
257
|
-
sessionTimeoutMs: number;
|
|
258
|
-
respectDoNotTrack: boolean;
|
|
259
|
-
anonymizeIp: boolean;
|
|
260
|
-
endpointUrl?: string;
|
|
261
|
-
}
|
|
262
|
-
/** Default configuration */
|
|
263
|
-
export declare const DEFAULT_ANALYTICS_CONFIG: AnalyticsConfig;
|
|
264
|
-
/**
|
|
265
|
-
* Game analytics and telemetry system
|
|
266
|
-
*/
|
|
267
|
-
export declare class NiceAnalytics extends EventEmitter {
|
|
268
|
-
private config;
|
|
269
|
-
private currentSession?;
|
|
270
|
-
private currentUser?;
|
|
271
|
-
private events;
|
|
272
|
-
private eventQueue;
|
|
273
|
-
private funnels;
|
|
274
|
-
private funnelProgress;
|
|
275
|
-
private experiments;
|
|
276
|
-
private assignments;
|
|
277
|
-
private errors;
|
|
278
|
-
private performanceHistory;
|
|
279
|
-
private privacySettings;
|
|
280
|
-
private deviceInfo;
|
|
281
|
-
private globalDimensions;
|
|
282
|
-
private sequenceCounter;
|
|
283
|
-
private flushInterval?;
|
|
284
|
-
private performanceInterval?;
|
|
285
|
-
private lastActivityTime;
|
|
286
|
-
private isOnline;
|
|
287
|
-
constructor(config?: Partial<AnalyticsConfig>);
|
|
288
|
-
/**
|
|
289
|
-
* Collect device information
|
|
290
|
-
*/
|
|
291
|
-
private collectDeviceInfo;
|
|
292
|
-
/**
|
|
293
|
-
* Detect device type
|
|
294
|
-
*/
|
|
295
|
-
private detectDeviceType;
|
|
296
|
-
/**
|
|
297
|
-
* Detect operating system
|
|
298
|
-
*/
|
|
299
|
-
private detectOS;
|
|
300
|
-
/**
|
|
301
|
-
* Check Do Not Track setting
|
|
302
|
-
*/
|
|
303
|
-
private checkDoNotTrack;
|
|
304
|
-
/**
|
|
305
|
-
* Generate unique ID
|
|
306
|
-
*/
|
|
307
|
-
private generateId;
|
|
308
|
-
/**
|
|
309
|
-
* Emit analytics event
|
|
310
|
-
*/
|
|
311
|
-
private emitEvent;
|
|
312
|
-
/**
|
|
313
|
-
* Start flush interval
|
|
314
|
-
*/
|
|
315
|
-
private startFlushInterval;
|
|
316
|
-
/**
|
|
317
|
-
* Start performance tracking
|
|
318
|
-
*/
|
|
319
|
-
private startPerformanceTracking;
|
|
320
|
-
/**
|
|
321
|
-
* Start new session
|
|
322
|
-
*/
|
|
323
|
-
startSession(entryPoint?: string): SessionId;
|
|
324
|
-
/**
|
|
325
|
-
* End current session
|
|
326
|
-
*/
|
|
327
|
-
endSession(exitPoint?: string): void;
|
|
328
|
-
/**
|
|
329
|
-
* Resume session after pause
|
|
330
|
-
*/
|
|
331
|
-
resumeSession(): void;
|
|
332
|
-
/**
|
|
333
|
-
* Get current session
|
|
334
|
-
*/
|
|
335
|
-
getCurrentSession(): AnalyticsSession | undefined;
|
|
336
|
-
/**
|
|
337
|
-
* Identify user
|
|
338
|
-
*/
|
|
339
|
-
identify(userId: AnalyticsUserId, properties?: Partial<UserProperties>): void;
|
|
340
|
-
/**
|
|
341
|
-
* Update user properties
|
|
342
|
-
*/
|
|
343
|
-
updateUser(properties: Partial<UserProperties>): void;
|
|
344
|
-
/**
|
|
345
|
-
* Set user property
|
|
346
|
-
*/
|
|
347
|
-
setUserProperty(key: string, value: DimensionValue): void;
|
|
348
|
-
/**
|
|
349
|
-
* Get current user
|
|
350
|
-
*/
|
|
351
|
-
getCurrentUser(): UserProperties | undefined;
|
|
352
|
-
/**
|
|
353
|
-
* Reset user (logout)
|
|
354
|
-
*/
|
|
355
|
-
resetUser(): void;
|
|
356
|
-
/**
|
|
357
|
-
* Track event
|
|
358
|
-
*/
|
|
359
|
-
track(name: string, category?: EventCategory, parameters?: Record<string, DimensionValue>, metrics?: Record<string, number>, priority?: EventPriority): AnalyticsEventId | undefined;
|
|
360
|
-
/**
|
|
361
|
-
* Track timed event start
|
|
362
|
-
*/
|
|
363
|
-
startTimedEvent(name: string, _category?: EventCategory): string;
|
|
364
|
-
/**
|
|
365
|
-
* Track timed event end
|
|
366
|
-
*/
|
|
367
|
-
endTimedEvent(timingId: string, name: string, category?: EventCategory, additionalParams?: Record<string, DimensionValue>): void;
|
|
368
|
-
/**
|
|
369
|
-
* Enqueue event for sending
|
|
370
|
-
*/
|
|
371
|
-
private enqueue;
|
|
372
|
-
/**
|
|
373
|
-
* Flush event queue
|
|
374
|
-
*/
|
|
375
|
-
flush(): Promise<void>;
|
|
376
|
-
/**
|
|
377
|
-
* Set global dimension
|
|
378
|
-
*/
|
|
379
|
-
setDimension(key: string, value: DimensionValue): void;
|
|
380
|
-
/**
|
|
381
|
-
* Remove global dimension
|
|
382
|
-
*/
|
|
383
|
-
removeDimension(key: string): void;
|
|
384
|
-
/**
|
|
385
|
-
* Get all dimensions
|
|
386
|
-
*/
|
|
387
|
-
getDimensions(): Record<string, DimensionValue>;
|
|
388
|
-
/**
|
|
389
|
-
* Set multiple dimensions
|
|
390
|
-
*/
|
|
391
|
-
setDimensions(dimensions: Record<string, DimensionValue>): void;
|
|
392
|
-
/**
|
|
393
|
-
* Define funnel
|
|
394
|
-
*/
|
|
395
|
-
defineFunnel(funnel: FunnelDefinition): void;
|
|
396
|
-
/**
|
|
397
|
-
* Check funnel progress
|
|
398
|
-
*/
|
|
399
|
-
private checkFunnels;
|
|
400
|
-
/**
|
|
401
|
-
* Get funnel progress
|
|
402
|
-
*/
|
|
403
|
-
getFunnelProgress(funnelId: string): FunnelProgress | undefined;
|
|
404
|
-
/**
|
|
405
|
-
* Reset funnel progress
|
|
406
|
-
*/
|
|
407
|
-
resetFunnelProgress(funnelId: string): void;
|
|
408
|
-
/**
|
|
409
|
-
* Register experiment
|
|
410
|
-
*/
|
|
411
|
-
registerExperiment(experiment: Experiment): void;
|
|
412
|
-
/**
|
|
413
|
-
* Get variant for experiment
|
|
414
|
-
*/
|
|
415
|
-
getVariant(experimentId: ExperimentId): ExperimentVariant | undefined;
|
|
416
|
-
/**
|
|
417
|
-
* Track experiment exposure
|
|
418
|
-
*/
|
|
419
|
-
trackExposure(experimentId: ExperimentId): void;
|
|
420
|
-
/**
|
|
421
|
-
* Track experiment conversion
|
|
422
|
-
*/
|
|
423
|
-
trackConversion(experimentId: ExperimentId, value?: number): void;
|
|
424
|
-
/**
|
|
425
|
-
* Track revenue
|
|
426
|
-
*/
|
|
427
|
-
trackRevenue(event: Omit<RevenueEvent, 'timestamp'>): void;
|
|
428
|
-
/**
|
|
429
|
-
* Track subscription
|
|
430
|
-
*/
|
|
431
|
-
trackSubscription(productId: string, action: 'start' | 'renew' | 'cancel', price?: number): void;
|
|
432
|
-
/**
|
|
433
|
-
* Track error
|
|
434
|
-
*/
|
|
435
|
-
trackError(message: string, stack?: string, context?: Record<string, unknown>, type?: 'error' | 'warning' | 'crash'): void;
|
|
436
|
-
/**
|
|
437
|
-
* Get error reports
|
|
438
|
-
*/
|
|
439
|
-
getErrors(): ErrorReport[];
|
|
440
|
-
/**
|
|
441
|
-
* Record performance metrics
|
|
442
|
-
*/
|
|
443
|
-
recordPerformance(metrics?: Partial<PerformanceMetrics>): void;
|
|
444
|
-
/**
|
|
445
|
-
* Get performance history
|
|
446
|
-
*/
|
|
447
|
-
getPerformanceHistory(): PerformanceMetrics[];
|
|
448
|
-
/**
|
|
449
|
-
* Get average performance
|
|
450
|
-
*/
|
|
451
|
-
getAveragePerformance(): PerformanceMetrics;
|
|
452
|
-
/**
|
|
453
|
-
* Set privacy settings
|
|
454
|
-
*/
|
|
455
|
-
setPrivacySettings(settings: Partial<PrivacySettings>): void;
|
|
456
|
-
/**
|
|
457
|
-
* Get privacy settings
|
|
458
|
-
*/
|
|
459
|
-
getPrivacySettings(): PrivacySettings;
|
|
460
|
-
/**
|
|
461
|
-
* Opt out of all tracking
|
|
462
|
-
*/
|
|
463
|
-
optOut(): void;
|
|
464
|
-
/**
|
|
465
|
-
* Opt in to tracking
|
|
466
|
-
*/
|
|
467
|
-
optIn(): void;
|
|
468
|
-
/**
|
|
469
|
-
* Get analytics summary
|
|
470
|
-
*/
|
|
471
|
-
getSummary(): AnalyticsSummary;
|
|
472
|
-
/**
|
|
473
|
-
* Export all data
|
|
474
|
-
*/
|
|
475
|
-
exportData(): object;
|
|
476
|
-
/**
|
|
477
|
-
* Clear all data
|
|
478
|
-
*/
|
|
479
|
-
clearData(): void;
|
|
480
|
-
/**
|
|
481
|
-
* Set online status
|
|
482
|
-
*/
|
|
483
|
-
setOnlineStatus(online: boolean): void;
|
|
484
|
-
/**
|
|
485
|
-
* Destroy analytics system
|
|
486
|
-
*/
|
|
487
|
-
destroy(): void;
|
|
488
|
-
}
|
|
489
|
-
/**
|
|
490
|
-
* Create analytics system instance
|
|
491
|
-
*/
|
|
492
|
-
export declare function createAnalyticsSystem(config?: Partial<AnalyticsConfig>): NiceAnalytics;
|
|
493
|
-
export default NiceAnalytics;
|