我们有一个Android应用程序,在用户被重定向到自定义协议时启动。 如果用户的设备上未安装该应用,我们希望用户重定向到该应用的google / play商店。
对于iOS,我们使用类似这样的内容:Is it possible to register a http+domain-based URL Scheme for iPhone apps, like YouTube and Maps? ...但是这不适用于Android。
这是基本的工作流程:
customProtocol://site.com?some=params
关于我们如何在Android上实现这一点的任何想法?它在Android上是不可能的吗?
答案 0 :(得分:21)
关于我们如何在Android上实现这一点的任何想法?
不使用“自定义协议”(或者更准确地说,是“自定义方案”)。 Android上的模式是您使用您控制的URL。
例如,条形码扫描仪应用具有the following defined for its main scanning activity:
<!-- Allow web apps to launch Barcode Scanner by linking to http://zxing.appspot.com/scan. -->
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="http" android:host="zxing.appspot.com" android:path="/scan"/>
</intent-filter>
然后,http://zxing.appspot.com/scan的任何链接都会执行以下两项操作之一:
如果从Android设备上的浏览器点击链接并安装了条形码扫描程序,则用户可以选择显示应用程序还是显示与链接关联的网页
如果在其他地方点击链接(没有应用的Android设备,其他移动设备,桌面,笔记本等),浏览器会显示该网址的网页,您可以在其中执行任何操作想要,包括可选择重定向到Play商店
答案 1 :(得分:3)
您可以定义一个服务器端网址,只需重定向到Google Play中的应用程序页面,然后在intent filter中使用该网址即可由您的应用程序捕获: