androidtizentizen-wearable-sdksamsung-galaxy-gear

Samsung Wearable Tizen app rejected no deep link


I submitted a new app to the Samsung Galaxy Store a week ago, and it got rejected. The Samsung wearable app is a companion app to an existing Android app.

This Tizen app was built using .NET, and I added a deep link to the Android application in tizen-manifest.xml as such:

<metadata key="master_app_playstore_deeplink" value="market://details?id=com.mycompany.appname"/>

Yes, the package name is 100% correct in my submission, just obscuring it in this question.

Samsung rejected the app with:

[Defect]
There is no deep link to download companion app(MyApp)

[Procedure]
1. Install Gear application
2. Check if DeepLink does occur

[Expected Result]
Deeplink for downloading Companion app(MyApp) should occur right after installing Gear application

Can someone point me to the documentation that describes how to properly deep link from a Tizen companion app built using .NET to an Android app in the play store?

All the questions I've seen on SO do not specifically pertain to .NET, and the links in those answers are broken. Here are examples:

https://stackoverflow.com/a/48483204/1103584

https://stackoverflow.com/a/45989805/1103584

I also tried submitting support tickets to the Galaxy App Store, but it appears their portal is down. I've submitted a ticket to Samsung via another route now, and if they help me I'll update this with an answer.


Solution

  • After scouring the entire internet, Samsung developer forums, Tizen.org, and every other place I could find, it turns out the advice on other SO answers is accurate, but incomplete.

    For deep linking from a Tizen wearable companion app to an Android app, it's not enough to specify the master_app_playstore_deeplink - you must also specify the master_app_name, master_app_packagename, and master_app_min_version. The min version is the minimum versionCode of your Android app that is required for this version of the Tizen companion app to function.

    In summary, you need all of these properties defined in the tizen-manifest.xml of your .NET Tizen companion app to deep link properly to its Android app:

    <metadata key="master_app_name" value="MyApp" />
    <metadata key="master_app_packagename" value="com.mycompany.myapp" />
    <metadata key="master_app_min_version" value="620" />
    <metadata key="master_app_playstore_deeplink" value="market://details?id=com.mycompany.myapp" />
    

    If you do this properly, you can test the deep linking by uninstalling the Android app from your phone, then installing the Tizen app on your wearable. You should see a dialog like the following when you open the Tizen app, preventing you from using the Tizen app until you hit the OK button to install the Android app on your phone.

    App name removed for privacy

    I've not seen this documented properly anywhere online, so hopefully this is helpful to someone else when their Tizen app gets rejected and they're not sure how to fix it.