Getting Started

This section outlines the steps to implement the mobile app and TV App functionality necessary to support the Device Interface. These implementation steps include:

Creating an Application Key

Yahoo Connected TV issues and authenticates all mobile apps that connect to the Engine by requiring developers to obtain application developer keys from Yahoo. Each time a new device requests access to the Engine, a check is made to Yahoo's authorization service. This step allows Yahoo to revoke access from malicious applications. Before initiating communication, the mobile app must be authorized and all messages must be encrypted using SSL.

Each Device Communication mobile app needs to have its own application key. Follow these steps to generate a unique application key:

  1. Go to .
  2. Click on My Projects on the right side of the screen.
  3. Login with your Yahoo ID.
  4. Accept the Yahoo Terms of Use.
  5. Click on New Project.
  6. Select Standard and Continue.
  7. Fill out the Application Name in the web form.
  8. Select Client/Desktop as the Kind of Application.
  9. Fill out the Description field in the web form.
  10. Select the first choice for public access from the Access Scopes radio button.
  11. Check the Terms of Use checkbox.
  12. Click on the Get API Key button.
  13. In the upper left corner of the screen, under your application's name, save the Application ID (referred to as appId below).
  14. In the Authentication Information section, save the Consumer Key (referred to as consumerKey below) and the Consumer Secret (referred to as consumerSecret below).
  15. Compute the Hash-Based Message Authentication Code using the SHA1 hash function (referred to as secret below) as follows:

    secret = HMAC-SHA1(consumerSecret, consumerKey)

  16. Construct the Application Key from the values above:

    application_key = "app_id="+appId+"&consumer_key="+consumerKey+"&secret="+secret

  17. Use the resulting value for application_key as your Application Key in the First Time Authentication Device Interface Protocol as follows:


    There is no prescribed order for the arguments for application_key, your result should be similar to the following example for the test client:

Getting the Software

The following software is required to test Device Communication:

  • The Yahoo Connected TV App Development Kit (ADK) which includes the DNS Service Discovery library:
  • The pybonjour package which provides a pure-Python interface to Apple Bonjour and compatible DNS-SD libraries (such as Avahi)
  • Client-side Python test script:

Installing the Software

To install the software for Device Communication:

  • Follow the steps outlined in the Installation Guide to install the ADK.
  • Install pybonjour if you want to use Bonjour discovery in your mobile app using these steps:

Configuring the Port

Configure the SSL port by adding the following setting to the config-oem.xml file:

The default port number is 8099.

Running a Simple Test

To run the client test use the following command syntax:

python ./ [<hostname> <port>]

To connect through the YCTV Discovery Service, do not specify the hostname and port.

python ./

To connect directly, bypassing the YCTV Discovery Service, specify the hostname and port.

python ./ localhost 8099

Type q for quit, then cntrl+c, then cntrl+z, and then kill %1 respectively if previous exiting commands fail.

Table of Contents