如何将动态数据注入网络应用 manifest.json 文件?
How can I inject dynamic data into a web app manifest.json file?
.NET MVC 5
我需要为 Web 应用程序的 manifest.json
文件中的 start_url 添加动态文本,甚至可能添加动态启动画面(但我会对 start_url ). start_url 需要包含一个种子,该种子将本质上创建一个“深度”start_url,最终导致如下结果:
{
"background_color": "black",
....
"start_url": "/ABCDEFG”
}
其中“ABCDEFG”为动态文本,不同客户端会有所不同。 "ABCDEFG" 将在服务器端交付,course.This 将消除对单独 manifest.json
文件的需求,这将是一场噩梦。
我不知道是否有办法将动态数据“流”到 link 中,或者我可能想出一种动态创建“临时”的方法,例如 manifest.json.ABCDEFG 但这看起来很笨拙,我认为可能有一种更优雅、更简洁的方法。对不起,如果我听起来有点含糊或者我缺少正确的术语。
我查看了“How can I use php to populate a manifest.json file?”,这几乎是我需要做的事情,但我不知道如何在 .NET 中做到这一点。
即使是一些 link 指导我找到解决方案,我们也将不胜感激。我要在 google.
上空着
我遇到了类似的问题。我通过简单地将 json 文件作为字符串读取并替换一些占位符来解决它。
这是我的控制器(带有假变量名):
[AllowAnonymous]
public class PublicController : Controller
{
public ActionResult SiteManifest()
{
var rawJsonText = System.IO.File.ReadAllText(Path.Combine([MySourceFolder], "rawManifest.json"));
rawJsonText = rawJsonText.Replace("@url@", [MyRootUrl]);
rawJsonText = rawJsonText.Replace("@icon@", [MyIconName]);
return Content(rawJsonText, "application/json");
}
}
和我编辑的 rawManifest.json
文件(可以驻留在您服务器上的任何位置):
{
"name": "x",
"short_name": "x",
"description": "x",
"start_url": "@startUrl@",
"scope": "@startUrl@",
"display": "standalone",
"orientation": "landscape-primary",
"background_color": "x",
"theme_color": "x",
"icons": [
{
"src": "../images/@icon@144.png",
"sizes": "144x144",
"type": "image/png"
},
{
"src": "../images/@icon@192.png",
"sizes": "192x192",
"type": "image/png"
}
]
}
我必须确保匿名用户可以调用该操作,而且效果很好。
.NET MVC 5
我需要为 Web 应用程序的 manifest.json
文件中的 start_url 添加动态文本,甚至可能添加动态启动画面(但我会对 start_url ). start_url 需要包含一个种子,该种子将本质上创建一个“深度”start_url,最终导致如下结果:
{
"background_color": "black",
....
"start_url": "/ABCDEFG”
}
其中“ABCDEFG”为动态文本,不同客户端会有所不同。 "ABCDEFG" 将在服务器端交付,course.This 将消除对单独 manifest.json
文件的需求,这将是一场噩梦。
我不知道是否有办法将动态数据“流”到 link 中,或者我可能想出一种动态创建“临时”的方法,例如 manifest.json.ABCDEFG 但这看起来很笨拙,我认为可能有一种更优雅、更简洁的方法。对不起,如果我听起来有点含糊或者我缺少正确的术语。
我查看了“How can I use php to populate a manifest.json file?”,这几乎是我需要做的事情,但我不知道如何在 .NET 中做到这一点。
即使是一些 link 指导我找到解决方案,我们也将不胜感激。我要在 google.
上空着我遇到了类似的问题。我通过简单地将 json 文件作为字符串读取并替换一些占位符来解决它。
这是我的控制器(带有假变量名):
[AllowAnonymous]
public class PublicController : Controller
{
public ActionResult SiteManifest()
{
var rawJsonText = System.IO.File.ReadAllText(Path.Combine([MySourceFolder], "rawManifest.json"));
rawJsonText = rawJsonText.Replace("@url@", [MyRootUrl]);
rawJsonText = rawJsonText.Replace("@icon@", [MyIconName]);
return Content(rawJsonText, "application/json");
}
}
和我编辑的 rawManifest.json
文件(可以驻留在您服务器上的任何位置):
{ "name": "x", "short_name": "x", "description": "x", "start_url": "@startUrl@", "scope": "@startUrl@", "display": "standalone", "orientation": "landscape-primary", "background_color": "x", "theme_color": "x", "icons": [ { "src": "../images/@icon@144.png", "sizes": "144x144", "type": "image/png" }, { "src": "../images/@icon@192.png", "sizes": "192x192", "type": "image/png" } ] }
我必须确保匿名用户可以调用该操作,而且效果很好。