Deep Link SmartThings Mobile App

Hello!
I am curious if SmartThings provides, and maintains, a deep link URL? To be clear, I am referring to a single URL that can be placed inside an email, webpage, or even another app. When tapping on this URL link while the user is on a mobile device, the link would do one of the following:

  • open the SmartThings app on the mobile phone of the user, if the SmartThings app is installed on that phone (on each iPhone and Android). OR…
  • if the SmartThings app is not installed on the user’s phone, the link will send iPhone users to the App Store for SmartThings download. OR…
  • if the SmartThings app is not installed on the user’s phone, the link will send Android users to the Play Store for SmartThings download.

Such app links typically work by using the Android Intent system on Android devices and Custom URL Scheme on iOS devices. They are typically referred to as app links, deep links, and deferred links, amongst other names. For my purposes, I am not looking for the link to direct the user to a specific page within the SmartThings app. I am only looking for a basic link, to open the app on the iOS/Android home or login page, and if the app is not installed, then to redirect to the app in the Play Store or App Store. I am wondering if the SmartThings team provides such a link?

Looking forward to replies!
-Kevin

p.s. For further information on app links, I found this article to be helpful in sorting out some general confusion on the topic.

I looked at the AndroidManifest.xml of the Android app and there is indeed one deep-link for what you want: https://www.smartthings.com/applink

It will just open the app if installed or redirect to the Play Store, I guess in iOS it will redirect to the Apple Store.

There are six URLs actually, but the others are for starting the linking process with Alexa and authentication or onboarding stuff. No deep links for specific sections for instance.

2 Likes

Hi @mocelet and thank you for your reply!
This is a great start and I’m glad you put time into this to assist me. Unfortunately when I tried that link, it only sent me to the app/play stores, even when I already had the app installed. I tried on each iOS/Android.

Also, I actually had to click twice on android to get to the Play Store app itself. On each it took me to the web version of the stores with a popup asking if I wanted to open the actual app of the app/play stores. On iOS this popup was defaulted to take me there without me clicking, but on my android I had to tap again “yes” and then it opened up to the PlayStore for SmartThings.

So it seems this link works to send to the App/Play Stores only. But it’s a start! Good to know at least this link exists and I can use to send traffic. However, I am still curious if a link exists that is called a deferred link - where it will only send to the App/Play Stores IF the app is NOT installed?

Out of curiosity, are you a developer for the app? It is cool that you were able to look at the manifest.xml of the app.

The link opens the app for me, depending on the browser it will ask or not. Chrome opens the app directly, Duck Duck Go asks if I want to open a external app (SmartThings).

You can look at the manifest too, just install Android Studio and drag the apk file that you can download from apkmirror or locate it in your phone.

@mocelet interesting. Yes I am definitely using Chrome with the latest version. What phone make and model are you using? I initially tried with a very old Pixel XL from 2016 that I own, so just to be sure it wasn’t due to the old model I used browserstack.com to try a 2022 Samsung Galaxy S22 Ultra. I had the same problem. I can’t attach a video, but you can see the popup “Continue to SmartThings? This site wants to open the SmartThings app” is immediately replaced by “Continue to Google Play Store? This site wants to open the Google Play Store app.” There is no time to click “Yes” to the first prompt to open up SmartThings before it is overridden by the Play Store prompt. This is the exact same issue I have on my iPhone 11 from 2019, using Safari browser. Same thing with the prompt to open the SmartThings app - before you can say yes, it opens the App Store for SmartThings.

In addition to knowing your phone make and model I just want to confirm the expected behavior - as far as you understand? I think in your original post you said you expected it not to open the app directly on iPhones, but thought it would work on android? (Since I am getting the same behavior on each device I’m curious your thoughts).

It’s an Oppo with Android 13 but should not matter.

Are you clicking the link? If you write the URL in the address bar it’s not going to work. Try sending yourself an email or message with the link and click it. If the app is installed, Android should open the app instead of the web browser.

I tested it when replying, I don’t have iPhones so I don’t know the behaviour there.

1 Like

@mocelet it works like a charm! on each iOS and android! Yes previously I was typing in the link. That is really interesting that it has different behavior with tapping vs typing the link. Emailed to myself and totally different experience.

I also looked up apkmirror. This is great stuff you are providing me. Thank you. I understand now how you got the manifest file.

Last thing - not sure if you’ll have an answer here - but I fail to understand why such links are not marketed more so that I could have easily found it on their website? Just random question but I’m curious if you have any thoughts? I mean I literally had to call support, find the community forum, post, get lucky that someone like you would reply and help. It is strange to me that, if I am the one trying to drive traffic, that I would be the one to have to go through this trouble to obtain a very simple link. Just wondering why you think companies that literally have these links in their code (more than just Samsung) don’t make these links more visible on their websites, etc.?

I just tried it on Android and it opened the link in the app. Did you actually create a link to test or did you type it into the address bar? Only the latter wouldn’t work. I believe the developers consider that if anyone goes to the trouble of typing something manually then they would expect to be taken to the URL on the web.

On a related subject, but not strictly what you asked about, scapp is the scheme thingy for the SmartThings app, so for example you can open the Home Monitor using scapp://launch?action=service&service_code=SHM. That link doesn’t seem to work from in this forum but it does elsewhere.

1 Like

@orangebucket thank you for your reply! Yes, mocelet helped me figure out that I could not type the URL into the browser, and then everything worked correctly once I emailed myself the link. That is an interesting reason for this behavior, if indeed the devs considered that a person typing would want to remain on the web.

In any case, I am just happy to finally have the link. I tried two different avenues of support tickets: one via Samsung and another via SmartThings. Neither one gave the correct answer, because they each said there was no link, but clearly there is. I wonder why companies do not post these deep links on their websites to be consumed?

p.s this app seems to have several custom url schemes. The one you found is the third such one I have discovered and tested over the course of my investigation, and they all work to open the app. Also, these work if typed into the browser

  • scapp://

  • smartthings://

  • amzn-com.samsung.oneconnect4ios://

1 Like

Do you (or anyone else) know more about how the scapp url scheme works? Could I use it to directly open my TV or even the TV remote in the SmartThings app? (I think on Android you can simply create a home screen icon for a particular device, but that is missing on iOS.)

If I did investigate the deeplinking more I’ve long since forgotten it. I do know that

scapp://launch?action=plugin_launcher&deviceid={{deviceId}}

where {{deviceId}} is replaced by the unique UUID for a device will open up the device details page for the device.

Something along the lines of

scapp://launch?action=plugin_launcher&pluginid=com.samsung.android.plugin.tv.MainActivity

might do something with a TV remote but I don’t have anything to experiment with.

I don’t know what goes on with the iOS app though.

1 Like

That one works very well for my purposes, it opens the device details page with the TV remote overlay in the foreground. Thank you!

Its not missing in iOS, you can add a widget for tv remote or specific device:


1 Like

That’s true. I guess my statement above was imprecise, as those do indeed serve similar functions.

The problem with the TV remote widget is that its power button doesn’t support art mode for The Frame TVs, so I still need to open the remote in the app to properly control the TV. And the benefit of creating a Shortcut which opens the scapp:// URL of a specific device is that it can be placed on the home screen as a regular icon (thus saving space compared to a widget) or can be placed in the control centre alongside other smart home controls.