没有Google Play商店的Android NFC AAR

时间:2015-08-13 18:51:25

标签: android android-intent nfc

我正在尝试制作一个NFC标签,执行所有必要的安装并启动我的应用程序。基本上,我们的想法是让您的设备开箱即用,触摸您的手机,它会引导您完成安装和运行它的所有步骤。然后,在将来的任何时候,您只需触摸NFC标签即可。

在标签上,我想:

  1. Uri记录指向我们网站的下载页面,
  2. 蓝牙相关记录,用于将我们的设备与手机配对
  3. 包含我们的应用程序包名称的AAR
  4. 如果我们的应用程序已安装,这很有效,因为我们收到NDEF意图,解析蓝牙并配对远程设备。

    如果我们的应用程序没有安装,我想浏览器打开我们的网站,以便您可以下载该应用程序。不幸的是,AAR NDEF记录的存在反而将用户发送到Google Play商店。出于商业原因,我们现在不想将我们的应用程序放到游戏商店。

    是否有办法在标签上设置AAR或同等记录,如果已安装,则将意图定向到我们的应用,但如果未安装,则不会重定向到应用商店?

    如果失败了,是否存在多个AAR记录的解决方案,当我们的应用未安装时,这些记录可以回退到浏览器?

2 个答案:

答案 0 :(得分:2)

我们仍在寻找更好的答案,但这是迄今为止我们提出的最好的答案。

我们的标签现在包含:

  1. Uri记录指向我们网站的下载页面,
  2. 蓝牙相关记录,用于将我们的设备与手机配对
  3. 包含我们的应用程序包名称的AAR
  4. 包含com.sec.android.app.sbrowser
  5. 的AAR
  6. 包含com.google.android.browser
  7. 的AAR
  8. 包含com.android.chrome的AAR
  9. 基本上,如果我们的应用程序已安装,我们的应用程序会捕获意图,否则我们会尝试几个标准的浏览器程序包名称作为后备来捕获uri。我们有一个相当大的NFC标签,所以我们可以在android上列出所有标准的浏览器包名称。

    到目前为止,它适用于来自4个不同制造商的8部手机。如果有人有完整的浏览器列表,我们将不胜感激。它显然不理想,但它可能适用于您可以控制购买哪些手机的企业场景。

答案 1 :(得分:0)

尝试以下方法:

删除所有AAR记录并在应用的清单中创建一个intent-filter,以准确过滤特定的URI。然后,如果您的应用程序已安装,它将始终收到意图,否则无论手机上安装的任何应用程序/浏览器处理通用http / https都将打开下载页面。

请查看我之前的答案,演示如何创建自定义URI / MimeType过滤器:https://stackoverflow.com/a/27397938/3312868

编辑:及时,如果您在Play商店发布应用,则可以更改下载网址以重定向到Play商店。