Android – redirect存储,如果应用程序没有安装(从网站发射)

我们有一个Android应用程序,当用户redirect到一个自定义协议时启动。 我们希望用户redirect到应用程序的google / play商店,如果它没有安装在他们的设备上的话。

对于iOS我们使用这样的东西: 是否有可能注册一个基于http +域名的URL Scheme for iPhone应用程序,比如YouTube和Maps? …但是这不适用于Android。

这是基本的工作stream程:

  1. 用户点击我们网站上的链接
  2. 用户被redirect到customProtocol://site.com?some=params
  3. 如果安装了应用程序,当customProtocol:// url被访问并且应用程序启动时,设备知道该做什么…但是,如果应用程序没有安装,android只会给出一个页面不可用的错误页面; 上面的iOS解决scheme似乎不工作。

任何想法如何我们可以在Android上实现这一点? 这是不是在Android上可能?

Solutions Collecting From Web of "Android – redirect存储,如果应用程序没有安装(从网站发射)"

任何想法如何我们可以在Android上实现这一点?

不与“自定义协议”(或更准确地说,“自定义scheme”)。 Android上的模式是让您使用您控制的url。

例如,条码扫描器应用程序为其主扫描活动定义了以下内容 :

  <!-- 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的任何链接将做两件事之一:

  1. 如果从Android设备上的浏览器中点击链接,并安装了条码扫描器,则用户可以select显示应用程序或显示与链接关联的网页

  2. 如果在其他地方(没有应用程序,其他移动设备,桌面,笔记本等)的Android设备点击链接,则浏览器会调出该url,在其中您可以做任何你想做的事情,包括可选地redirect到Play商店

您可以定义一个服务器端url,将其redirect到Google Play中的应用程序页面,并在意图filter中使用该url,以便您的应用程序捕获该url:

  • 如果安装了应用程序,则将打开您定义意图filter的活动。
  • 如果您的应用程序未安装,意向filter将不会被find,浏览器将被打开,用户将被redirect到Google Play(被提示是否打开Play商店或继续在浏览器中)。