如何判断android用户是否来自主屏幕应用程序

有没有办法告诉用户是否通过主屏幕shorcut来到您的网站? 在iOS中,我可以使用以下JavaScript代码来检测用户是否通过主屏幕快捷方式打开了该页面:

if (('standalone' in navigator && !navigator.standalone && (/iphone|ipod|ipad/gi).test(navigator.platform) && (/Safari/i).test(navigator.appVersion)) { window.location = 'index2.html'; } 

我找不到有什么类似的,你可以用android做。 任何帮助将不胜感激 :)

Solutions Collecting From Web of "如何判断android用户是否来自主屏幕应用程序"

最简洁的答案是不。”

从Android主屏幕启动的网站书签小部件不包括引用(我刚刚检查 )。

此外,在Android上本地安装/书签networking应用程序的机制与iPhone完全不同,绝对不是全function的(如问题跟踪器上报告的)。

[…]

我明确支持这个请求,因为当时不可能在Android中提供一个原生的Web应用程序,而不需要实现一个仅包含一个WebView的应用程序(或者实现一个stream行的框架,比如PhoneGap或者devices.io )。

这导致您必须支付25美元才能在Android上提供本机外观的WebApp。 在iOS设备上也是免费的 – 更优雅

顺便说一下,上面的网站所有者是有点错误的。 在Android中,他可以从他的网站上提供应用程序,而无需花费25美元来通过Market / Google Play,因为Android使用免费的自签名证书。 思想,他的主要观点依然存在。 这不是一件容易的事情,最终的结果可能不是很有用,除非他做了很多工作。

相对而言,我认为在Android上,与iOS相比,精简的书签小部件主屏幕function几乎从不使用。

例如,我个人使用主铬浏览器,谷歌search,或现有的应用程序作为我的主要入口指向我访问的任何网站。

在上面的截图中,左边的三个红色书签实际上是networking书签。 只是为了与我非常喜欢的非networking书签小部件进行对比,我还在右侧放置了两个电子书小部件。

另外,我认为自己是一个强大的用户,并且是很多function的狂热早期使用者,而且我使用了一些较less使用的Android小部件,但根据HTC的说法,我只有10%的用户是其中一员(除非它是天气,时钟或音乐,这显然是人们首次使用手机时所使用的!)。

即使对于喜欢Android小部件(尤其是我的Android平板电脑)的人来说,更大的书签pipe理器小部件也让我无法控制对我的吸引力,单一的网站书签小部件(提供良好的控制)不会看起来非常好,我从来没有使用它,因为它只是一个红色的书签,在它的中间embedded一个微小的图标。

无论如何,回到你原来的问题。

没有写一个小工具,您的网站的每个Android用户愿意安装在他/她的设备上。 你唯一的select是在用户试图为你的网站添加书签时尝试介入。 只有在用户不设法清除附加到其中的任何url参数的书签时,干预才会起作用。 例如,您可以将用户当前浏览您的网站的date附加到url,并且如果用户为该url添加了书签,那么相同的url可能会在更晚的date出现。 这将是尝试查看用户是否来自书签(或保存的链接某处)的一种方法。

但是,即使您可以这样做,那也只会告诉您用户是否通过自动填充历史logging栏或通过主屏幕启动的书签来访问您的网站,或者只是通过Chrome正常发起的书签,而不是直接input地址(我不提谷歌search,因为用户使用谷歌search,谷歌会给你引用至less)。

由于在主屏幕上创build的快捷方式与其他应用程序使用相同的意图(毕竟,启动程序仍然是一个应用程序),这是不可能的。

但是,如果您自己创build了快捷方式,则可以将该url设置为不同的url,从而知道它可能来自启动器。

另外,如果您所做的应用程序可以像启动程序和networking之间的pipe道一样,您可以设置引用该应用程序的意图,并且可以假定该链接是从启动程序打开的。

我会回答以前陈述的简短答案。

由于JS安全约束,Android浏览器不会让任何网站访问关于用于打开浏览器或其他东西的INTENT的信息。

但是…等等…有一种方法可以将网站上的JavaScript绑定到Android代码( http://developer.android.com/guide/webapps/webview.html#BindingJavaScript ),所以我会做什么,给定该网站已经开发,是开发一个简单的Android应用程序与一个漂亮的图标和一个WebView与JS启用指向网站,所以它作为客户端或包装应用程序让我们说…“ http:// thewebsite.com?client=android “。 在WebView上,你可以阻止导航到其他网站,所以用户不能去其他任何地方,用户将不得不使用你的网站导航。 然后,您可以将Android代码绑定到JavaScript,如上所述,将方法从Android环境暴露给您的网站中的JavaScript。

不要让人们添加快捷方式到您的网站,给他们一个链接,从谷歌Play商店下载你的小封装应用程序。 这样一来,您就可以知道谁在使用Android设备上的网站/ Web应用程序,而且您拥有应用程序,因此您可以访问INTENT并了解Android操作系统信息,并从网站上的JS获取有关设备的更多信息UserAgent会给你,想知道客户端上是否有活动的networking连接等

祝你好运!