# StreamLayer Documentation > Documentation for StreamLayer ## Guides: Welcome to StreamLayer - [Introduction](https://docs.streamlayer.io/docs/getting-started.md): StreamLayer transforms video streaming into interactive, advertising-driven experiences. SDK overview for iOS, Android, React Native, Web, tvOS, and Connected TV. - [Integrate with an AI Agent](https://docs.streamlayer.io/docs/integrate-with-an-ai-agent.md): Use the streamlayer-docs MCP and your platform's integration skill to have an AI coding agent integrate any StreamLayer SDK with small, reviewable diffs. - [Platform Overview](https://docs.streamlayer.io/docs/network-overview.md): Technical overview of the StreamLayer platform architecture including the Client SDK, Backend Services, and StreamLayer Studio. - [Feature Overview](https://docs.streamlayer.io/docs/overlays.md): Overview of all StreamLayer interactive features and advertising units including ads, gamification, chat, stats, and more. - [Live Nonlinear Advertising](https://docs.streamlayer.io/docs/nonlinear-advertising.md): Understand live nonlinear ad formats and choose the StreamLayer integration guide for your CTV, mobile, or web application. - [Pause Ads](https://docs.streamlayer.io/docs/pause-ads.md): StreamLayer Pause Ads display interactive brand ads when viewers pause live or on-demand content on CTV, mobile, tablet, and web. - [In-App Notifications](https://docs.streamlayer.io/docs/in-app-notifications.md): StreamLayer's in-app notification system delivers contextual alerts for messages, game events, polls, trivia, tweets, and insights during live content. - [Launch Button and Submenu](https://docs.streamlayer.io/docs/launch-button-and-submenu.md): StreamLayer's Launch Button provides quick access to all interactive features through a floating, expandable submenu that adapts to landscape and portrait layouts. - [Feature Sponsorship](https://docs.streamlayer.io/docs/advertising.md): Attach brand sponsors to StreamLayer interactive features through interstitial ads, footer branding, and gamification sponsorship. - [Free-To-Play Games](https://docs.streamlayer.io/docs/polls-trivia-and-prediction-games.md): StreamLayer's gamification platform offers polls, trivia, and prediction questions synced to live video with points, leaderboards, and peer-to-peer invites. - [Insights](https://docs.streamlayer.io/docs/highlights.md): StreamLayer Insights deliver real-time stat updates, factoids, betting line changes, and highlights to viewers as interactive notifications during live content. - [Live Odds](https://docs.streamlayer.io/docs/live-odds.md): StreamLayer Live Odds integrate real-time sportsbook odds into the viewing experience with betslip building and seamless sportsbook handoff. - [Live Stats](https://docs.streamlayer.io/docs/statistics.md): StreamLayer Live Stats provide in-stream access to game summaries, player stats, and performance tracking synced to the video timeline. - [Public Chat](https://docs.streamlayer.io/docs/public-chat.md): StreamLayer Public Chat provides authenticated live messaging for events with threads, reactions, link previews, and customizable themes. - [Messaging](https://docs.streamlayer.io/docs/messaging-new.md): StreamLayer Messaging enables private 1-on-1 and group conversations within the video experience. - [Social Highlights](https://docs.streamlayer.io/docs/twitter.md): StreamLayer Social Highlights bring a live, curated social feed from configured X (Twitter) accounts and hashtags directly into the viewing experience. - [User Profile](https://docs.streamlayer.io/docs/user-profile.md): StreamLayer User Profiles provide viewer identity, notification preferences, and activity tracking across all interactive features. - [FAQ](https://docs.streamlayer.io/docs/faq.md): Answers to common questions about StreamLayer SDK integration, platform support, data feeds, and push notifications. ## Guides: tvOS - [Getting Started](https://docs.streamlayer.io/docs/streamlayer-tv-os-documentation.md): Integrate StreamLayer into tvOS apps with Swift Package Manager, including CocoaPods-based workspaces. Covers system requirements, SDK initialization, and delegate setup for Apple TV. - [tvOS Integration Skill](https://docs.streamlayer.io/docs/tvos-integration-skill.md): Integration conventions for the StreamLayer tvOS SDK that keep an AI agent's diff small and correct — where to initialize, the tvOS-specific createOverlay, delegate wiring, focus/remote, and ad… - [Exposed Ads](https://docs.streamlayer.io/docs/tvos-exposed-ads.md): Display host-driven exposed ad units on tvOS on demand — full-bleed, sidebar, PIP, side-by-side, sponsor frame, transparent, and VAST — with step-by-step Swift examples. - [Pause Advertising](https://docs.streamlayer.io/docs/ad-break.md): Display pause ads when the viewer pauses playback on tvOS using startADBreak and stopADBreak, with optional delayed display via DispatchWorkItem. - [Paused Ads on tvOS](https://docs.streamlayer.io/docs/custom-paused-ads.md): Let StreamLayer deliver a paused ad automatically on each ad break on tvOS — sourced from Studio or Prebid — by signalling pause/resume and selecting the delivery source. ## Guides: GoogleTV : AndroidTV - [Getting Started](https://docs.streamlayer.io/docs/android-tv.md): ‘Integrate StreamLayer into GoogleTV and AndroidTV apps with Maven installation, SDK initialization, theme customization, and screen offset delegate setup.’ - [Android TV Integration Skill](https://docs.streamlayer.io/docs/android-tv-integration-skill.md): Integration conventions for the StreamLayer GoogleTV/AndroidTV SDK that keep an AI agent's diff small and correct — shared setup with Android, screen offset delegate, focus/remote, and Leanback… ## Guides: Web SDK for TV Platforms - [Getting Started](https://docs.streamlayer.io/docs/web-sdk-tv.md): Overview of the StreamLayer Web SDK for TV platforms. Covers supported platforms (WebOS, Tizen, VIDAA, Xbox), quick-start path, and key features. - [Integration Guide](https://docs.streamlayer.io/docs/web-sdk-tv-integration-guide.md): Step-by-step TV SDK integration covering @streamlayer/web-os installation, StreamLayerProvider setup, and StreamLayerSDKTv component placement. - [Exposed Pause Ad](https://docs.streamlayer.io/docs/web-sdk-tv-exposed-pause-ad.md): The Pause Ad Integration enables high-impact, non-intrusive advertising within the StreamLayer TV SDK. When a user pauses a video, the SDK handles the asynchronous loading and rendering of a… - [Split Components](https://docs.streamlayer.io/docs/web-sdk-tv-split-components.md): Use StreamLayerSDKTvContent and StreamLayerSDKTvPauseAd for full control over SDK UI element placement. Place sidebars, notifications, banners, and pause ads independently within your own layout… ## Guides: WebOS - [Getting Started](https://docs.streamlayer.io/docs/web-sdk-tv-webos-getting-started.md): Integrate StreamLayer into LG WebOS TV apps using the @streamlayer/web-os React SDK with installation, quick start, and platform-specific notes. ## Guides: TizenTV - [Getting Started](https://docs.streamlayer.io/docs/web-sdk-tv-tizentv-getting-started.md): Integrate StreamLayer into Samsung Tizen TV apps using the @streamlayer/web-os React SDK with installation, quick start, and platform-specific notes. ## Guides: Hisense VIDAAOS - [Getting Started](https://docs.streamlayer.io/docs/web-sdk-tv-vidaaos-getting-started.md): Integrate StreamLayer into Hisense VIDAA OS TV apps using the @streamlayer/web-os React SDK with installation, quick start, and platform-specific notes. ## Guides: Xbox - [Getting Started](https://docs.streamlayer.io/docs/web-sdk-tv-xbox-getting-started.md): Integrate StreamLayer into Xbox TV apps using the @streamlayer/web-os React SDK with installation, quick start, and platform-specific notes. ## Guides: ROKU SDK - [Getting Started](https://docs.streamlayer.io/docs/getting-started-roku.md): Orientation path for the StreamLayer Roku SDK: platform overview, architecture, integration guide, and API reference. - [Roku SDK Overview & Prerequisites](https://docs.streamlayer.io/docs/roku-integration-guide.md): Get your environment ready to work with the StreamLayer Roku SDK. This page covers system requirements, API key setup, and what you need before moving to integration. - [Roku Integration Skill](https://docs.streamlayer.io/docs/roku-integration-skill.md): Integration conventions for the StreamLayer Roku SDK that keep an AI agent's diff small and correct — copy in the SLSDK module, place one SLView over your Video, initialize with apiKey + sdkUri,… - [Roku SceneGraph Integration Guide](https://docs.streamlayer.io/docs/integration-example-roku.md): Integrate the StreamLayer Roku SDK into a SceneGraph app with initialization, video player attachment, event sessions, pause ads, overlay visibility, and focus handling. - [Pause Ads (VAST)](https://docs.streamlayer.io/docs/pause-ads-vast-roku.md): Render VAST-delivered Pause Ads on Roku when a viewer pauses playback, including trigger behavior, delay, and resume handling. - [Roku SDK Error Reference](https://docs.streamlayer.io/docs/roku_error-reference.md): Error and warning messages emitted by the StreamLayer Roku SDK, what causes each one, and how to fix it. - [Roku SDK API Reference](https://docs.streamlayer.io/docs/roku_api-reference.md): Complete reference for the public methods and observable fields exposed by the StreamLayer Roku SDK node. - [Roku SDK Changelog](https://docs.streamlayer.io/docs/roku_changelog.md): Version history for the StreamLayer Roku SDK. What's new, changed, and fixed in each release, most recent first. ## Guides: iOS SDK - [Getting Started](https://docs.streamlayer.io/docs/ios_introduction.md): Get started with the StreamLayer iOS SDK. Install, configure, and integrate interactive features into your iOS app. - [Integration Guide](https://docs.streamlayer.io/docs/integration-guide-ios.md): Step-by-step guide to integrating the StreamLayer iOS SDK. Covers installation via Swift Package Manager, SDK API Key setup, StreamLayer Element placement, plugins, delegate methods, and… - [iOS Integration Skill](https://docs.streamlayer.io/docs/ios-sdk-integration-skill.md): Integration conventions for the StreamLayer iOS SDK that keep an AI agent's diff small and correct — where to initialize, where to create the overlay, delegate wiring, and minimal-diff placement. - [Test Integration: Advertising](https://docs.streamlayer.io/docs/test-integration-advertising-ios.md): Quick-start test integration for StreamLayer advertising on iOS. Deploy contextual ad units tied to live events or on a fixed schedule with notification, overlay, and L-bar formats. - [Exposed Ads](https://docs.streamlayer.io/docs/ios_exposed-ads.md): Display host-driven exposed ad units on iOS on demand — overlay, sidebar, image-only, PIP, side-by-side, sponsor frame, full-screen, transparent, and VAST — with step-by-step Swift examples. - [Pause Ads on iOS](https://docs.streamlayer.io/docs/custom-paused-ads-1.md): Show an ad when the viewer pauses on iOS by triggering an Exposed Ad from your player's pause handler, with a delay to filter accidental pauses. - [Sample Integrations](https://docs.streamlayer.io/docs/ios_sample-integrations.md): Run the StreamLayer iOS SDK sample app to see a working integration with a basic video player and channel switching. - [Constraints Guide](https://docs.streamlayer.io/docs/ios_constraints-guide.md): Position the StreamLayer Element within your iOS app's view hierarchy and handle orientation changes. - [Spoiler Prevention](https://docs.streamlayer.io/docs/ios_spoiler-prevention.md): Sync StreamLayer ad and game units with timestamped video to provide a spoiler-free experience on iOS. - [Launch Button and Submenu](https://docs.streamlayer.io/docs/ios_sdk-managing-the-streamlayer-submenu.md): Control the StreamLayer Launch Button and submenu behavior in your iOS app, including always-open mode and visibility toggling. - [StreamLayer Element Visibility Guide](https://docs.streamlayer.io/docs/ios_overlay-visibility-guide.md): Respond to StreamLayer Element visibility changes in your iOS app to adjust your UI accordingly. - [Authentication Forwarding](https://docs.streamlayer.io/docs/ios_authentication-forwarding.md): Forward your host app's authentication token to the StreamLayer SDK so users authenticate once. - [Contact Syncing Guide](https://docs.streamlayer.io/docs/ios_contact-syncing-guide.md): Control whether the StreamLayer iOS SDK accesses the user's device contacts for social features. - [Permissions Plugin Guide](https://docs.streamlayer.io/docs/ios_permissions-plugin-guide.md): StreamLayer documentation for Permissions Plugin Guide. - [Public Chat Plugin Guide](https://docs.streamlayer.io/docs/ios_public-chat-plugin-guide.md): Install and register the Public Chat plugin to enable channel-based chat inside the StreamLayer Element. - [Silent Mode Guide](https://docs.streamlayer.io/docs/ios_silent-mode-guide.md): Configure which in-app notifications the StreamLayer iOS SDK displays, or disable all notifications with Silent Mode. - [Classes](https://docs.streamlayer.io/docs/ios_streamlayer.md): Reference for all public classes in the StreamLayer iOS SDK. - [Enumerations](https://docs.streamlayer.io/docs/ios_slr-audio-session-type.md): Reference for all enumerations defined in the StreamLayer iOS SDK. - [Protocols](https://docs.streamlayer.io/docs/ios_slr-overlay-delegate.md): Reference for all protocols in the StreamLayer iOS SDK, including SLROverlayDelegate and SLROverlayDataSource. - [Customization](https://docs.streamlayer.io/docs/customization-1.md): Customize the StreamLayer iOS SDK appearance and behavior including themes, custom overlays, text messages, and layout adjustments. - [Customizing Themes](https://docs.streamlayer.io/docs/customizing-themes.md): Override the StreamLayer iOS SDK's default colors and fonts to match your app's branding. - [Custom StreamLayer Elements Guide](https://docs.streamlayer.io/docs/ios_custom-overlays.md): Add your own custom content as a menu item in the StreamLayer submenu on iOS. - [Customize Text Messages](https://docs.streamlayer.io/docs/ios_customize-text-messages.md): Personalize the invite and wave messages that the StreamLayer iOS SDK sends on behalf of your users. - [Avoid Tab Bar Overlap](https://docs.streamlayer.io/docs/ios_tabbar-host-guide.md): Prevent the StreamLayer Launch Button from overlapping your UITabBar by adding a bottom offset to the overlay container. - [Always Open Submenu Visibility Guide](https://docs.streamlayer.io/docs/ios_alwaysopen.md): Keep the StreamLayer submenu permanently visible in portrait orientation on iOS. - [Fake Fullscreen Implementation Guide](https://docs.streamlayer.io/docs/fake-fullscreen-implementation-guide.md): StreamLayer documentation for Fake Fullscreen Implementation Guide. - [API Reference](https://docs.streamlayer.io/docs/api-reference-1.md): StreamLayer documentation for API Reference. - [Error Reference](https://docs.streamlayer.io/docs/error-reference.md): StreamLayer documentation for Error Reference. - [Changelog](https://docs.streamlayer.io/docs/changelog.md): StreamLayer documentation for Changelog. - [Permission Delegate Guide](https://docs.streamlayer.io/docs/permission-delegate-guide.md): StreamLayer documentation for Permission Delegate Guide. - [Fullscreen Implementation Guide](https://docs.streamlayer.io/docs/ios_fullscreen-guide.md): Why native fullscreen prevents StreamLayer formats and how to implement app-managed fullscreen for full SDK functionality. - [Quickstart](https://docs.streamlayer.io/docs/ios_quickstart.md): Follow the iOS integration path and validate a StreamLayer test ad in your existing app. - [Troubleshooting](https://docs.streamlayer.io/docs/ios_troubleshooting.md): Resolve common iOS SDK integration issues and errors ## Guides: Android SDK - [Getting Started](https://docs.streamlayer.io/docs/android_introduction.md): Get started with the StreamLayer Android SDK. Install, configure, and integrate interactive features into your Android app. - [Integration Guide](https://docs.streamlayer.io/docs/android_integration-guide.md): Step-by-step guide to integrating the StreamLayer Android SDK. Covers installation via Maven, SDK API Key setup, StreamLayer Element placement, event sessions, audio management, and push… - [Android Integration Skill](https://docs.streamlayer.io/docs/android-sdk-integration-skill.md): Integration conventions for the StreamLayer Android SDK that keep an AI agent's diff small and correct — where to initialize, where to place StreamLayerFragment, delegate wiring, and minimal-diff… - [Test Integration: Advertising](https://docs.streamlayer.io/docs/test-integration-ads-only-android.md): Quick-start test integration for StreamLayer advertising on Android. Deploy contextual ad units tied to live events or on a fixed schedule with notification, overlay, and L-bar formats. - [Sample Integrations](https://docs.streamlayer.io/docs/android_sample-integrations.md): Explore the StreamLayer Android SDK demo app. Clone the sample project, configure your SDK API Key, and run a working integration on your device. - [Layout Guide](https://docs.streamlayer.io/docs/android_layout-guide.md): Configure portrait and landscape layouts for the StreamLayer Android SDK. Learn how to position the StreamLayer Element using ConstraintLayout, configure overlay height, and set up L-bar and sidebar… - [Spoiler Prevention](https://docs.streamlayer.io/docs/android_spoiler-prevention.md): Sync social content with live video playback to prevent spoilers in the StreamLayer Android SDK. Implement SLRTimeCodeProvider to keep the Highlights unit aligned with the user's stream position. - [Launch Button Visibility](https://docs.streamlayer.io/docs/android_sdk-launch-button-visibility-handling-guide.md): Control Launch Button visibility in the StreamLayer Android SDK. Set SLRAppHost.isLaunchButtonEnabled to show or hide the button when displaying player controls or other UI elements. - [Video Management](https://docs.streamlayer.io/docs/android_video-management.md): Configure video playback support for the StreamLayer Android SDK. Use built-in Media3 or ExoPlayer extensions, or implement the SLRVideoPlayerProvider interface for custom players. - [Authentication Forwarding](https://docs.streamlayer.io/docs/android_authentication-forwarding.md): Configure user authentication for the StreamLayer Android SDK. Choose from bypass, phone, or anonymous authentication methods to enable interactive features like polls and chat. - [Logging Interface](https://docs.streamlayer.io/docs/android_logging-interface.md): Configure SDK logging in the StreamLayer Android SDK. Implement SLRLogListener to capture log messages at different severity levels, and disable internal Logcat output. - [Contact Syncing Guide](https://docs.streamlayer.io/docs/android_managing-phone-contacts.md): Control phone contact syncing and permissions in the StreamLayer Android SDK. Use StreamLayer.setPhoneContactsOptions() to manage contact UI and backend sync behavior. - [API Reference](https://docs.streamlayer.io/docs/android_streamlayer-class.md): Full API reference documentation for the StreamLayer Android SDK. Browse all public classes, interfaces, and methods. - [Error Reference](https://docs.streamlayer.io/docs/android_error-reference.md): Errors thrown by the StreamLayer Android SDK, their causes, and how to fix them. Covers SLRException codes, log severity levels, and common runtime failures. - [Migration Guide](https://docs.streamlayer.io/docs/android_migration-guide.md): Upgrade the StreamLayer Android SDK between versions. What changed, what breaks, and the code you need to update, with before/after examples. - [Changelog](https://docs.streamlayer.io/docs/android_changelog.md): Version history for the StreamLayer Android SDK. What's added, changed, fixed, and deprecated in each release, most recent first. - [Features Integration](https://docs.streamlayer.io/docs/features-integration.md): Add optional feature modules to the StreamLayer Android SDK. Set up Google PAL advertising and anonymous user authentication with dedicated Gradle dependencies. - [Customization](https://docs.streamlayer.io/docs/customization.md): Customize the StreamLayer Android SDK appearance and behavior. Guides for theming, UI options, custom menu items, notifications, and text messages. - [Customizing Themes](https://docs.streamlayer.io/docs/android_customizing-themes.md): Override SDK theme attributes to match your brand. Customize colors, fonts, icons, and styles across the Base, Main, Profile, Invite, Predictions, Statistics, and Messenger themes. - [Custom Menu Items](https://docs.streamlayer.io/docs/android_custom-overlays-guide.md): Add custom menu items to the StreamLayer Element on Android. Use SLRCustomOverlay to register custom fragments in the StreamLayer menu with configurable position and visibility. - [Custom Notifications Guide](https://docs.streamlayer.io/docs/android_custom-notifications-guide.md): Send custom in-app notifications in the StreamLayer Android SDK. Use SLRCustomNotification to create and display custom notification layouts with configurable icons, titles, and navigation… - [Customize Text Messages](https://docs.streamlayer.io/docs/android_customize-text-messages.md): Override default invite and wave messages in the StreamLayer Android SDK. Customize share, invite, and wave text using Android string resources with dynamic app name and deep link placeholders. - [UI Options Guide](https://docs.streamlayer.io/docs/android_ui-options-guide.md): Configure the StreamLayer Element at runtime with SLRAppHost. Control Launch Button visibility, notification modes, tooltip behavior, and more. - [Exposed Ad](https://docs.streamlayer.io/docs/exposed-ad.md): StreamLayer documentation for Exposed Ad. - [Fullscreen Implementation Guide](https://docs.streamlayer.io/docs/android_fullscreen-guide.md): How immersive mode works with the StreamLayer SDK and what to watch for when implementing fullscreen on Android. - [Quickstart](https://docs.streamlayer.io/docs/android_quickstart.md): Follow the Android integration path and validate a StreamLayer test ad in your existing app. - [Troubleshooting](https://docs.streamlayer.io/docs/android_troubleshooting.md): Resolve common Android SDK integration issues and errors ## Guides: React Native SDK - [Getting Started](https://docs.streamlayer.io/docs/react-native-introduction.md): Get started with the StreamLayer React Native SDK. Install, configure, and integrate interactive features into your React Native or Expo app. - [React Native Integration Skill](https://docs.streamlayer.io/docs/react-native-integration-skill.md): Integration conventions for the StreamLayer React Native SDK that keep an AI agent's diff small and correct — where to initialize, where to render StreamLayerView, callback wiring, auth forwarding,… - [Test Integration: Advertising (React Native)](https://docs.streamlayer.io/docs/test-integration-ads-only-rn.md): Quick-start test integration for StreamLayer advertising on React Native. Deploy contextual ad units tied to live events or on a fixed schedule with notification, overlay, and L-bar formats. - [Sample Integrations](https://docs.streamlayer.io/docs/react-native-sample-integrations.md): Run the StreamLayer React Native SDK sample apps to explore core features including video playback, channel switching, and the StreamLayer Element with a minimal working integration. - [React Native & Expo Integration Guide](https://docs.streamlayer.io/docs/react-native-expo-new-architecture-guide.md): ‘Integration guide for the StreamLayer SDK using the new React Native architecture (RN 0.76+, Expo SDK 52+). Covers installation, native configuration, SDK initialization, authentication, and the… - [Test Integration: Ads + Inplay Game (React Native)](https://docs.streamlayer.io/docs/test-integration-ads-inplay-game-rn.md): Quick-start test integration combining StreamLayer advertising and gamification on React Native. Deploy contextual ads alongside interactive polls, trivia, predictions, and Highlights content with… - [Authentication Forwarding](https://docs.streamlayer.io/docs/authentication-forwarding-rn.md): Forward your app's existing authentication to the StreamLayer SDK, use anonymous auth for apps without login, or manage the SDK auth state programmatically. - [Invites Guide: React Native](https://docs.streamlayer.io/docs/react-native-invites-guide.md): Configure Branch.io deep linking for StreamLayer invites in bare React Native projects. Covers native setup for Android and iOS, React Navigation routing, and the Branch event listener for handling… - [Invites Guide: Expo](https://docs.streamlayer.io/docs/invites-guide-expo.md): Configure Branch.io deep linking for StreamLayer invites in your Expo project. Covers native setup for Android and iOS, Expo navigation routing for incoming links, and the Branch event listener. - [API Reference](https://docs.streamlayer.io/docs/api-reference.md): Complete API reference for the StreamLayer React Native SDK including TypeScript interfaces, enums, the StreamLayer class, StreamLayerView component props, and a full integration usage example. - [Fullscreen Implementation Guide](https://docs.streamlayer.io/docs/react-native-fullscreen-guide.md): How to implement app-managed fullscreen in React Native for full StreamLayer SDK format support on iOS and Android. - [Troubleshooting](https://docs.streamlayer.io/docs/react-native-troubleshooting.md): Resolve common React Native SDK integration issues and build errors ## Guides: WEB SDK - [Getting Started](https://docs.streamlayer.io/docs/web-sdk-getting-started.md): Get started with the StreamLayer Web SDK. Install, configure, and integrate interactive features into your web application. - [Quickstart](https://docs.streamlayer.io/docs/web-sdk-quickstart.md): Follow the Web integration path and validate a StreamLayer test ad in your existing app. - [Advertising](https://docs.streamlayer.io/docs/web-sdk-advertisement.md): Render interactive ad cards in sidebar, banner, and overlay formats using the StreamLayerSDKAdvertisement component. Supports notifications, auto-close, mobile layouts, and activation callbacks. - [Integration Guide](https://docs.streamlayer.io/docs/integration-guide-web.md): Step-by-step Web SDK integration covering installation, style loading, StreamLayerProvider setup, component placement, and React hook usage. - [Web/TV Integration Skill](https://docs.streamlayer.io/docs/web-sdk-integration-skill.md): Integration conventions for the StreamLayer Web/TV React SDK that keep an AI agent's diff small and correct — provider placement, memoized props, and minimal-diff wiring. - [Sample Integrations](https://docs.streamlayer.io/docs/sample-integrations.md): Fully functional reference projects and demo applications for the StreamLayer Web SDK. Clone, configure, and run a working integration to explore SDK features. - [Test Integration: Ads + Inplay Game](https://docs.streamlayer.io/docs/test-integration-ads-inplay-game-web.md): Validate your StreamLayer Web SDK setup with advertising and in-play game features. Covers automatic and manual ad control, L-bar and overlay formats, and notification rendering. - [Authentication Forwarding](https://docs.streamlayer.io/docs/web-sdk-authentication.md): Forward existing user credentials to the StreamLayer SDK with StreamLayerLogin, or enable anonymous access with the anonymous-auth plugin. - [Deep Linking Guide](https://docs.streamlayer.io/docs/web-sdk-deep-links.md): Handle deep link behavior in your web application. Process invite links, manage authentication, and redirect users to the correct SDK event using the onDeepLinkHandled callback. - [Gamification Points](https://docs.streamlayer.io/docs/web-sdk-gamification-points.md): Integrate the StreamLayerSDKPoints component to display gamification points in your React application, rewarding user engagement with interactive content. - [Exposed Pause Ad](https://docs.streamlayer.io/docs/web-sdk-exposed-pause-ad.md): The Pause Ad integration enables high-impact, non-intrusive advertising within the StreamLayer Web SDK. When a user pauses a video, the SDK handles the asynchronous loading and rendering of a… - [External VAST Ads](https://docs.streamlayer.io/docs/web-sdk-external-ad.md): Render your own VAST tag through the StreamLayer Element with the externalAdData prop, in side-by-side, sidebar, or L-bar format. - [Video Controller](https://docs.streamlayer.io/docs/web-sdk-video-controller.md): Control video player volume during SDK events with the videoPlayerController callback. Mute the main video during ad playback and restore volume afterward. - [Theme](https://docs.streamlayer.io/docs/web-sdk-theme.md): The `StreamLayerSDK` components can be customized to match your application's theme. You can override the default styles by providing a custom theme class name where you redefine the allowed… - [Using StreamLayer Context](https://docs.streamlayer.io/docs/web-sdk-streamlayer-context.md): Access the StreamLayer SDK core context via the useStreamLayer React hook to call SDK methods programmatically. - [StreamLayerSDKReact](https://docs.streamlayer.io/docs/web-sdk-streamlayer-react.md): The StreamLayerSDKReact component provides the main interactive gamification UI, including free-to-play games and insight cards. - [Insight](https://docs.streamlayer.io/docs/web-sdk-insight.md): The StreamLayerSDKInsight component renders insight cards in your application, displaying real-time contextual content triggered by live events. - [Notification](https://docs.streamlayer.io/docs/web-sdk-notification.md): The StreamLayerSDKNotification component displays notification cards beneath the video player, alerting viewers to new interactive content. - [Using StreamLayer UI Context](https://docs.streamlayer.io/docs/web-sdk-streamlayer-ui-context.md): Access StreamLayer UI state flags via the useStreamLayerUI React hook to control component visibility in your application. - [Fullscreen Implementation Guide](https://docs.streamlayer.io/docs/web-sdk-fullscreen-guide.md): Why the browser Fullscreen API prevents StreamLayer layouts and how to implement CSS-based fullscreen for full SDK functionality. ## Guides: StreamLayer Studio - [About StreamLayer Studio](https://docs.streamlayer.io/docs/about-streamlayer-studio.md): Centralized hub for managing events, advertising, moderation, analytics, and team roles across your StreamLayer-powered application. - [Managing Events](https://docs.streamlayer.io/docs/events.md): Create and manage events in StreamLayer Studio. Search by date or name, toggle features per event, and navigate Overview, Moderation, and Analytics tabs. - [Events API](https://docs.streamlayer.io/docs/events-api.md): Create, update, look up, list, and remove StreamLayer events from your backend over HTTP, using your own provider id or the StreamLayer event id. - [Moderation - Games](https://docs.streamlayer.io/docs/moderation-instructions.md): Create and manage polls, trivia, predictions, insights, and social highlights in the StreamLayer Studio Moderation tab. Covers templates, scheduling, and activation. - [Moderation - Promotions](https://docs.streamlayer.io/docs/moderation-instructions-promotions.md): Create and manage IAB-compliant promotions in StreamLayer Studio including overlays, L-bars, lower thirds, video banners, sponsor frames, and picture-in-picture. - [Automation Capabilities](https://docs.streamlayer.io/docs/automation-capabilities.md): Automate content delivery in StreamLayer Studio with Event Triggers, Auto-Post scheduling, AI Assistant content generation, and Google Ad Manager integration. - [Event Triggers](https://docs.streamlayer.io/docs/event-triggers.md): Set up Event Triggers in StreamLayer Studio to auto-activate promotions and game content based on live stats feeds with thresholds, limits, and looping. - [AI Assistant](https://docs.streamlayer.io/docs/ai-assistant.md): Use the AI Assistant in StreamLayer Studio to auto-generate polls, trivia questions, and insights. Review AI-created cards in Drafts before activation. - [Analytics](https://docs.streamlayer.io/docs/analytics.md): Track viewer engagement, notifications, and extension usage with the StreamLayer Studio Analytics dashboard and CSV data export. - [Analytics CSV Export Format](https://docs.streamlayer.io/docs/analytics-csv-export-format.md): Reference for the StreamLayer analytics CSV export including field definitions, required fields per event kind, and enum values for actions, categories, and notifications. - [People](https://docs.streamlayer.io/docs/inviting-additional-users.md): Invite team members to your StreamLayer Studio organization and assign Administrator, Member, or Viewer roles to control access and permissions. - [Developer Settings](https://docs.streamlayer.io/docs/settings.md): Access SDK API keys, configure push notifications with APNs and Firebase, set up Branch.io deep linking, and customize the SDK icon in Developer Settings. ## Guides: Knowledge Base Articles - [Building the Demo Application](https://docs.streamlayer.io/docs/building-the-demo-application.md): Build the StreamLayer iOS demo application in Swift or Objective-C using xcodegen, with troubleshooting for Swift version and Xcode compatibility issues. - [Side-by-Side / Double Box — Creative Specs](https://docs.streamlayer.io/docs/side-by-side-double-box-creative-specs.md): StreamLayer documentation for Side-by-Side / Double Box — Creative Specs. ## Guides: MCP Server - [Connect Your AI Coding Assistant](https://docs.streamlayer.io/docs/mcp.md): Connect Cursor, Codex, Claude Code, or another MCP client to StreamLayer docs before integrating your SDK.