【问题标题】:Progressive Web App icon on splash screen is extremely small初始屏幕上的 Progressive Web App 图标非常小
【发布时间】:2018-03-21 12:58:42
【问题描述】:

我已成功为我的网站创建了 PWA,但在将其添加到主屏幕并打开应用程序后,初始屏幕上的图标仍然非常小。

我的清单有一个 192x192 和 512x512 图标,但正如我从这里 (https://developers.google.com/web/updates/2015/10/splashscreen) 读到的,它选择接近 128dp 来显示。由于 A2HS 横幅在清单中需要 192x192,这是否意味着启动屏幕图标将始终超小?有没有办法让启动画面的图标变大?

【问题讨论】:

标签: android google-chrome splash-screen progressive-web-apps


【解决方案1】:

TL;DR:删除您的 192x192 图标,您的初始屏幕应默认为 512x512 图标。

在 Google Chrome Lighthouse 问题上查看此 issue about auditing icon size,它提供以下内容:

...启动画面有 2 种布局。如果您提供的图标 80 dp,您将获得“大图标布局”。初始屏幕的理想尺寸是 128dp。 (还有一种使用未提供图标的方式,但不清楚它是什么。)

似乎如果manifest.json 中有一个 192x192 的图标,则不会使用 512x512 的图标。检查上面链接中的 cmets 以了解有关此问题的一些讨论 - 这仍然是一个悬而未决的问题。

我的 PWA 遇到了同样的问题,并测试了删除 192x192 图像而留下 512x512 并且初始屏幕图标更大。我想我会尝试使用 1024x1024 并在下一个版本中删除 512x512。

编辑:我尝试了 1024x1024 并确认只有 2 个布局,具体取决于 dp。 1024x1024 没有显示,并且初始屏幕默认为我在 384x384 的较小屏幕。

【讨论】:

  • 这个问题还存在吗?
  • @CharmingRobot 不确定,有一段时间没有玩过 PWA - 你可以尝试将 Twitter 应用程序保存到主屏幕来查看,我相信它现在是一个完整的 PWA。
【解决方案2】:

当我们创建 React 应用程序时,默认 512x512 192x192 这个属性在 manifast.json 图标大小中没有,因此 Web 应用程序图标在 Mobile/Desktop/Tablet 等的启动屏幕上会发生变化。在 ma​​nifest.json 需要按如下方式配置,如果你正在开发 react 项目,那么你可以在 public/manifest.json 目录下找到 manifest.json 文件。

{
  "short_name": "thefarmerson",
  "name": "This is official page of Karthikeyan Anbazhagan Indian Computer Science Engineer",
  "icons": [
    {
      "src": "favicon.ico",
      "sizes": " 512x512 192x192 64x64 32x32 24x24 16x16",
      "type": "image/x-icon"
    }
  ],
  "start_url": "./index.html",
  "display": "standalone",
  "theme_color": "#000000",
  "background_color": "#ffffff"
}

【讨论】:

  • 好问题?,当我们创建默认为 512x512 192x192 的反应应用程序时,此属性在 manifast.json 图标大小中没有,我在图标分辨率中添加了这两个。@Authony Winzlet。
  • Web 应用程序图标在移动/台式机/平板电脑等的启动屏幕上得到更改。
  • 在我的情况下,我有一个稍微不同的问题。我只有一种图标类型,大小为 512x512 并输入“image/png”。但是,当我加载应用程序时,图标显示得非常小。将图标类型更改为“image/x-icon”后,启动画面中的图标变大了。然而,这产生了新的问题。当用户安装应用程序时,会出现一个额外的弹出窗口,需要用户触摸并按住才能完成该过程。还有移动应用程序图标,现在右下角有一个小的 chrome 图标。所以在我的情况下,大小并不重要,但图标类型很重要。
【解决方案3】:

如果您满足以下要求,则会自动显示海关屏幕:

Recommendations

只要您在网络应用清单中满足以下要求,Chrome for Android 就会自动显示您的自定义初始屏幕:

  • name 属性设置为您的 PWA 的名称。
  • background_color 属性设置为有效的 CSS 颜色值。
  • icons 数组指定至少 512 像素 x 512 像素的图标。
  • 图标存在并且是 PNG

那就这样做并检查这次是否使用了您的 512 png 图像。

【讨论】:

  • 谢谢。以上所有项目都在我的清单中得到满足。但是,为了让 A2HS 横幅在移动 Chrome 中弹出,数组中需要有一个 192px x 192px 的图标。如前所述,我的清单中有一个 192px x 192px 和一个 512px x 512px 的图标,但启动画面继续显示 192x192 的图标。我什至让这些图标变得不同,这样我就知道要显示哪个图标了。
  • 我遇到了同样的问题。我已经完全按照文档描述设置了 manifest.json。我认为这可能是因为我的图标数组没有按从小到大的顺序排列,但是当我按顺序排列时没有任何效果。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-07
  • 1970-01-01
  • 1970-01-01
  • 2018-03-16
  • 1970-01-01
相关资源
最近更新 更多