Reputation: 86
I am developing a native (C++) app for Samsung Gear which also uses Android companion app. My app has been rejected due to missing deep link to companion app. I found out that I should include this tag in tizen-manifest.xml
<metadata key="master_app_playstore_deeplink" value="https://play.google.com/store/apps/details?id={package_id}"/>
However, my app has been rejected again. I get this issue
There is no deep link to download companion app '{app name}'
with description
<Defect>
There is no deep link to download companion app '{app name}'
<Procedure>
1. Check that the app need master app '{app name}'
2. Download the app form Galaxy Apps > Check that no deep link occur
<Expected Result>
DeepLink should occur right after installing Gear application.
<Test Device Info>
Detected Device: SM-N910C_SM-R770, SW Version: R770XXU2BQG4_N910CXXS2DQB8
I am not sure how the deep link should work, so I am not able to test it properly. Any help would be appreciated
Thanks
//EDIT: here is my tizen-manifest.xml (privileges and features are missing http://tizen.org/ at the beginning, because I do not have enough rep to post more than two links)
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<manifest xmlns="http ://tizen .org/ns/packages" api-version="2.3.2" package="{app_package}" version="1.0.0">
<profile name="wearable"/>
<ui-application appid="{app_package}" exec="{exec_name}" multiple="false" nodisplay="false" taskmanage="true" type="capp">
<label>{app_name}</label>
<icon>ic_launcher.png</icon>
<metadata key="accessory-services-location" value="/res/xml/accessoryservices.xml"/>
<metadata key="launch-on-attach" value="false"/>
<metadata key="master_app_playstore_deeplink" value="https://play.google.com/store/apps/details?id={package_id}"/>
</ui-application>
<privileges>
<privilege>privilege/mediastorage</privilege>
<privilege>privilege/appmanager.launch</privilege>
<privilege>http://developer.samsung.com/tizen/privilege/accessoryprotocol</privilege>
<privilege>privilege/recorder</privilege>
<privilege>privilege/externalstorage.appdata</privilege>
<privilege>privilege/externalstorage</privilege>
</privileges>
<feature name="feature/screen.size.all"/>
<feature name="feature/microphone">true</feature>
</manifest>
Upvotes: 2
Views: 1247
Reputation: 5249
The correct URL syntax for deep linking with Play Store is:
<metadata key="master_app_playstore_deeplink" value="market://details?id={package_id}"/>
See examples for both samsungapps and Play Store under "Notes" in this document: http://developer.samsung.com/gear/develop/creating-your-first-app/web-companion/configuration
Samsung Galaxy Apps Guide: Ex) samsungapps://ProductDetail/com.example.myapp
Play Store Guide : Ex) market://details?id=com.example.myapp
Please also notice, to make deep linking working, you don't need both URL's, you need only one. I've just submitted my companion app registered at Play Store only, and it works perfectly well with a Gear app.
Upvotes: 2
Reputation: 1816
Here is an example of config.xml
taken from a simple Tizen web application, found in the Configuring Gear Application documentation:
<tizen:metadata key="master_app_name" value="master App"/> <tizen:metadata key="master_app_packagename" value="com.example.masterapp"/> <tizen:metadata key="master_app_min_version" value="10"/> <tizen:metadata key="master_app_samsungapps_deeplink" value="Samsungapps deeplink URL"/> <tizen:metadata key="master_app_playstore_deeplink" value="playstore deeplink URL"/> <tizen:metadata key="master_app_3rd_url_deeplink" value="3rd url deeplink URL"/> <name>WebBasic</name> <tizen:profile name="wearable"/>
and from the Samsung Gear Application Programming Guide:
When it comes to determining app priorities in the China model,
master_app_3rd_url_deeplink
is higher thanmaster_app_samsungapps_deeplink
. In non-China models,master_app_samsungapps_deeplink
is higher thanmaster_app_playstore_deeplink
.
So, As you have not given any configuration, i am guessing you have not added master_app_samsungapps_deeplink
in your configs.
Upvotes: -1