I've created a mobile-friendly web site with jQuery Mobile and added some meta info so that it should be pinned to iOS and Android homescreens and should be launched as a web app (in other words: in a browser, but without browser navigation elements).
It works fine for iOS, but it doesn't work for Android 4.4.2.
I followed this tutorial for creating Android-Compatible web apps:
Despite adding all the meta info as listed in the tutorial, Android does show the "Add to homescreen" button for my web site, but it does not launch the website without browser navigation elements as described in the tutorial.
What am I doing wrong?
As you can see here this feature is still tagged as
Beta
. I guess you'll need to test this feature with the latest version of Chrome. From the article:Supporting add to homescreen apps
Chrome will look for the following meta tag in the element of the web-page:
The name attribute MUST be "mobile-web-app-capable" and the content attribute must be "yes" (case in-sensitive). If there is any other value in the content attribute the web app will be added as a regular bookmark.
Icon
The icon that is used to install to the homescreen is determined by using the largest icon found in one of the following
<link>
tags:Caution: The 192px image format is recommended. The last two formats (apple-touch-*) are deprecated, and will be supported only for a short time.
Icon label
The application’s
<title>
element serves as the default label for the icon on the homescreen.Configuration
The following example is the minimum required configuration to support a homescreen launch experience.
Comparison to iOS Safari Add to Homescreen
Chrome will also allow Web Apps to launch in "App mode" if they embed a meta tag using the "apple-mobile-web-app-capable" name. Chrome will stop supporting this usage in an upcoming release. Chrome currently shows a deprecation warning in the Developer Tools’ console log when it detects a page with only the "apple-mobile-web-app-capable" meta tag. The warning appears as follows:
Whilst Chrome temporarily accepts the usage of
"apple-mobile-web-app-capable"
, Chrome does not offer compatibility with the iOS Safari API’s including:I hope it helps.
The guide indicates that as of Chrome 68 it is expected that the app developer adds a button to their app. And that it should only work if the PWA criteria are met. Then you should be able to use the following code to get a callback to your app where you can show a button to the user to kick off the
Add to home screen
prompt.Per the guide, add this listener.
Then.... the user needs to click the button, after which you can run this code.
I converted this to a react component fairly easily, the code below is cut down from my Redux project, so it will not work copy/paste, but should give the general idea.
References: https://developers.google.com/web/fundamentals/app-install-banners/