Skip to main content
Samsung Developer Program

Specify Supported Features in Binary Files

Specify basic app information, supported device functionality, and device compatibility with the app in the binary manifest files

You specify app information, device feature support and non-support in the app's binary files. This information is used to determine app suitability and user device recommendations, and is indicated in your the binary tab of your app registration in Seller Office.

Note: In August 2018, Samsung Gear became Samsung Galaxy Watch. Information referring to Galaxy Watch also applies to earlier Gear devices and apps, unless stated otherwise.

Binary File Specifications

This section describes how to specify basic app information (such as version number), device functionality supported by the app (such as telephony), and device compatibility with the app based on uses-features, uses-permissions, metadata, and feature listings that must be specified in the app's binary manifest files.

The data below is extracted from registered binaries. For Android APKs, from manifest.xml. For Tizen TPKs, from tizen-manifest.xml. For WGTs, from config.xml.

Upon uploading a app binary file, Seller Office determines app compatible devices by searching for the specified manifest listings during the automated phase of pre-validation, which uses the compatible device information.

Basic App Information

Add code to the binary file manifest to indicate fundamental app data.

Datum

Purpose / binary code that determine field entry

App version

App ID
(Android *)

Package ID (Tizen *)

 

App version (text string) displayed in the Galaxy Apps store listing
Binary file version displayed in Seller Office UI Binary / Version field

APK

The App ID (also package name) must be two text segments separated by a dot.
Each segment must start with a letter, followed by alphanumeric characters and underscores. 

In the manifest.xml file:                  

<manifest xmlns:android="http://schemas.android.
com/apk/res/android"
android:versionCode="2" android:versionName="1.0.0.1" package="package.name.sample">    

WGT/TGK      

In the config.xml/tizen-manifest.xml file:

* <manifest xmlns="http://tizen.org/ns/packages" package="org.tizen.basic" version="1.0.0" api-version="2.3.1">

 

Version Name

Version code

App version name and code will be extracted from the version.xml file of the app displayed in the app store

For App version code (integer)

APK    

Version Name                

manifest.xml file:
* <manifest xmlns:android="http://schemas.android.
com/apk/res/android"
android:versionCode="2" android:versionName="1.0.0.1" package="package.name.sample">    

WGT / TGK    

Version Code is an integer converted from Version Name. Version code is used to compare binary versions when an app is registered.
 

API (MinSdkVersion)

APK    
Minimum SDK version (default: 1)      

WGT
api-version (default: 1)

TPK
required_version (default: 2.3.1)
      

 

Android Device Recommendation Features

Add code to the binary file manifest to indicate user device features that your app requires, can support, or cannot support.

Upon uploading a app binary file, Seller Office determines app compatible devices based on the following:

  • If there are no criteria for determining if a feature is used or not used, 'not used' is the default value, except for TouchScreen, for which 'used' is the default value.
  • If a binary file indicates it uses all features,  only the devices that support those features are recommended.
  • If a binary file indicates it does not use any feature, all devices are recommended.
    However, if Faketouch is used while TouchScreen is not used, only Homesync devices are recommended.

 

Feature

Purpose / binary code that determines feature support

VoIP

Whether the app does or does not support Voice over IP

Supports              

If one or more of these uses-features exists in the binary file manifest:

<uses-feature android:name="android.software.sip.voip" android:required="true"/>
<uses-feature android:name="android.software.sip.voip"/>
<uses-feature android:name="android.hardware.sip.voip" android:required="true"/>
<uses-feature android:name="android.hardware.sip.voip"/>

Does not support

If either of these uses-features exists in the binary file:

<uses-feature android:name="android.software.sip.voip" android:required="false"/>
<uses-feature android:name="android.hardware.sip.voip" android:required="false"/>

Telephony

Whether the app does or does not support telephony

Does support telephony   

If one or more of these uses-features exist in the binary file manifest:

<uses-feature android:name="android.hardware.telephony" android:required="true"/>
<uses-feature android:name="android.hardware.telephony"/>
<uses-feature android:name="android.hardware.telephony.cdma" android:required="true"/>
<uses-feature android:name="android.hardware.telephony.cdma"/>
<uses-feature android:name="android.hardware.telephony.gsm" android:required="true"/>
<uses-feature android:name="android.hardware.telephony.gsm"/>

If one or more of these uses-permissions exist in the binary file manifest:

<uses-permission android:name="android.permission.CALL_PHONE"/>
<uses-permission android:name="android.permission.CALL_PRIVILEGED"/>
<uses-permission android:name="android.permission.MODIFY_PHONE_STATE"/>
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/>
<uses-permission android:name="android.permission.READ_SMS"/>
<uses-permission android:name="android.permission.RECEIVE_SMS"/>
<uses-permission android:name="android.permission.RECEIVE_MMS"/>
<uses-permission android:name="android.permission.RECEIVE_WAP_PUSH"/>
<uses-permission android:name="android.permission.SEND_SMS"/>
<uses-permission android:name="android.permission.WRITE_APN_SETTINGS"/>
<uses-permission android:name="android.permission.WRITE_SMS"/>

Does not support telephony

If no uses-feature cases or no uses-permissions exist in the manifest.

If uses-feature required = "false": uses-feature has priority, even when the Telephony permission exists.

If one or more of these uses-features exist in the binary file manifest:

<uses-feature android:name="android.hardware.telephony" android:required="false"/>
<uses-feature android:name="android.hardware.telephony.cdma" android:required="false"/>
<uses-feature android:name="android.hardware.telephony.gsm" android:required="false"/>

NFC

 

Whether the app does or does not support NFC

Supports              

If one or both of these uses-features exists in the binary file manifest:

<uses-feature android:name="android.hardware.nfc" android:required="true"/>
<uses-feature android:name="android.hardware.nfc"/>

If this uses-permission exists in the binary file manifest:

<uses-permission android:name="android.permission.NFC"/>

Does not support

If no uses-feature cases and nor android.permission.NFC exist in the manifest.

If uses-feature required = "false", uses-feature has priority, even when the NFC permission exists.

<uses-feature android:name="android.hardware.nfc " android:required="false"/>

TouchScreen

Whether the app uses TouchScreen, or uses TouchScreen but use is not required

Uses and is required        

If no uses-feature cases exist in the manifest.

If one or more of these uses-features exist in the binary file manifest:

<uses-feature android:name="android.hardware.touchscreen" android:required="true"/>
<uses-feature android:name="android.hardware.touchscreen"/>
<uses-feature android:name="android.hardware.touchscreen.multitouch" android:required="true"/>
<uses-feature android:name="android.hardware.touchscreen.multitouch"/>
<uses-feature android:name="android.hardware.touchscreen.multitouch.distinct" android:required="true"/>
<uses-feature android:name="android.hardware.touchscreen.multitouch.distinct"/>
<uses-feature android:name="android.hardware.touchscreen.multitouch.jazzhand" android:required="true"/>
<uses-feature android:name="android.hardware.touchscreen.multitouch.jazzhand"/>

Uses but use is not required

If this uses-feature exists in the binary file manifest:

<uses-feature android:name="android.hardware.touchscreen" android:required="false"/>​​​

 

Faketouch

Whether the app does or does not support Faketouch

Supports

If one or more of these uses-features exists in the binary file manifest:

<uses-feature android:name="android.hardware.faketouch" android:required="true"/>
<uses-feature android:name="android.hardware.faketouch"/>
<uses-feature android:name="android.hardware.faketouch.multitouch.distinct" android:required="true"/>
<uses-feature android:name="android.hardware.faketouch.multitouch.distinct"/>

Does not support

If no uses-feature cases exist in the manifest.

If uses-feature required = "false":

<uses-feature android:name="android.hardware.faketouch" android:required="false"/>
<uses-feature android:name="android.hardware.faketouch.multitouch.distinct" android:required="false"/>

Edge

Whether the app does not use Edge or supports the following Edge modes

Supports Edge Single mode               

If this metadata exists in the binary file manifest:

<meta-data android:name="com.samsung.android.cocktail.mode“ android:value="edge_single"/>

Supports Edge Single + mode                

If this metadata exists in the binary file manifest:

<meta-data android:name="com.samsung.android.cocktail.mode“ android:value="edge_single_plus"/>

Supports Edge Immersive mode   

If this metadata exists in the binary file manifest:

<meta-data android:name="com.samsung.android.cocktail.mode“ android:value="edge_immersion"/>

Supports Edge Feeds mode        

If this metadata exists in the binary file manifest:

<meta-data android:name="com.samsung.android.cocktail.mode“ android:value="edge_feeds"/>

Does not support any Edge mode               

If no metadata is listed in the manifest.
 

Google IAP

Whether the app does or does not support Google IAP

Supports

If this uses-feature exists in the binary file manifest:

<uses-permission android:name="com.android.vending.BILLING"/> 

Does not support

If no instances of meta-data exist in the manifest
 

install_only
_owner

Whether the app does or does not require installation by the owner

Requires   

If this meta-data exists in the binary file manifest:

<meta-data android:name="com.samsung.android.multiuser.install_only_owner" androd value="true"/> 

Does not require

If no instances of meta-data exist in the manifest

 

Galaxy Watch Device Recommendation Features

Add code to the binary file manifest to indicate user device features that your app requires, can support, or cannot support.

Upon uploading a app binary file, Seller Office determines app compatible devices based on the following:

  • If there are no criteria to determine whether or not a feature is used, the default 'not used' results.
  • If a binary file indicates it uses all features,  only the devices that support those features are recommended.
  • If a binary file indicates it does not use any feature, all devices are recommended.
     
Feature Purpose and binary code that determines feature support

GPS

Whether the app does or does not support GPS geolocation

Supports     

If the following feature is listed in the binary file manifest:

<Feature Name="http://tizen.org/feature/ location.gps"/> 

Does not support

If the above feature is not listed in the manifest.
 

Camera

Whether the app does or does not support the device camera

Supports                 

If the following feature is listed in the binary file manifest:

<Feature Name="http://tizen.org/feature/camera"/> 

Does not support

If the above feature is not listed in the manifest.
 

IrLED

Whether the app does or does not support IR signalling

Supports

If the following feature is listed in the binary file manifest:

<Feature Name="http://developer.samsung.com/tizen/feature/irled"/>

Does not support

If the above feature is not listed in the manifest.
 

Network

Whether the app does or does not support network detection

Supports

If one or more of the following features is listed in the binary file manifest:

<Feature Name="http://tizen.org/feature/network.telephony"/>
<Feature Name="http://tizen.org/feature/network.telephony.mms"/>
<Feature Name="http://tizen.org/feature/network.telephony.sms.cbs"/
<Feature Name="http://tizen.org/feature/network.wifi"/>

Does not support

If none of the above features is listed in the manifest.
 

UV

Whether the app does or does not support UV level monitoring

Supports       

If the following feature is listed in the binary file manifest:

<Feature Name="http://developer.samsung.com/feature/sensor.ultraviolet"/>

Does not support

If the above feature is not listed in the manifest.
 

Airpressure

Whether the app does or does not support air pressure monitoring (altimeter)

Supports

If the following feature is listed in the binary file manifest:

<Feature Name="http://tizen.org/feature/sensor.barometer"/>

Does not support

If the above feature is not listed in the manifest.
 

Magnetic

Whether the app does or does not support magnetic detection (compass)

Supports               

If the following feature is listed in the binary file manifest:

<Feature Name="http://tizen.org/feature/sensor.magnetometer"/>

Does not support

If the above feature is not listed in the manifest.
 

Ambient

Whether the app does or does not support light detection

Supports          

If the following feature is listed in the binary file manifest:

<Feature Name="http://tizen.org/feature/sensor.photometer"/>

Does not support

If the above feature is not listed in the manifest.
 

Heartrate

Whether the app does or does not support the heart rate monitor

Supports:             

If the following feature is listed in the binary file manifest:

<Feature Name="http://developer.samsung.com/tizen/feature/heart_rate_monitor"/>

Does not support

If the above feature is not listed in the manifest.
 

Accelerometer

 

Whether the app does or does not support acceleration detection

Supports           

For web apps (.wgt), if the following feature is listed in the config.xml.

<feature Name="http://tizen.org/feature/sensor.accelerometer"/>

For native apps (.tpk), if the following feature is listed in the tizen-manifest.xml.

<feature Name="http://tizen.org/feature/sensor.accelerometer"/>true</feature>

Gyro Sensor

Whether the app does or does not support gyroscopic detection

Supports        

For web apps (.wgt), if the following feature is listed in the config.xml.

<feature Name="http://tizen.org/feature/sensor.gyroscope"/>

For native apps (.tpk), if the following feature is listed in the tizen-manifest.xml.

<feature Name="http://tizen.org/feature/sensor.gyroscope"/>true</feature>

Fitnessband

Whether the app does or does not support fitness band monitoring

Supports           

For web apps (.wgt), if the following feature is listed in the config.xml.

<feature Name="http://tizen.org/feature/screen.shape.band"/>

For native apps (.tpk), if the following feature is listed in the tizen-manifest.xml.

<feature Name="http://tizen.org/feature/screen.shape.band"/>true</feature>

Galaxy Watch
IAP

Whether the app does or does not integrate Galaxy Watch IAP method calls (in-app items)

Supports           

For web apps (.wgt), if the following feature is listed in the config.xml.

<feature Name="http://tizen.org/privilege/billing"/>

For native apps (.tpk), if the following feature is listed in the tizen-manifest.xml.

<feature Name="http://tizen.org/privilege/billing"/>true</feature>

 

Galaxy Watch Apps and Host App Deeplinks

Add code to the binary file manifest to indicate the binary file is for a Galaxy Watch app, the type of app (standalone or companion, and a companion app's linked host app deeplink.

Feature Purpose and binary code that determines feature support

Tizen Wearable Device
Application

Whether the app does or does not support a Tizen wearable device

Does support a Tizen wearable device   

If both of these uses-permissions and metadata exist in the binary file manifest:

<uses-permission android:name="com.samsung.wmanager.APP"/>
<meta-data android:name=" GearAppType" android:value="wgt”/> 

Does not support a Tizen wearable device

If one or both of the above uses-permissions or metadata do not exist in the manifest.
 

Standalone

 

Whether the app is or is not a standalone Galaxy Watch application

Is a standalone app            

If all of the following apply:

  • The Galaxy Watch IAP feature is not used and is not specified (see above).
  • Galaxy Watch linked (host) deeplink extraction data is not specified (see below).
  • The accessory privilege is not specified:
    Note: This means that your app does not integrate the Remote AppControl API or the SAP API.

    For web apps (.wgt), if the following are not listed in the config.xml.

    <tizen:privilege name="http://developer.samsung.com/tizen/privilege/accessoryprotocol"/ >
    <tizen:privilege name="http://developer.samsung.com/privilege/accessoryprotocol"/>
    

    For native apps (.tpk), if the following is not listed in the tizen-manifest.xml.

    <privilege>http://developer.samsung.com/tizen/privilege/accessoryprotocol</privilege>

     

Is not a standalone app

If one or more of the above do not apply.
 

Companion

Whether the app is or is not a companion Galaxy Watch application

Is a companion app              

If one or more of the following apply:

  • The Galaxy Watch IAP feature is used and specified (see above).
  • Galaxy Watch linked (host) deeplink extraction data is specified (see below).
  • The accessory privilege is specified:
    Note: This means that your app integrates the Remote AppControl API and/or the SAP API.

    For web apps (.wgt), one or both of the following are listed in the config.xml.

    <tizen:privilege name="http://developer.samsung.com/tizen/privilege/accessoryprotocol"/ >
    <tizen:privilege name="http://developer.samsung.com/privilege/accessoryprotocol"/>
    

    For native apps (.tpk), if the following is not listed in the tizen-manifest.xml.

    <privilege>http://developer.samsung.com/tizen/privilege/accessoryprotocol</privilege>

     

Is not a companion app

If none of the above apply.
 

Host Deeplink

 

For companion apps only, the deeplink URL to their host Android app, to be specified in the config.xml (wgt binary) or tizen-manifest.xml (tpk binary) files

In Samsung Galaxy Apps store:

tizen:metadata key="master_app_samsungapps_deeplink" value="[SAMSUNG Galaxy Apps deeplink URL]"/> 


In the Google Playstore:

<tizen:metadata key="master_app_playstore_deeplink" value="[Google Playstore deeplink URL]"/> 

 

In a third-party app store:

<tizen:metadata key="master_app_3rd_url_deeplink" value="[third-party app store deeplink URL]"/> 

 

 

Galaxy Specials Apps Information

If your app uses one or more of the following features, you can select a Galaxy Specials category for your app.

  • If there are no criteria for determining if a feature is used or not used, 'not used' is the default value.

Samsung Developer SDK

Whether the app does or does not use the Samsung IAP SDK

Uses  

If the following uses-permission exists in the manifest.xml:

<uses-permission android:name="com.samsung.android.providers.context.permission.WRITE_USE_APP_FE ATURE_SURVEY" />

Does not use

If the above uses-permission does not exist in the manifest.

Samsung IAP SDK

Whether the app does or does not use the Samsung IAP SDK

Uses      

If one or more the following uses-permissions exist in the manifest.xml:

<uses-permission android:name="com.sec.android.iap.permission.BILLING"/>
<uses-permission android:name="com.sec.android.app.billing.permission.BILLING"/>
<uses-permission android:name="com.samsung.android.iap.permission.BILLING"/>

Does not use

If the above uses-permissions do not exist in the manifest.

S Pen SDK

Whether the app does or does not use the Samsung S Pen SDK

Uses

If the following uses-feature exists in the manifest.xml:

<uses-feature name="com.sec.feature.spen_usp" android:required="true"/>

Does not use

If the above uses-feature does not exist in the manifest.

Smart Connectivity SDK

Whether the app does or does not use the Smart Connectivity SDK

Uses

If the following metadata exists in the manifest.xml:

<meta-data android:name="SmartConnectivity" android:value="true" />

Does not use

If the above metadata does not exist in the manifest.

PEN.UP SDK

Whether the app does or does not use the PEN.UP SDK

Uses       

If the following metadata exists in the manifest.xml:

<meta-data android:name="PENUP" android:value="true"/>

Does not use

If the above metadata does not exist in the manifest.

 

Additional App Information

If your app uses the following feature, you can select a Galaxy Specials category for your app.

  • If there are no criteria for determining if a feature is used or not used, 'not used' is the default value.

VoIP

Whether the app does or does not support VoIP

Supports VoIP
If one or more of the following exist in the binary file manifest:

<uses-feature android:name="android.software.sip.voip" android:required="true"/>
<uses-feature android:name="android.software.sip.voip"/>
<uses-feature android:name="android.hardware.sip.voip" android:required="true"/>
<uses-feature android:name="android.hardware.sip.voip"/>

Does not support VoIP

If one or more of the following exist in the binary file manifest:

<uses-feature android:name="android.software.sip.voip" android:required="false"/>
<uses-feature android:name="android.hardware.sip.voip" android:required="false"/>

 

 

Seller Office Indications of Supported Device Features

When the following features are specified as supported or required, in an app's binary file or through the Seller Office UI, they are used by the OS to determine which user devices are compatible with the binary file.

Type

Field

Default value / recommendations

Binary auto detection
(specified in the binary file manifest file)

Telephony (call/SMS)

Type of devices that are compatible with the binary file with regard to telephony:

No All devices

Yes Only devices with telephony functionality

If not specified, 3G only is disabled.

Binary auto detection
(specified in the binary file manifest file)

NFC

Disabled

Recommended devices:

No All devices are recommended.

Yes Only devices with the function are recommended.

Disabled by default if there is no configuration in the manifest.

Faketouch

Disabled

Recommended devices:

Disable All devices are recommended.

Enable Only devices with Homesync devices are recommended.

If Touchscreen is disabled, Faketouch is enabled.

If there is no configuration in the manifest, ‘Disable’ is set by default.

TouchScreen

Enabled

Type of support:

Enable Devices that do not support Touchscreen are excluded.

Disable Recommended devices are enabled with Faketouch.

If there is no configuration in the manifest, ‘Disable’ is set by default.

Recommended devices:

No All devices are recommended.

Yes Default Only the devices with the function are recommended.

Disabled by default if there is no configuration in the manifest.

Edge

Disabled

Recommended devices:

No All devices are recommended.

Yes Default Only the devices with the function are recommended.

Disabled by default if there is no configuration in the manifest.

Camera, GPS, Network, IrLED, UV, Airpressure, Magnetic, Ambient, Heartrate (Tizen wearables)

Network: 2G/3G/Wi-Fi

Disabled (displayed only for Tizen wearables)

Recommended devices:

No All devices are recommended.

Yes Default Only the devices with the function are recommended.

Disabled by default if there is no configuration in the manifest.

Manual input
(specified in the Seller Office UI)

Resolution(s)
(Android apps)

Device display resolutions supported by the binary file

 

 

For one or more selected resolutions, all corresponding devices are compatible with regard to device display resolution.

Tizen wearable resolutions(s)
(Tizen apps)