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!
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.
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.
instead of testapp://some.data.here, you'll link to http://yoursite.com/hosted-redirect/some.data.here.
your server should listen at the route /hosted-redirect, grab some.data.here and build the following page (body here):
(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.