Skip to content

@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-platform

Quick 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);

Proprietary software. All rights reserved.