Skip to Content
Swift SDKGetting Started

Getting Started

Vio brings live engagement to sports streaming — polls, contests, and shoppable products that appear in sync with the broadcast. This guide walks you through a full integration.

Prerequisites

  • Xcode 15+ and Swift 5.9+
  • iOS 15+ deployment target
  • A Vio Dashboard account — contact vio.live  to get access

How Vio Works

Dashboard (you configure) SDK (auto-handles) ───────────────────────── ────────────────── Campaign → Broadcast discoverCampaigns() ├── externalId (contentId) → setBroadcastContext(contentId) ├── Polls (scheduled) → WebSocket → EngagementManager ├── Contests → polls/contests appear automatically └── Sponsor (logo, color) → SponsorAssets applied globally

Dashboard Setup

Before writing any code, set up your broadcast in the Vio Dashboard :

1. Create a Campaign

Go to Campaigns → New Campaign. This groups your broadcasts under a sponsor (e.g. Elkjøp, Viaplay).

2. Create a Broadcast

Go to Broadcasts → New Broadcast:

  • Select the match via the Sportmonks match picker (auto-fills logos, teams, fixture data)
  • The externalId is set automatically from the match picker — this is the contentId your app sends to the SDK
  • Assign it to your campaign

3. Add Engagement

Inside the broadcast:

  • Polls — create polls with options, set the trigger minute
  • Contests — create contests with image and prize text
  • Sponsor Slots — link products to specific minutes

4. Get your API Key

Go to Apps in the Dashboard and copy your API key. Use this in VioSDK.configure(apiKey:).


Module Overview

ModuleDescription
VioCoreRequired — Configuration, CampaignManager, models
VioUISwiftUI product components (carousel, detail, cart)
VioDesignSystemDesign tokens — colors, spacing, typography
VioEngagementSystemPolls, contests, WebSocket engagement logic
VioEngagementUIEngagement SwiftUI components
VioCastingUIOverlays for live sports: timeline, sponsor badge, cards

Next Steps

  1. Install the SDK — Add the package
  2. Quick Start — Connect the SDK in minutes
  3. Zero-Config SDK — Full initialization reference
Last updated on