Platform guide · Titan OS

Titan OS monetization: what HTML5 app developers can use

Titan OS is the Linux-based TV operating system on Philips and AOC TVs in Europe, and since 2026 on Philips' whole UK and EU lineup. Its apps are hosted HTML5. Advertising is central to Titan's own business, but there is no public ad or payment program for third-party apps yet. Here is what is documented.

Titan OS at a glance

TVsPhilips and AOC Linux smart TVs in Europe; the Titan SDK also lists JVC TVs from 2025. In March 2026 Philips moved its 2026 UK and EU lineup from Google TV to Titan OS.
App typeHosted HTML5 or HbbTV apps, submitted with a test URL and a production URL.
ReviewIntake and QA take 2 to 4 weeks. Major changes need QA again; minor UI updates don't.
AdsTitan launched as both an OS and an advertising platform and sells ads on its own surfaces. No public ad program or SDK for third-party apps found.
Advertising IDThe Titan SDK exposes Product.WhaleAdID, Product.ifa and Product.ifaType.
In-app purchasesNo public payment or subscription API found.

Publishing and QA

Titan apps are hosted: you submit a test URL and a production URL, and the app loads from your server. Titan's FAQ puts intake and QA at 2 to 4 weeks, and says that for HTML5 apps already running on other Linux-based TV platforms most of the work is remote-control key mapping and user-agent handling. After launch, major changes go through QA again; minor UI updates don't. Commercial terms go through Titan's business development team (bd@titanos.tv).

Because the app is hosted, you can update your ad integration on your server without a new submission, as long as the change isn't a major one in Titan's terms.

The advertising ID in the Titan SDK

The Titan SDK (npm @titan-os/sdk, or a CDN build) returns device details from getDeviceInfo(). Under Product it documents:

  • WhaleAdID: "The advertising ID".
  • ifa and ifaType: an identifier for advertising and its type (the example type is dpid).
  • deviceID and mac: hardware identifiers. Don't use these for advertising.
import { getTitanSDK } from "@titan-os/sdk";

const info = await getTitanSDK().deviceInfo.getDeviceInfo();
const adId = info.Product.WhaleAdID;   // treat "unknown" or empty as missing
const ifa = info.Product.ifa;          // with info.Product.ifaType

Two cautions from Titan's own documentation: the IFA is currently not returned on 2020 to 2022 Philips devices, and if your app has a Content Security Policy you need to allow *.titanos.tv for the SDK to work. Keep an app-level fallback ID for devices without one. More in advertising IDs on Smart TVs.

Monetization options on Titan OS

Titan launched as both a TV operating system and an advertising platform, and its documentation talks about "increasing the potential reach of advertising". For a third-party app, that leaves the options any hosted web app has:

  • Ads you integrate yourself: a VAST player and an ad source that accepts CTV web apps, or an ad SDK for TV web apps.
  • Payments on your own side, for example an account system where users pay on their phone. Titan publishes no TV payment API.
  • A commercial deal with Titan, through its business development team.

Whatever you choose, it has to pass QA with a remote: one focused button, BACK always working. See rewarded ads for Smart TV games.

Early access

How SofAds fits on Titan OS

Titan OS is one of SofAds' four launch platforms. The SDK finds the Titan SDK, reads Product.WhaleAdID (treating "unknown" as missing and never using deviceID), and falls back to its own resettable install ID. If the Titan SDK isn't a global in your app, pass it in with titan: { getDeviceInfo }. We're early and onboarding publishers by hand, without numbers to quote yet.

SofAds.init({
  appId: "sof_YOUR_APP_ID",
  onPause: () => game.pause(),    // stop your render loop before video
  onResume: () => game.resume(),
});

// At a natural break: the call always settles, the game just continues.
async function onLevelComplete() {
  await SofAds.showInterstitial({ placement: "level_break" });
  startNextLevel();
}

// The player chose to watch for a reward. onReward fires at most once;
// addCoins is your own function.
function onExtraLifeButton() {
  SofAds.showRewarded({
    placement: "extra_life",
    onReward: (reward) => addCoins(reward.amount),
  });
}

The Titan OS setup docs show the Titan SDK include and the device-info hook. How SofAds works for publishers.

Frequently asked questions

Which TVs run Titan OS?

Philips and AOC Linux smart TVs in Europe, and the Titan SDK also lists JVC TVs from 2025. In March 2026 Philips moved its 2026 UK and EU lineup from Google TV to Titan OS. Titan says it aims to be the largest independent CTV operating system in Europe and Latin America.

How long does Titan OS app review take?

Titan's FAQ says intake and quality assurance take between 2 and 4 weeks.

Does Titan OS have an advertising ID?

Yes. The Titan SDK's getDeviceInfo() returns Product.WhaleAdID, described as the advertising ID, and Product.ifa with Product.ifaType. The IFA is currently not returned on 2020 to 2022 Philips devices.

Can I sell in-app purchases on Titan OS?

We found no public payment API for Titan OS apps. Contact Titan's business development team about commercial options.

Sources

Checked on October 7, 2026. Platform rules change; when a source and this page disagree, the source wins.

  1. Titan OS docs: Publishing
  2. Titan OS docs: FAQ
  3. Titan OS docs: Introduction
  4. Titan OS docs: Titan SDK
  5. Titan OS: Titan OS unveils an independent OS and advertising platform for Smart TVs
  6. 9to5Google: Philips moves to Titan OS (Mar 2026)

Building a TV game or app? Join the early access.