Skip to main content
If you’ve previously developed applications using the DeviceInfo API for Philips TVs, migrating to the Titan SDK is the next step toward future-proofing your app for upcoming platforms. This guide provides a clear path to update your code and ensure compatibility across the expanded Titan OS ecosystem.

Why migrate to Titan SDK?

The legacy DeviceInfo API was limited:
  • Brand-specific (Philips only)
  • Restricted set of functionalities
The new Titan SDK offers significant advantages:
  • Unified Development: Write your code once and run it consistently across all supported Titan OS-powered TVs.
  • New functionalities: Gain access to features like Accessibility (Text-to-Speech, Text Magnification) and App Control.
  • Future-Proofing: The Titan SDK will continue to evolve with new capabilities and updates, while the DeviceInfo API will not be maintained from now and removed by the end of the year.

Step-by-Step Migration Guide

1

Remove Old DeviceInfo references

Remove any script references to the old DeviceInfo API from your index.html or build process to avoid accidental reliance on the deprecated object.
2

Install and import the Titan SDK

First, install the SDK from npm.
Then, import the getTitanSDK function into your project.
3

Update Device and Capability Information

Replace all instances where you accessed properties directly from the global DeviceInfo object. Instead, use the asynchronous titanSDK.deviceInfo.getDeviceInfo() method.Old Way:
New Way:
4

Test Your Migrated Application

Thoroughly test your application on various TVs powered or maintained by Titan OS to ensure all functionalities work as expected post-migration. Pay close attention to:
  • All device information calls returning correct data.
  • Features that relied on old DeviceInfo properties.
  • New SDK features you’ve integrated.
5

Start integrating and exploring new features, such as Accessibility, App Control

With the Titan SDK integrated, begin exploring and implementing its new functionalities:
  • Accessibility: Utilize titanSDK.accessibility.isTTSSupported(), titanSDK.accessibility.startSpeaking(), titanSDK.accessibility.onTTSSettingsChange() and other methods as detailed in the Accessibility Guide for TitanSDK Apps.
  • App Control: Leverage titanSDK.apps.launch() for streamlined app-to-app interactions.
  • Remote Control: Refer to the Remote Control & Key Handling section for unified key mapping.
For projects not using a build system, a CDN-based integration is also available. Please refer to our CDN Integration Guide for more details.

Migration Map: DeviceInfo API → Titan SDK

Here is a mapping of common DeviceInfo API properties and their Titan SDK equivalents:

Common Migration Scenarios & Troubleshooting

Asynchronous Nature: Remember that almost all interactions with the Titan SDK are asynchronous. Always use async/await or .then().catch() for proper handling of returned Promises. User Agent Differences: While the SDK provides a unified interface, minor differences in the User Agent string might still exist between device brands. If your application relies on User Agent parsing, ensure it’s robust enough to handle variations as detailed on the https://docs.titanos.tv/user-agents.

Next steps

Accessibility

Learn how to get started to the new accessibility functionalities in TitanSDK

About the new TitanSDK

Introduction to the new TitanSDK