当用户进入我的网站时,他们会收到一个建议安装my wonderful app
的对话框。当用户按下接受按钮时,弹出带有我的应用程序的游戏市场页面。
仅当用户从手机浏览时,才会出现此对话框。
但是,即使用户已经拥有我的应用程序,也会弹出此对话框。因此,我感兴趣的是一种通知网站有关手机上是否存在应用程序的方法。如果应用程序已安装在手机上,则不应显示对话框。
phone w/o app -> browse site -> get dialoge box
phone with app -> browse site -> normal browsing
简单且无用的解决方案请记住: 如果从我的应用程序打开了链接,则会通过一些操作对其进行扩展,以确定该应用已安装 这是没用的,因为应用程序是足够的,所以开放网站不会带来任何好处。
msh提出了一个更高级的想法:为用户提供一个应用程序将打开链接的选项。如果使用我的应用程序打开链接,如上所述。
有更好的方法吗?
答案 0 :(得分:0)
当然不可能,浏览器不会泄漏手机配置并将应用程序安装到随机网站(我希望,或者有人必须尽快修复)
你可以让你的应用程序对某个URL的VIEW Intent做出反应,然后重定向到你网站上的那个URL,但这会让Android询问用户是否要用你的应用程序或浏览器打开这个URL,所以它是不透明的
答案 1 :(得分:0)
您可以拥有两个单独的网址:www.yousite.com和www.app.yoursite.com。这样至少用户可以免受应用程序的弹出。
答案 2 :(得分:0)
是的,移动浏览器(单独)无法将应用程序安装状态传达给Web。但是,如果你迫切希望实现这种行为,我会为你提供一个“WILD”解决方案。
此解决方案分为两部分:客户端(Android设备)/服务器端(Web)
客户端(在Android设备上):
在您的应用程序中,您需要实现一个BroadcastReciever
,它将持续监听网络状态的变化。每当收到可用于新网络连接的广播时(例如,当用户打开移动数据时),您的应用应该读取获取的IP地址并将其传送到您的Web服务器(使用HttpURLConnection
)。
通知IP地址将通知您的网络服务器从此IP地址浏览您网站的设备已安装您的应用程序。
服务器端(在Web服务器上):
您的网络服务器将跟踪安装您的应用程序的所有设备(在数据库中偏离课程)报告的所有IP地址。为避免冗余条目,您可以为收到的每个IP地址记录确定到期/验证时间。
现在,当您的服务器收到Web请求时,它将使请求客户端的IP与其数据库中保存的所有IP匹配。如果找到匹配的IP,则表示Web请求来自已安装应用程序的设备。否则,您可以将用户定向到应用程序的Play商店链接。
建议解决方案的局限性:仅当用户使用移动数据(2g / 3g /等)连接到互联网时,此解决方案才能100%准确地运行。自从使用移动数据以来,每次设备将由服务提供商发布唯一的IP地址。
这对于Wi-Fi连接不起作用。在使用Wi-Fi进行浏览时,连接到同一个Wi-Fi点的所有设备都分配了相同的IP地址。因此,可能存在两个移动电话正在使用来自相同Wi-Fi点的互联网的情况,其中一部电话安装了您的应用程序而另一部电话没有。这会使服务器感到困惑。
**可能不强烈建议使用此解决方案,但如果您没有获得任何其他解决方案,则可以使用一些小修补程序;)