Application Filtering

The Tizen platform provides a wide range of features across a variety of hardware and software components. Among the features, there are some that can be selectively supported by the Tizen device manufacturer. For application stores to correctly select your application for installation on an appropriate device, the feature and profile information must be correctly declared in your application.

Feature-based Filtering

Some features can be selectively supported by the Tizen device manufacturer. To prevent problems when the user is trying to run your application on a device that does not support all the features your application is using, do one of the following:

  • When the application is running, check whether the device supports the needed features. If not, the application can use other features, which are supported by the device, as a workaround.

    For example, if an application wants to use location information, it can check the device capability by using the getCapability() method of the SystemInfo interface (in mobile and wearable applications). If the device supports GPS, the application uses GPS information, and if the device supports WPS only, the application uses WPS information instead of GPS.

  • Use feature-based filtering to prevent your application from being shown in the application list on the Tizen Store, if the user's device does not support all the features of your application. This way you can prevent the application from being installed on an unsupportive device in the first place.

    Be careful when defining the feature list for feature-based filtering. The feature list can dramatically reduce your chances of getting the application downloaded by reducing the number of devices which can support the application.

If the config.xml file of the application package includes a feature list, the Tizen Store compares the capabilities of the device with the required feature conditions of the application. The store only lists the applications whose conditions match the capabilities of the device, and thus prevents unsupported applications from being installed.

Figure: Feature-based filtering

Feature-based filtering

When multiple features are defined in the feature list for feature-based filtering, the Tizen Store creates the filtering condition for all using the "AND" operation. For example, if there are http://tizen.org/feature/network.nfc and http://tizen.org/feature/network.bluetooth features in the feature list of the application package, only a device that has both those features can show the application on the Tizen Store application list for downloading.

Screen Size Feature

The screen size feature is the only exception to the normal feature handling process described above. When the screen size is defined in the feature list, the Tizen Store creates the filtering condition with the "OR" operation. For example, if the http://tizen.org/feature/screen.size.normal.480.800 and http://tizen.org/feature/screen.size.normal.720.1280 features are defined in your application feature list, a device that supports one or the other of those features can show the application on the Tizen Store application list.

If you do not specify a proper screen size in the config.xml file, your application can be rejected from the Tizen store.

The following tables list the available screen size features.

Table: Available screen size features for mobile applications

Feature key Description Since
http://tizen.org/feature/screen.size.normal Specify this key, if the application supports all possible current and future resolutions on the normal screen size.

You cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously. If you do, only the most specific resolution key is considered and the less specific resolution keys are ignored. For example, if you specify both http://tizen.org/feature/screen.size.normal and http://tizen.org/feature/screen.size.normal.320.480 keys, only the http://tizen.org/feature/screen.size.normal.320.480 key is applied.

If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

2.2.1
http://tizen.org/feature/screen.size.normal.240.400 Specify this key, if the application supports the 240 x 400 resolution on the normal screen size.

You can specify multiple http://tizen.org/feature/screen.size.normal.* keys, if your application supports multiple screen resolutions on the normal screen size. However, you cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously.

If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

2.2.1
http://tizen.org/feature/screen.size.normal.320.320 Specify this key, if the application supports the 320 x 320 resolution on the normal screen size.

You can specify multiple http://tizen.org/feature/screen.size.normal.* keys, if your application supports multiple screen resolutions on the normal screen size. However, you cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously.

If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

2.3
http://tizen.org/feature/screen.size.normal.320.480 Specify this key, if the application supports the 320 x 480 resolution on the normal screen size.

You can specify multiple http://tizen.org/feature/screen.size.normal.* keys, if your application supports multiple screen resolutions on the normal screen size. However, you cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously.

If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

2.2.1
http://tizen.org/feature/screen.size.normal.360.360 Specify this key, if the application supports the 360 x 360 resolution on the normal screen size.

You can specify multiple http://tizen.org/feature/screen.size.normal.* keys, if your application supports multiple screen resolutions on the normal screen size. However, you cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously.

If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

2.3.2
http://tizen.org/feature/screen.size.normal.360.480 Specify this key, if the application supports the 360 x 480 resolution on the normal screen size.

You can specify multiple http://tizen.org/feature/screen.size.normal.* keys, if your application supports multiple screen resolutions on the normal screen size. However, you cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously.

If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

2.3
http://tizen.org/feature/screen.size.normal.480.800 Specify this key, if the application supports the 480 x 800 resolution on the normal screen size.

You can specify multiple http://tizen.org/feature/screen.size.normal.* keys, if your application supports multiple screen resolutions on the normal screen size. However, you cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously.

If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

2.2.1
http://tizen.org/feature/screen.size.normal.540.960 Specify this key, if the application supports the 540 x 960 resolution on the normal screen size.

You can specify multiple http://tizen.org/feature/screen.size.normal.* keys, if your application supports multiple screen resolutions on the normal screen size. However, you cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously.

If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

2.2.1
http://tizen.org/feature/screen.size.normal.600.1024 Specify this key, if the application supports the 600 x 1024 resolution on the normal screen size.

You can specify multiple http://tizen.org/feature/screen.size.normal.* keys, if your application supports multiple screen resolutions on the normal screen size. However, you cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously.

If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

2.2.1
http://tizen.org/feature/screen.size.normal.720.1280 Specify this key, if the application supports the 720 x 1280 resolution on the normal screen size.

You can specify multiple http://tizen.org/feature/screen.size.normal.* keys, if your application supports multiple screen resolutions on the normal screen size. However, you cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously.

If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

2.2.1
http://tizen.org/feature/screen.size.normal.1080.1920 Specify this key, if the application supports the 1080 x 1920 resolution on the normal screen size.

You can specify multiple http://tizen.org/feature/screen.size.normal.* keys, if your application supports multiple screen resolutions on the normal screen size. However, you cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously.

If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

2.2.1
http://tizen.org/feature/screen.size.all Specify this key, if the application supports all possible current and future screen sizes and all possible current and future resolutions per screen size.

You cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously. If you do, only the most specific resolution key is considered and the less specific resolution keys are ignored. For example, if you specify both http://tizen.org/feature/screen.size.all and http://tizen.org/feature/screen.size.normal.320.480 keys, only the http://tizen.org/feature/screen.size.normal.320.480 key is applied.

If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

2.2.1

Table: Available screen size features for wearable applications

Feature key Description Since
http://tizen.org/feature/screen.size.normal Specify this key, if the application supports all possible current and future resolutions on the normal screen size.

You cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously. If you do, only the most specific resolution key is considered and the less specific resolution keys are ignored. For example, if you specify both http://tizen.org/feature/screen.size.normal and http://tizen.org/feature/screen.size.normal.320.480 keys, only the http://tizen.org/feature/screen.size.normal.320.480 key is applied.

If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

2.2.1
http://tizen.org/feature/screen.size.normal.320.320 Specify this key, if the application supports the 320 x 320 resolution on the normal screen size.

You can specify multiple http://tizen.org/feature/screen.size.normal.* keys, if your application supports multiple screen resolutions on the normal screen size. However, you cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously.

If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

2.3
http://tizen.org/feature/screen.size.normal.360.360 Specify this key, if the application supports the 360 x 360 resolution on the normal screen size.

You can specify multiple http://tizen.org/feature/screen.size.normal.* keys, if your application supports multiple screen resolutions on the normal screen size. However, you cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously.

If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

2.3.2
http://tizen.org/feature/screen.size.normal.360.480 Specify this key, if the application supports the 360 x 480 resolution on the normal screen size.

You can specify multiple http://tizen.org/feature/screen.size.normal.* keys, if your application supports multiple screen resolutions on the normal screen size. However, you cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously.

If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

2.3
http://tizen.org/feature/screen.size.all Specify this key, if the application supports all possible current and future screen sizes and all possible current and future resolutions per screen size.

You cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously. If you do, only the most specific resolution key is considered and the less specific resolution keys are ignored. For example, if you specify both http://tizen.org/feature/screen.size.all and http://tizen.org/feature/screen.size.normal.320.480 keys, only the http://tizen.org/feature/screen.size.normal.320.480 key is applied.

If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

2.2.1

Feature Hierarchy

The feature keys have a hierarchy. For example, consider the http://tizen.org/feature/location, http://tizen.org/feature/location.gps, and http://tizen.org/feature/location.wps features:

  • If the feature list includes the http://tizen.org/feature/location.gps feature, only a device which has the http://tizen.org/feature/location.gps feature can show the application on the Tizen Store application list.
  • If the feature list includes the http://tizen.org/feature/location feature, a device which has the http://tizen.org/feature/location.gps, http://tizen.org/feature/location.wps, or http://tizen.org/feature/location feature can show the application on the Tizen Store application list.

    This means that the Tizen Store considers the http://tizen.org/feature/location feature as the http://tizen.org/feature/location.gps OR http://tizen.org/feature/location.wps feature. (If the feature list includes the http://tizen.org/feature/location.gps and http://tizen.org/feature/location.wps features together, only a device which supports both those features can show the application.)

Adding the Feature List

To enable filtering for your Web application, add the feature list for the application config.xml file:

  1. To open the Web application configuration editor in the Tizen Studio, double-click the config.xml file in the Project Explorer view.
  2. In the Feature tab, click Add.
  3. Select a feature from the list.
  4. Click Save.

After setting the feature information with the Web application configuration editor, you can see the added code in the Source tab.

The following example shows the setting in the config.xml file code:

<tizen:feature name="http://tizen.org/feature/network.nfc"/>

The following tables show the available requirements for Tizen Web application package.

Table: Available requirements for mobile Web Device APIs

Feature key Description Since
http://tizen.org/feature/database.encryption Specify this key, if the application requires the database encryption feature. 2.2.1
http://tizen.org/feature/datasync Specify this key, if the application requires the DataSync feature. 2.3
http://tizen.org/feature/fmradio Specify this key, if the application requires an FM radio. 2.2.1
http://tizen.org/feature/humanactivitymonitor Specify this key, if the application requires any of the Human Activity Monitor features. 2.3
http://tizen.org/feature/iot.ocf Specify this key, if the application requires the Open Connectivity Foundation (OCF) framework. 3.0
http://tizen.org/feature/led Specify this key, if the application requires the LED feature. 2.4
http://tizen.org/feature/location.batch Specify this key, if the application requires the location tracking with a position batch information feature for using the Human Activity Monitor (GPS Type) API. 2.3
http://tizen.org/feature/network.bluetooth Specify this key, if the application requires the Bluetooth feature. 2.2.1
http://tizen.org/feature/network.bluetooth.audio.media Specify this key, if the application requires the Bluetooth Advanced Audio feature (A2DP). 2.3
http://tizen.org/feature/network.bluetooth.health Specify this key, if the application requires the Bluetooth Health feature (HDP). 2.3
http://tizen.org/feature/network.bluetooth.le Specify this key, if the application requires the Bluetooth Low Energy feature (BLE). 2.3
http://tizen.org/feature/network.net_proxy Specify this key, if the application requires the net-proxy feature for the Internet connection. A net-proxy feature for a device acts as an intermediary between client (network service customer) and server (network service provider). 3.0
http://tizen.org/feature/network.nfc Specify this key, if the application requires the use of any API that, in turn, requires the Near Field Communication (NFC) feature. 2.2.1
http://tizen.org/feature/network.nfc.card_emulation Specify this key, if the application requires the NFC card emulation feature. 2.3
http://tizen.org/feature/network.nfc.card_emulation.hce Specify this key, if the application requires the NFC host-based card emulation feature. 2.3.1
http://tizen.org/feature/network.nfc.p2p Specify this key, if the application requires the NFC P2P feature. 2.3.1
http://tizen.org/feature/network.nfc.tag Specify this key, if the application requires the NFC tag feature. 2.3.1
http://tizen.org/feature/network.push Specify this key, if the application requires the network-based push service. 2.2.1
http://tizen.org/feature/network.secure_element Specify this key, if the application requires the secure element feature. 2.2.1
http://tizen.org/feature/network.telephony Specify this key, if the application requires the use of any API that, in turn, requires the telephony feature. 2.2.1
http://tizen.org/feature/network.telephony.mms Specify this key, if the application requires the MMS feature. 2.2.1
http://tizen.org/feature/network.telephony.sms Specify this key, if the application requires the SMS feature. 2.4
http://tizen.org/feature/network.wifi Specify this key, if the application requires the use of any API that, in turn, requires the Wi-Fi feature. 2.2.1
http://tizen.org/feature/sensor.barometer Specify this key, if the application requires a barometer sensor for using the Sensor (Pressure Type) API. 2.2.1
http://tizen.org/feature/sensor.gyroscope_rotation_vector Specify this key, if the application requires a gyroscope-based rotation vector sensor. 2.4
http://tizen.org/feature/sensor.heart_rate_monitor Specify this key, if the application requires a heart rate monitor sensor for using the Human Activity Monitor (HRM Type) API. 2.3
http://tizen.org/feature/sensor.heart_rate_monitor.led_green Specify this key, if the application requires the LED green heart rate monitor sensor. 2.3.1
http://tizen.org/feature/sensor.heart_rate_monitor.led_ir Specify this key, if the application requires the LED infrared heart rate monitor sensor. 2.3.1
http://tizen.org/feature/sensor.heart_rate_monitor.led_red Specify this key, if the application requires the LED red heart rate monitor sensor. 2.3.1
http://tizen.org/feature/sensor.magnetometer Specify this key, if the application requires a magnetic sensor for using the Sensor (MAGNETIC Type) API. 2.2.1
http://tizen.org/feature/sensor.pedometer Specify this key, if the application requires a pedometer sensor for using the Human Activity Monitor (PEDOMETER Type) API. 2.3
http://tizen.org/feature/sensor.photometer Specify this key, if the application requires a photometer sensor for using the Sensor (LIGHT Type) API. 2.2.1
http://tizen.org/feature/sensor.proximity Specify this key, if the application requires a proximity sensor for using the Sensor (PROXIMITY Type) API. 2.2.1
http://tizen.org/feature/sensor.sleep_monitor Specify this key, if the application requires a sleep monitor sensor which tracks the human sleep state or a sleep detector sensor which detects whether the human falls asleep or wakes up. 3.0
http://tizen.org/feature/sensor.ultraviolet Specify this key, if the application requires a ultraviolet sensor for using the Sensor (ULTRAVIOLET Type) API. 2.3
http://tizen.org/feature/sensor.wrist_up Specify this key, if the application requires a wrist up sensor for using the Human Activity Monitor (WRIST_UP Type) API. 2.3

Table: Available requirements for mobile Web W3C/HTML5 APIs

Feature key Description Since
http://tizen.org/feature/camera Specify this key, if the application requires any kind of a camera for using the getUserMedia or HTML Media Capture API. 2.2.1
http://tizen.org/feature/location.gps Specify this key, if the application requires the Global Positioning System (GPS) feature for using the GeoLocation API. 2.2.1
http://tizen.org/feature/microphone Specify this key, if the application requires a microphone for using the getUserMedia or HTML Media Capture API. 2.2.1
http://tizen.org/feature/sensor.accelerometer Specify this key, if the application requires an acceleration sensor for using the DeviceOrientation Event Specification API. 2.2.1
http://tizen.org/feature/sensor.gyroscope Specify this key, if the application requires a gyro sensor for using the DeviceOrientation Event API. 2.2.1
http://tizen.org/feature/sensor.magnetometer Specify this key, if the application requires a magnetic sensor for using the DeviceOrientation Event Specification or Screen Orientation API. 2.2.1
http://tizen.org/feature/speech.synthesis Specify this key, if the application requires the speech synthesis (text-to-speech, TTS) feature for using the Web Speech API. 2.2.1

Table: Available requirements for mobile Web Runtime

Feature key Description Since
http://tizen.org/feature/shell.appwidget Specify this key, if the application requires the Widget feature. Since 2.3.1, this key indicates only the native Widget. 2.2.1

Table: Available requirements for wearable Web Device APIs

Feature key Description Since
http://tizen.org/feature/database.encryption Specify this key, if the application requires the database encryption feature. 2.2.1
http://tizen.org/feature/download Specify this key, if the application requires the network connection to access the Internet for using the Download API. 2.3
http://tizen.org/feature/humanactivitymonitor Specify this key, if the application requires the Human Activity Monitor API.

If the key is declared in the config.xml file, the application can be installed on the device with any of the Human Activity Monitor features:

  • HRM: http://tizen.org/feature/sensor.heart_rate_monitor
  • PEDOMETER: http://tizen.org/feature/sensor.pedometer
  • WRIST_UP: http://tizen.org/feature/sensor.wrist_up
  • GPS: http://tizen.org/feature/location.batch
2.3
http://tizen.org/feature/iot.ocf Specify this key, if the application requires the Open Connectivity Foundation (OCF) framework. 3.0
http://tizen.org/feature/led Specify this key, if the application requires the LED feature. 2.4
http://tizen.org/feature/location.batch Specify this key, if the application requires the location tracking with a position batch information feature. 2.3
http://tizen.org/feature/network.bluetooth Specify this key, if the application requires the Bluetooth feature. 2.2.1
http://tizen.org/feature/network.bluetooth.audio.media Specify this key, if the application requires the Bluetooth Advanced Audio feature (A2DP) feature for using the Media Key API. 2.3
http://tizen.org/feature/network.bluetooth.health Specify this key, if the application requires the Bluetooth Health feature (HDP). 2.3
http://tizen.org/feature/network.bluetooth.le Specify this key, if the application requires the Bluetooth Low Energy feature (BLE). 2.3
http://tizen.org/feature/network.net_proxy Specify this key, if the application requires the net-proxy feature for the Internet connection. A net-proxy feature for a device acts as an intermediary between client (network service customer) and server (network service provider). 3.0
http://tizen.org/feature/network.nfc Specify this key, if the application requires the use of any API that, in turn, requires the Near Field Communication (NFC) feature. 2.2.1
http://tizen.org/feature/network.nfc.card_emulation Specify this key, if the application requires the NFC card emulation feature. 2.3
http://tizen.org/feature/network.nfc.card_emulation.hce Specify this key, if the application requires the NFC host-based card emulation feature. 2.3.1
http://tizen.org/feature/network.nfc.p2p Specify this key, if the application requires the NFC P2P feature. 2.3.1
http://tizen.org/feature/network.nfc.tag Specify this key, if the application requires the NFC tag feature. 2.3.1
http://tizen.org/feature/network.push Specify this key, if the application requires the network-based push service. 2.2.1
http://tizen.org/feature/network.secure_element Specify this key, if the application requires the secure element feature. 2.2.1
http://tizen.org/feature/network.telephony Specify this key, if the application requires the use of any API that, in turn, requires the telephony feature. 2.2.1
http://tizen.org/feature/network.telephony.sms Specify this key, if the application requires the SMS feature. 2.4
http://tizen.org/feature/network.wifi Specify this key, if the application requires the use of any API that, in turn, requires the Wi-Fi feature (for example, the Download API). 2.2.1
http://tizen.org/feature/sensor.barometer Specify this key, if the application requires a barometer sensor. 2.2.1
http://tizen.org/feature/sensor.gyroscope_rotation_vector Specify this key, if the application requires a gyroscope-based rotation vector sensor. 2.4
http://tizen.org/feature/sensor.heart_rate_monitor Specify this key, if the application requires a heart rate monitor sensor. 2.3
http://tizen.org/feature/sensor.heart_rate_monitor.led_green Specify this key, if the application requires the LED green heart rate monitor sensor. 2.3.1
http://tizen.org/feature/sensor.heart_rate_monitor.led_ir Specify this key, if the application requires the LED infrared heart rate monitor sensor. 2.3.1
http://tizen.org/feature/sensor.heart_rate_monitor.led_red Specify this key, if the application requires the LED red heart rate monitor sensor. 2.3.1
http://tizen.org/feature/sensor.magnetometer Specify this key, if the application requires a magnetic sensor. 2.2.1
http://tizen.org/feature/sensor.pedometer Specify this key, if the application requires a pedometer sensor. 2.3
http://tizen.org/feature/sensor.photometer Specify this key, if the application requires a photometer sensor. 2.2.1
http://tizen.org/feature/sensor.proximity Specify this key, if the application requires a proximity sensor. 2.2.1
http://tizen.org/feature/sensor.sleep_monitor Specify this key, if the application requires a sleep monitor sensor which tracks the human sleep state or a sleep detector sensor which detects whether the human falls asleep or wakes up. 3.0
http://tizen.org/feature/sensor.ultraviolet Specify this key, if the application requires an ultraviolet sensor. 2.3
http://tizen.org/feature/sensor.wrist_up Specify this key, if the application requires a wrist up sensor. 2.3

Table: Available requirements for wearable Web W3C/HTML5 APIs

Feature key Description Since
http://tizen.org/feature/camera Specify this key, if the application requires any kind of a camera for using the getUserMedia API. 2.2.1
http://tizen.org/feature/input.rotating_bezel Specify this key, if the application requires rotating bezel input. 2.3.1
http://tizen.org/feature/location.gps Specify this key, if the application requires the Global Positioning System (GPS) feature for using the GeoLocation API. 2.2.1
http://tizen.org/feature/microphone Specify this key, if the application requires a microphone for using the getUserMedia API. 2.2.1
http://tizen.org/feature/network.internet Specify this key, if the application requires Internet access for using the WebSocket API, XMLHttpRequest, or Cross-Origin Resource Sharing API. 2.3.1
http://tizen.org/feature/screen.shape.circle Specify this key, if the application requires a circle-shaped screen. 2.3.1
http://tizen.org/feature/screen.shape.rectangle Specify this key, if the application requires a rectangle-shaped screen. 2.3.1
http://tizen.org/feature/sensor.accelerometer Specify this key, if the application requires an acceleration sensor for using the DeviceOrientation Event Specification API. 2.2.1
http://tizen.org/feature/sensor.gyroscope Specify this key, if the application requires a gyro sensor for using the DeviceOrientation Event API. 2.2.1
http://tizen.org/feature/speech.synthesis Specify this key, if the application requires the speech synthesis (text-to-speech, TTS) feature for using the Web Speech API. 2.2.1

Table: Available requirements for wearable Web Supplementary APIs

Feature key Description Since
http://tizen.org/feature/media.audio_recording Specify this key, if the application requires the audio recording functionality of the device for using the Camera API (Tizen Extension) (Audio Recording) API. 2.3
http://tizen.org/feature/media.image_capture Specify this key, if the application requires the image capture functionality of the device for using the Camera API (Tizen Extension) (Image Recording) API. 2.3
http://tizen.org/feature/media.video_recording Specify this key, if the application requires the video recording functionality of the device for using the Camera API (Tizen Extension) (Video Recording) API. 2.3

Table: Available requirements for wearable Web Runtime

Feature key Description Since
http://tizen.org/feature/shell.appwidget Specify this key, if the application requires the Widget feature. Since 2.3.1, this key indicates only the native Widget. 2.2.1
http://tizen.org/feature/web.service Specify this key, if the application requires the Web service application feature. 2.3

Here is the table of features for Tizen TV Web Device APIs:

Feature
Corresponding Tizen Web API
Feature key for Tizen application store filtering
TV Audio Control tizen.tvaudiocontrol http://tizen.org/feature/tv.audio
TV Tuner tizen.tvchannel http://tizen.org/feature/tv.tuner
TV Display Control tizen.tvdisplaycontrol http://tizen.org/feature/tv.display
TV Input Device tizen.tvinputdevice http://tizen.org/feature/tv.inputdevice
TV Picture in Picture tizen.tvwindow http://tizen.org/feature/tv.pip
TV Information tizen.tvinfo http://tizen.org/feature/tv.information

Profile-based Filtering

A Tizen profile describes the requirements for a category of Tizen devices that have a common application execution environment. Applications are created for a single specific target profile, such as mobile or wearable, and can run on devices compliant to that profile.

Use profile-based filtering to ensure that your application is only downloaded on the appropriate device profile. To ensure this, declare the intended profile by adding the profile name element in the config.xml file.

The following table lists the Tizen profiles and related profile name attributes.

Table: Tizen profiles and profile name attributes

Tizen profile Profile name attribute
Mobile mobile
Wearable wearable

In a Web application, the profile name element can be added to the config.xml file as follows:

<widget xmlns="http://www.w3.org/ns/widgets" xmlns:tizen="http://tizen.org/ns/widgets" ... >
<tizen:profile name="mobile"/>
<!--OR-->
<tizen:profile name="wearable"/>

The Tizen Store compares the device profile and the profile name element in an application. The store only shows the applications with a profile name matching the device profile to prevent unsupported applications from being installed.

Single Web Application for Multiple Profiles

Applications are created for a single specific target profile and can only run on devices compliant to that profile. However, it is easily possible to develop a Web application on one profile and make it work on another profile if you use Web APIs that are common to both the profiles. You just modify the <tizen:profile> tag to switch profiles. You may also have to make other changes, like adapting your application to different screen sizes and input events. It is recommended that you test this modified application to ensure it performs as desired.