Platform Features

Each platform supports a different set of capabilities. Use feature detection to write widgets that adapt gracefully.

Checking Features

if (SBCanvas.platform.hasFeature('tips')) {
  SBCanvas.activities.on('tip', showTipAlert);
}

if (SBCanvas.platform.hasFeature('rants')) {
  SBCanvas.activities.on('rant', showRantAlert);
}
Or check the full array:
const features = SBCanvas.platform.features;
// ['emotes', 'badges', 'subscriptions', 'followers', 'raids', 'hosts', 'tips', 'clips']

Feature Matrix

FeatureKickRumbleBlaze
emotesYesYesYes
badgesYesYesYes
subscriptionsYesYesYes
followersYesYesYes
raidsYesYes
hostsYes
tipsYesYes
rantsYes
clipsYesYes
These are the exact feature strings returned by SBCanvas.platform.features.

Example: Conditional UI Sections

SBCanvas.ready(() => {
  if (!SBCanvas.platform.hasFeature('raids')) {
    document.getElementById('raid-section')?.remove();
  }

  if (!SBCanvas.platform.hasFeature('hosts')) {
    document.getElementById('host-section')?.remove();
  }

  if (!SBCanvas.platform.hasFeature('clips')) {
    document.getElementById('clip-button')?.remove();
  }
});

Example: Universal Monetization Handler

Tips (Kick/Blaze) and rants (Rumble) are both paid messages. Handle both:
SBCanvas.ready(() => {
  function showPaidMessage(activity) {
    const el = document.getElementById('paid-alert');
    el.querySelector('.name').textContent = activity.username;
    el.querySelector('.amount').textContent = `${activity.currency} ${activity.amount}`;
    el.querySelector('.msg').textContent = activity.message || '';
    el.classList.add('show');
    SBCanvas.setTimeout(() => el.classList.remove('show'), 8000);
  }

  if (SBCanvas.platform.hasFeature('tips')) {
    SBCanvas.activities.on('tip', showPaidMessage);
  }

  if (SBCanvas.platform.hasFeature('rants')) {
    SBCanvas.activities.on('rant', showPaidMessage);
  }
});

About Blaze

Blaze is a newer streaming platform focused on independent content creators. It supports core monetization (tips, subscriptions) and social features (emotes, badges, followers) but does not yet support raids, hosts, or clips.