Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to add Urls and web_Urls in manifest.json file using meta Tag

I am creating a progressive web app, and I need to add the current URL in manifest.json file using meta tag.

I created this manifest.json:

{
 "name": "app",

  "icons": [{
    "src": "images/avatar.jpg",
    "sizes": "64x64"

  }, {
    "src": "images/avatar.jpg",
    "sizes": "64x64"
    }, {
    "src": "images/avatar.jpg",
    "sizes": "128x128",
    "density": 2
   }],
   "app": {
    "urls": [
           "https://www.example.com"
           ],
    "launch": {
          "web_url": "https://www.example.com"
  }
 }
  "theme_color":"#06ADD5",
  "display": "standalone",
 "orientation": "portrait"
}

The above JSON is working fine in static URL and web URL, but I want to get it working for as a dynamic URL (EX:www.example.com/<PRODUCT_ID>)

like image 650
kishan patel Avatar asked Dec 15 '16 10:12

kishan patel


People also ask

What is a json manifest URL?

The manifest. json is a simple JSON file in your website that tells the browser about your website on user's mobile device or desktop. Having a manifest is required by Chrome to show the Add to Home Screen prompt.

What should be included in manifest json?

Using manifest. json , you specify basic metadata about your extension such as the name and version, and can also specify aspects of your extension's functionality (such as background scripts, content scripts, and browser actions).


1 Answers

That JSON does not adhere to the Web App Manifest specification, which is what's currently used by Chrome and Firefox for metdata when adding a web app to a device's homescreen. Specifically, you'd want to use the start_url property to specify the initial URL to open.

In any case, the question of customizing the contents of /path/to/manifest.json based on some criteria just boils down to how you'd normally do server-side customization of any resource before returning it to the client. You could pass in a URL parameter, like /path/to/manifest.json?start_url=*something*, and then have your web server return a different start_url value in the JSON response based on what something is.

If you can't implement server-side logic, perhaps because you're only deploying static files and using client-side rendering for everything, then your best bet is to generate multiple manifest-*something*.json files ahead of time, each with a different start_url value, and then set the <link rel="manifest"> tag on each page to point to the appropriate manifest-*something*.json URL, based on whatever criteria makes sense for you.

like image 170
Jeff Posnick Avatar answered Nov 15 '22 20:11

Jeff Posnick