GlobalScope - High-Performance Analytics
GlobalScope is Globio's analytics service designed for games. Track millions of events with high-cardinality data at a fraction of the cost of traditional analytics platforms.
🚀 Quick Start
import { GlobalScope } from '@stanlink/globio/gaming'
const analytics = new GlobalScope({
apiKey: 'your-api-key',
projectId: 'your-project-id'
})
// Track a custom event
await analytics.trackEvent('level_completed', {
playerId: 'player123',
level: 5,
score: 9500,
timeToComplete: 180000, // 3 minutes
difficulty: 'normal',
deaths: 2
})📊 Event Tracking
Game Events
// Player progression
await analytics.trackProgression('player123', {
level: 10,
experience: 15000,
skillPoints: 25,
unlockedAchievements: ['first-boss', 'level-10']
})
// Combat events
await analytics.trackEvent('combat_encounter', {
playerId: 'player123',
enemyType: 'dragon',
outcome: 'victory',
duration: 45000,
damageDealt: 2500,
damageTaken: 800,
weaponUsed: 'legendary-sword'
})
// Economic events
await analytics.trackPurchase('player123', {
itemId: 'health-potion',
quantity: 5,
currency: 'gold',
amount: 50,
playerLevel: 8,
purchaseContext: 'pre-boss-fight'
})User Behavior
// Session tracking
await analytics.trackEvent('session_start', {
playerId: 'player123',
platform: 'mobile',
deviceType: 'iPhone 14',
connectionType: 'wifi',
gameVersion: '1.2.3'
})
// Feature usage
await analytics.trackEvent('feature_used', {
playerId: 'player123',
feature: 'inventory_management',
duration: 30000,
itemsManaged: 12,
context: 'post-level-completion'
})
// Social interactions
await analytics.trackEvent('social_interaction', {
playerId: 'player123',
interactionType: 'friend_request_sent',
targetPlayer: 'player456',
context: 'post-match'
})Performance Metrics
// Game performance
await analytics.trackEvent('performance_metric', {
playerId: 'player123',
metric: 'frame_rate',
value: 58.5,
level: 'forest-temple',
deviceSpecs: {
ram: '8GB',
gpu: 'A15 Bionic',
os: 'iOS 17.1'
}
})
// Load times
await analytics.trackEvent('load_time', {
screen: 'main_menu',
duration: 2500,
assetSize: '15MB',
cacheHit: true
})📈 Real-time Dashboards
Live Metrics
// Get real-time player count
const liveMetrics = await analytics.getLiveMetrics([
'active_players',
'concurrent_sessions',
'revenue_today'
])
console.log('Active players:', liveMetrics.active_players)
console.log('Revenue today:', liveMetrics.revenue_today)
// Subscribe to live updates
const unsubscribe = analytics.subscribeLiveMetrics(['active_players'], (metrics) => {
updateDashboard(metrics)
})Custom Dashboards
// Create custom dashboard
const dashboard = await analytics.createDashboard('Game Performance', {
widgets: [
{
type: 'line_chart',
title: 'Daily Active Users',
metric: 'daily_active_users',
timeRange: '30d'
},
{
type: 'funnel',
title: 'Player Progression',
steps: ['tutorial_start', 'tutorial_complete', 'level_1_complete', 'level_5_complete']
},
{
type: 'heatmap',
title: 'Level Difficulty',
xAxis: 'level_number',
yAxis: 'completion_rate'
}
]
})🎮 Gaming Analytics
Player Lifecycle
// Track player journey
const playerJourney = await analytics.getPlayerJourney('player123', {
timeRange: '7d',
events: [
'first_session',
'tutorial_complete',
'first_purchase',
'level_10_reached',
'friend_added',
'guild_joined'
]
})
console.log('Player milestones:', playerJourney.milestones)
console.log('Time between events:', playerJourney.timeBetweenEvents)Retention Analysis
// Analyze player retention
const retentionData = await analytics.getRetentionAnalysis({
cohortType: 'weekly',
startDate: '2024-01-01',
endDate: '2024-01-31',
segmentBy: ['acquisition_channel', 'player_level']
})
console.log('Day 1 retention:', retentionData.day1)
console.log('Day 7 retention:', retentionData.day7)
console.log('Day 30 retention:', retentionData.day30)A/B Test Analysis
// Analyze A/B test results
const abTestResults = await analytics.getABTestResults('new_ui_test', {
metrics: ['conversion_rate', 'session_length', 'retention_day7'],
segments: ['new_players', 'returning_players'],
confidenceLevel: 0.95
})
console.log('Test significance:', abTestResults.isSignificant)
console.log('Winner:', abTestResults.winner)
console.log('Improvement:', abTestResults.improvement)💰 Business Intelligence
Revenue Analytics
// Revenue breakdown
const revenueAnalysis = await analytics.getRevenueAnalysis({
timeRange: '30d',
groupBy: ['product_category', 'player_segment'],
metrics: ['total_revenue', 'arpu', 'arppu', 'conversion_rate']
})
console.log('Total revenue:', revenueAnalysis.total_revenue)
console.log('ARPU:', revenueAnalysis.arpu)
console.log('Top products:', revenueAnalysis.topProducts)Churn Analysis
// Identify churn patterns
const churnAnalysis = await analytics.getChurnAnalysis({
timeRange: '90d',
churnDefinition: 'no_activity_7d',
segments: ['free_players', 'paying_players'],
features: ['session_frequency', 'social_connections', 'progression_rate']
})
console.log('Churn rate:', churnAnalysis.churnRate)
console.log('Risk factors:', churnAnalysis.riskFactors)
console.log('Retention strategies:', churnAnalysis.recommendations)Next: Learn about GlobalSignal Notifications →