@web-engine-dev/analytics-platform
Platform-wide analytics for web-engine-dev. Provides game analytics, creator dashboards, platform health metrics, funnel analysis, retention tracking, and A/B testing.
Features
- Game Analytics: Player behavior tracking
- Creator Dashboards: Revenue and engagement metrics
- Health Metrics: Platform performance monitoring
- Funnel Analysis: Conversion tracking
- Retention Tracking: DAU/MAU, cohort analysis
- A/B Testing: Experiment framework
Installation
bash
npm install @web-engine-dev/analytics-platform
# or
pnpm add @web-engine-dev/analytics-platformQuick Start
typescript
import { AnalyticsPlatform, GameAnalytics } from '@web-engine-dev/analytics-platform';
// Initialize
const analytics = new AnalyticsPlatform({
apiKey: 'your-api-key',
gameId: 'my-game',
});
// Track events
analytics.trackEvent('level_complete', {
level: 5,
time: 120,
score: 5000,
});
// Track purchases
analytics.trackPurchase('premium_skin', 4.99, 'USD');
// Track progression
analytics.trackProgression('start', 'world1', 'level3');
analytics.trackProgression('complete', 'world1', 'level3');API Overview
Event Tracking
typescript
// Custom events
analytics.trackEvent('button_click', { button: 'play' });
// Progression events
analytics.trackProgression('start', 'campaign', 'level1');
analytics.trackProgression('fail', 'campaign', 'level1');
analytics.trackProgression('complete', 'campaign', 'level1');
// Resource events
analytics.trackResource('sink', 'gold', 100, 'shop', 'sword');
analytics.trackResource('source', 'gold', 50, 'reward', 'chest');Retention
typescript
// Session tracking
analytics.startSession();
analytics.endSession();
// Get retention metrics
const metrics = await analytics.getRetentionMetrics();
console.log(metrics.day1Retention);
console.log(metrics.day7Retention);
console.log(metrics.day30Retention);A/B Testing
typescript
const variant = await analytics.getExperimentVariant('new_tutorial');
if (variant === 'control') {
showOldTutorial();
} else {
showNewTutorial();
}
// Track conversion
analytics.trackExperimentConversion('new_tutorial');Creator Dashboard
typescript
const dashboard = analytics.creatorDashboard;
const stats = await dashboard.getStats({
period: 'last_30_days',
});
console.log(stats.totalPlays);
console.log(stats.uniquePlayers);
console.log(stats.revenue);
console.log(stats.avgSessionLength);