sub.games

Events Reference

SDK events for reacting to login, tier changes, and pause state.

The Browser SDK emits events you can listen to for reacting to auth changes, tier upgrades, and pause state.

Listening to Events

sdk.on('eventName', handler);
sdk.off('eventName', handler);

Available Events

login

Fired when the player logs in (via popup or token restore).

sdk.on('login', () => {
  console.log('Player logged in');
  refreshPlayerUI();
});

logout

Fired when sdk.logout() is called.

sdk.on('logout', () => {
  console.log('Player logged out');
  resetToDefaultUI();
});

tierChange

Fired when the player's tier changes (typically after subscribing). Receives the new tier as an argument.

sdk.on('tierChange', (newTier) => {
  console.log('Tier changed to:', newTier);
  // newTier: 'none' | 'free' | 'supporter' | 'founder'

  if (newTier === 'supporter' || newTier === 'founder') {
    unlockPaidContent();
  }
});

pause

Fired when the SDK pauses the game (e.g., opening a login or subscribe popup).

sdk.on('pause', () => {
  game.loop.stop();
  audio.mute();
});

unpause

Fired when the SDK unpauses the game (popup closed).

sdk.on('unpause', () => {
  game.loop.start();
  audio.unmute();
});

Event Summary

EventCallback SignatureWhen
login() => voidPlayer logged in
logout() => voidPlayer logged out
tierChange(tier: PlayerTier) => voidSubscription tier changed
pause() => voidGame paused by SDK
unpause() => voidGame unpaused by SDK

Common Patterns

Pause-Aware Game Loop

// Phaser example
sdk.on('pause', () => scene.scene.pause());
sdk.on('unpause', () => scene.scene.resume());

Unlocking Content After Subscribe

sdk.on('tierChange', (tier) => {
  const rank = { none: 0, free: 1, supporter: 2, founder: 3 };
  if (rank[tier] >= rank['supporter']) {
    showSupporterBadge();
    enableBonusLevels();
  }
});

On this page