Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Open app from SMS with my url scheme as a link

Tags:

ios

url-scheme

I declared an url scheme in my app, smstest so in Safari I can write in the search bar smstest:my-testor smstest://my-test and my app is open.

I'm trying to achieve the same from a SMS text so the Messages app would format smstest:my-test or smstest://my-test as a link and the user could tap it and my app being called. But the text is not formatted as a link.

Is it possible or the only solution to open an app from a SMS is to point to an Internet page with a script?

Thank you.

EDIT: funny thing, I have installed IMO Messenger and I receive a SMS with a code as an URL scheme, and that is parsed by Messages app as a link. Why does not happens with my app? I tried with several messages, with spaces before and after the url and nothing happens.

like image 491
emenegro Avatar asked Apr 11 '14 11:04

emenegro


People also ask

Can a URL open an app?

Overview of Android App LinksApp Links use HTTP URLs associated with your website domain, and allow a specific app to be the default owner of a given type of link.

What is app URL scheme?

The app: URL scheme can be used by packaged applications to obtain resources that are inside a container. These resources can then be used with web platform features that accept URLs.

What is a custom URL scheme?

Custom URL schemes provide a way to reference resources inside your app. Users tapping a custom URL in an email, for example, launch your app in a specified context. Other apps can also trigger your app to launch with specific context data; for example, a photo library app might display a specified image.


1 Answers

In general there is standard way to open application from Messages app by using url scheme:

  1. Add url scheme to info.plist file: my-scheme.
  2. Install application to the target iPhone.
  3. Send SMS with text like this: "my-scheme://it-is-my-scheme.

And everything works well. But it is possible one interesting case when it doesn't work and you think that source code is wrong. But it isn't so. Let's try to investigate this case:

  1. Before adding url scheme and installing application send SMS. As it expected message will be displayed as plain text:
    First SMS

  2. Now lets add url scheme to info.plist:
    Info.plist

  3. Finally install application and send/receive the same SMS:
    Second SMS

As you see last message is displayed like link and if I tap on it then iOS opens my application. But the first message is still displayed as plain text and it isn't tappable. It seems that the logic of Messages app is implemented in such manner.

Now lets delete application from iPhone and send the same SMS one more time:
Third SMS
Now it again displayed as plain text but the second message - as link. And if I tap on it iOS does nothing and leaves Messages app opened.

Conclusion: Be sure that you send/receive SMS after installing application that supports your scheme. Only in this case it will be displayed as link and user can open your application by tapping on it.

Notice: I also catch one case when at the beginning application was installed without supported url schemes and then when I add this support message has been displayed as plain text but not as link. I can't reproduce it. But if above steps won't help to resolve your issue try:

  1. Remove application from iPhone;
  2. Change url scheme (or even change both: url scheme and bundle id as a last resort);
  3. Install it again;
  4. Send SMS with new url scheme.
like image 151
Vlad Papko Avatar answered Sep 28 '22 03:09

Vlad Papko