Smart Hub Preview

The following questions are related to implementing the Smart Hub Preview feature.

Smart Hub Preview is a feature for Samsung Smart TVs that allows you to show content when the user hovers over your application icon in the launcher. The user can click the preview tile to open the content directly within the application. You can use the preview to promote new or personalized content to the user. For more information, see Smart Hub Preview.

   #preview    #launcher    #personalized content

Make sure your JSON file URL and the defined tile image URLs are valid. Invalid tile image URLs can cause unexpected Smart Hub Preview behavior.

   #tile image    #preview tile

Smart Hub Preview is supported since 2016 TV models. It is also supported on the TV emulator since Tizen TV Extension 2.3.1.

   #tv model    #emulator    #feature support

When implementing a personal preview, the background service application is required. While the foreground application performs the main application tasks, such as showing content, the background service application serves information to show in the preview. For more information on implementing a personal preview, including the background service application, see Implementing Personal Preview.

   #personal preview    #background service application

Smart Hub Preview tile images must be at least 250 px tall, with an aspect ratio of 16:9, 4:3, 1:1, or 2:3. Larger images are reduced to fit the specified aspect ratio. For more information, see Tile Element Specifications.

   #tile    #size    #image    #aspect ratio

Since languages can have different display character widths, there is no defined text length limit. However, long titles or subtitles can cause unintended Smart Hub Preview behavior.

   #section title    #tile title    #tile subtitle    #title length

The title and subtitle are only shown when the tile has focus. If you want to show text on the tile image even when it does not have focus, you can implement the text in the tile image itself.

   #tile title    #tile subtitle

You can define the JSON file as either "text/plain" or "application/json" type.

   #json file    #media type    #mime type    #content type

By default, the preview content is updated every 10 minutes and whenever the TV is switched on.

You can also define a specific update time with the expires property, and define a new update time in the updated feed. The minimum time between updates is 10 minutes. After the feed updates at the defined time, if no new expires property is specified, the preview content is updated every 10 minutes.

   #feed update    #update interval    #refresh interval

To show different content on Smart Hub Preview for specific model groups, such as 4K UHD video content on UHD TVs, you can implement a public preview. Create a separate application version that shows preview content from a different JSON file URL, and submit it for the applicable model groups.

Alternatively, you can implement a personal preview, which allows you to customize the preview content for the user. Use the ProductInfo API to retrieve the model information from the TV, and use the background service application to serve content based on the model information retrieved.

   #public preview    #private preview    #model group    #4k    #uhd    #productinfo api

If the application is installed from a USB removable drive on a 2017 or later TV model, Smart Hub Preview does not work. This is a known limitation.

   #install    #usb    #missing tile    #testing

The preview content is updated in the following scenarios:

When the application is added to the launcher.

When the TV is switched on, after being fully powered off.

Every 10 minutes.

For a public preview, at the time defined by the expires parameter in the JSON file. The expires parameter value must be a time no more than 1 week into the future.

For a private preview, at a frequency defined by the background service application, based on the timestamp of the current JSON content. You can store the JSON content and timestamp in local storage using the Filesystem API.

To implement preview content updates:

For a public preview, you must request the JSON file from the external URL defined in the use.preview metadata key of the config.xml file.

If the public preview does not refresh properly:

Make sure that the JSON data received is valid.

Check that the expires parameter is correctly defined.

For a private preview, you must launch the background service application as a node module, and trigger the ON-START() and onRequest() event handlers.

If the private preview does not refresh properly:

Make sure the background service application is running without errors.

If the background service application encounters an issue and must close, check that it is terminated properly using the getCurrentApplication().exit() method. If the background service application is not properly terminated, it cannot be relaunched at the next 10 minute interval.

   #background service application    #application api    #private preview    #public preview

Before launching the background service application, make sure the TV supports it:


When you use the launchControl() method to launch a background service application on a TV that does not support service applications, it causes unexpected behavior in the foreground application, such as missing images and corrupted video playback.

   #background service application    #launchcontrol    #missing image    #feature support