Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

iOS - Open an app with a URL Scheme from Chrome

I've read many many blogs and examples of how to open an app from an URL scheme (for example, this blog), and it seems to work great when I call my app from mobile safari. For instance, when I call testapp://some.data.here in mobile safari, it opens my testapp and I can parse out the some.data.here.

However, when I call testapp://some.data.here in iOS-Chrome, it just googles the term instead of calling the app.

Is there a way to have iOS Chrome recognize the URL as a registered app the way mobile safari does?

When I google this topic, I see a lot of comments on how to open a url in chrome from an app, but not the other way around.

Has anyone encountered this?

Thanks!

like image 696
Brett Avatar asked Dec 16 '12 04:12

Brett


People also ask

What is URL scheme in iOS?

URL Schemas are used to launch an application from either a browser of from another application on iOS. iOS application developers can specify and register their own custom URL schemas.


2 Answers

Due to the way that the Chrome app appears to be developed, it doesn't seem this is possible at present without a jailbreak (and even then, not easily). You should go bug the Google Chrome iOS team to fix this (e.g. try to open in all registered apps with URL schemes before googling). Sorry I couldn't be of more use, but there just doesn't seem to be an easy way around it.

like image 92
Aehmlo Avatar answered Oct 12 '22 23:10

Aehmlo


There is a complex workaround, but you're probably not going to be too excited about building it as it involves hosting a web server to dynamically generate pages with the appropriate redirect. This is a over-simplified representation of what we built at Branch. This includes some code to get you started though the web server will require a bit of setup not described here.

  1. instead of testapp://some.data.here, you'll link to http://yoursite.com/hosted-redirect/some.data.here.

  2. your server should listen at the route /hosted-redirect, grab some.data.here and build the following page (body here):

code
(source: derrrick.com)

So your server will have to generate and respond with this page, filling in some.data.here, anytime http://yoursite.com/hosted-redirect/some.data.here is requested.

A lightweight node app could do this with a single file.

I just tested a static file for one of my apps and this definitely works.

like image 20
st.derrick Avatar answered Oct 13 '22 01:10

st.derrick