Samsung’s Tizen platform runs a Chromium-based web engine, which makes it feel familiar to web developers. But the version of Chromium, the available APIs, and the device constraints create an environment that is distinctly different from building for a desktop browser. These notes cover the practical details you need for Samsung TV app development.
Chromium versions by model year
The web engine version determines what web platform features you can use. Samsung updates the Chromium version with each new model year, but older TVs stay on their original version.
A rough mapping (subject to Samsung’s specific builds):
| Model Year | Approximate Chromium Version |
|---|---|
| 2019 | 56 |
| 2020 | 69 |
| 2021 | 79 |
| 2022 | 85 |
| 2023 | 94 |
| 2024 | 108 |
| 2025 | 120+ |
The practical impact: if you need to support TVs from 2020, you are targeting Chromium 69. That means no optional chaining, no nullish coalescing, no CSS grid subgrid, limited Intl support, and older MSE behavior. Transpile your code and test on real hardware from each model year in your support matrix.
Tizen Web APIs reference
Beyond standard web APIs, Samsung provides Tizen-specific APIs for device integration:
tizen.tvinputdevice - Register and handle remote control keys. You must explicitly register keys you want to receive. Unregistered keys are handled by the system.
tizen.application - App lifecycle management. Get current application context, handle appcontrol for deep links, and manage app termination.
tizen.systeminfo - Query device capabilities: screen resolution, network connection type, available storage, firmware version.
tizen.tvinfo - TV-specific information: product model, region, menu language.
webapis.avplay - Samsung’s native media player API. Provides lower-level control than the HTML5 video element with potentially better performance and reliability on some content.
webapis.productinfo - Detailed product information for conditional logic based on device capabilities.
Debugging and development workflow
Tizen Studio provides the IDE, CLI tools, and device emulator. The emulator is useful for initial UI development but does not reproduce media playback or DRM behavior accurately. Always test on real hardware before submission.
Remote debugging via Web Inspector is essential. Connect to your TV’s debug mode over the network and you get the full Chrome DevTools experience: DOM inspection, JavaScript debugging, network monitoring, memory profiling, and performance tracing.
Development setup steps:
- Enable developer mode on the TV (Settings > Apps > developer mode)
- Set the host PC’s IP address on the TV
- Connect via Tizen Studio’s device manager or the
sdbcommand-line tool - Deploy your .wgt package to the device
- Launch the app and connect Web Inspector via the debug URL
Hot reloading is not natively supported like in web development. You need to rebuild, repackage, and redeploy for each change. Some teams set up a dev server approach where the app loads from a network URL during development, switching to packaged assets for production builds.
AVPlay versus HTML5 video
Samsung provides two media playback paths, and the choice affects your architecture:
HTML5 video element with MSE/EME is the web-standard approach. Player libraries like Shaka Player, dash.js, and hls.js work on Tizen because they build on MSE. The advantage is code portability: the same player code may work on Samsung, LG, and browser-based platforms. The disadvantage is that Samsung’s MSE implementation has device-specific quirks.
AVPlay is Samsung’s native player API. You provide a content URL and DRM configuration, and AVPlay handles buffering, decoding, and rendering internally. AVPlay can handle some content more reliably than the MSE path, particularly on older devices or with specific DRM configurations.
Decision guide:
- If your player library works well on Tizen and you value code consistency across platforms, use MSE.
- If you are seeing playback issues specific to Samsung devices that your player library cannot resolve, evaluate AVPlay.
- If you are building a Samsung-only app, AVPlay may be the simpler choice.
- Some teams use MSE as the primary path and fall back to AVPlay on specific device models where MSE issues are known.
Seller Office and certification
Samsung’s Seller Office is the portal for app submission, certification, and distribution management.
Submission requirements:
- Valid developer certificate and distributor certificate
- Correct config.xml with appropriate privileges and feature declarations
- App icon and screenshots meeting Samsung’s size and format requirements
- Content advisory information
- Test account credentials for Samsung QA to verify your app
Common certification issues:
- Back button not handled correctly (must show exit dialog from root screen)
- App not pausing playback when backgrounded
- Remote keys causing unexpected behavior (because you registered keys you do not handle, or did not register keys you should handle)
- Startup time exceeding Samsung’s threshold
- Deep link handling failures when launched from Samsung’s recommendation system
Review timeline: varies, but plan for 5-10 business days. Rejections come with specific feedback. Address all feedback items before resubmitting to avoid repeated rejections for the same issues.
Model year testing strategy
Because the web engine and device capabilities change with each model year, your testing needs to cover multiple generations:
Minimum recommended testing matrix for Samsung:
- Current model year (Tier 1: full regression)
- Previous model year (Tier 1 or Tier 2)
- Two years prior (Tier 2: critical paths)
- Three years prior (Tier 3: smoke test)
This typically means having 4 Samsung TVs in your test lab. If budget is constrained, focus on the current and previous model years and accept higher risk on older devices.
Full development guide
Our Samsung TV development guide covers app lifecycle, packaging, and performance in more detail.
Samsung TV Development Guide