添加到主屏幕(iOS,iPadOS)

|||
|-|-|-|
| :discourse2: | 摘要 | 添加到主屏幕 (iOS, iPadOS) 会为 iOS 设备上的用户添加一个弹出窗口。此弹出窗口可关闭,如果您通过 PWA 查看 Discourse 论坛,则不会显示。
| :hammer_and_wrench:|存储库| GitHub - discourse/discourse-apple-add-to-homescreen |
| :open_book:|初次使用 Discourse 主题?| 初学者指南:使用 Discourse 主题

安装此主题组件

功能

此组件为 iOS 设备上的用户添加了一个弹出窗口。此弹出窗口可关闭,如果您通过 PWA 查看 Discourse 论坛,则不会显示。

iPhone

iPad

设置

名称 描述
popup timer 弹出窗口应等待多长时间后出现?(以毫秒为单位)
翻译 默认
pwa_text 在您的 iOS 设备上安装【b】%{siteTitle}【/b】。点击分享,然后点击【b】添加到主屏幕【/b】。

此主题包含两个设置:一个用于显示的文本,另一个用于决定弹出窗口出现前等待多长时间的计时器。这些设置都带有默认值。

此弹出窗口仅会出现在未使用 PWA 查看 Discourse 论坛的 iPhone 或 iPad 上的 iOS 用户面前。如果用户点击 x 图标,它将不再出现。

编辑显示的文本

您在编辑此区域时需要注意:

如果您想编辑此文本,并希望 siteTitle 仍然保留在此处,请确保在您认为合适的地方保留 %{siteTitle}

【br】

【>】:discourse2: 由我们托管? 标准、商务和企业套餐均可使用主题组件。

26 个赞

绝妙的主意!谢谢!这个功能一直以来以及将来都会遇到的问题是可发现性。

8 个赞

在 Android 核心应用中,我们使用 trust level >= 1 检查来显示弹出窗口,这就像一个计时器,但 IMO 更好:

https://github.com/discourse/discourse/blob/main/app/assets/javascripts/discourse/app/components/pwa-install-banner.js#L41-L46

我想知道这个组件是否应该使用相同的 :thinking:

另外,我很想将 Android 和 iOS 的 PWA 安装横幅合并到核心中的单个组件中!

12 个赞

我建议默认文本应提及推送通知,并避免提及“设备”。

也许可以这样写:

“将 %{siteTitle} 添加到主屏幕即可注册推送通知!点击分享,然后点击 添加到主屏幕。”

如果 Discourse 团队能围绕此进行 A/B 测试,找出最有可能让用户注册推送的语言,那将非常有帮助。

以下是我的疑问:

  • 说“添加”还是“安装”更好?
  • 是在此处提及推送通知,还是推迟提及?
  • 如果我们提及安装,是否应该说这是一个正在安装的“应用”?还是“Web 应用”?
  • iPad 有更多空间。使用更多词语是否更好?
6 个赞

在 iPad 上,这个横幅效果不佳。横幅出现在屏幕底部,但共享按钮却在顶部。我看到有一个小向上箭头 :up_arrow:,好像在提示“嘿,按钮在标题栏”,但我怀疑这是否足够。(你们是否对此进行了用户测试?你们是否看到它对非专业 iPad 用户有效?)

此外,我们要求用户“点击共享”,但按钮上没有明显标有“共享”字样,这也没有帮助。它只是一个带箭头的方框。

image

多年前,我曾使用过 https://github.com/cubiq/add-to-homescreen,它会像这样绘制一个弹出窗口:

如果 Discourse 能做得更像这样就好了。

现在,弹出窗口有点脆弱(如果按钮移动了怎么办?),但即使按钮不在弹出窗口指向的确切位置,只要它大致在正确的位置,我认为也是可以的。

历史上,按钮在不同版本的 iOS 版本之间看起来可能不同,这也是危险的。但自 iOS 7 以来,共享按钮的形状没有改变,而且没有特别的理由认为它会在 iOS 17 中发生变化,所以我认为像这样的方法在 iPad 上是可行的,有一个小的弹出窗口指向标题栏中共享按钮可能出现的位置。

3 个赞

这是个好反馈,Dan。

我可以看到在 iPad 上使用时,在页面顶部显示此浮出控件的好处。

坦白说,我们在此组件版本中未包含该图标的原因是,该图标仅在 Font-Awesome 6 中可用,而 Discourse 目前尚未支持该版本。

2 个赞

正是这种愿望,我才将此文本设置为由管理员编辑。每个人对弹窗内容可能有不同的看法,请随意编辑。

1 个赞

我認為我沒有能力在我的論壇上進行 A/B 測試。你們可以對其進行 A/B 測試嗎?

它是否告知用户为什么他们可能想要这样做?

1 个赞

我不确定我是否理解你的问题。我想说的是,如果他们已经在论坛上,那么在他们的 iOS 设备上安装它的原因应该是不言而喻的。

我的观点是,苹果用户只熟悉通过 App Store 安装应用。很少有人会理解 PWA 是什么。更少的人会知道安装的潜在好处。

将浏览器通知放在 A2HS 后面是苹果公司的一大举措。它完全解决了早期桌面通知的问题。

我们如何让用户知道除了主屏幕上的另一个图标之外,它还能为他们带来什么?

3 个赞

我完全(但我希望是礼貌地)不同意。我运行一个 Discourse 论坛,并将其和其他应用添加到主屏幕。在在这里讨论之后,我才想到这样做,并且没有看到任何好处(通知不起作用),因此我继续使用 Hub 应用。

2 个赞

我认为我们可能都在做假设,而没有收集安装过此软件的管理员的反馈。

话虽如此,文本是 100% 可自定义的,因此如果管理员觉得有必要进一步说明,他们可以很容易地做到。

我的反馈专门来自客户,是在提到 PWA 是启用通知的必要步骤之后。

这在不同的社区之间会有所不同,但在“询问应用程序不要跟踪”的时代,用户不太可能在没有感知到的好处的情况下盲目地遵循指示。告诉用户如何安装 PWA 而不解释为什么肯定会掩盖要点。

我遇到过几个自托管实例出现此问题,将 push notification time window mins 修改为 0 为我和我的大多数用户解决了此问题。作为副作用,它也使行为在计时方面更接近 Hub 应用程序通知的工作方式。

3 个赞

我必须手动添加此插件。

点击安装程序时,我有一个空白的存储库。

抱歉,现在应该已经修复了。

1 个赞

Nice component! I like how it’s implemented close to where the share buttons are. Agree that we should integrate this into core and the android banner.

I have an old unimplemented mockup from a while ago that might address some thoughts mentioned here:

The idea with the text here :point_up: was to have some sort of clear “what’s in it for me” — and literally show the site logo in an app-like way to make it a little clearer what this is all about.

That was mocked up for Android, which makes things easier because you can include a button that directly adds the PWA to your device.

Unfortunately iOS still requires you to go through their share sheet to get to this action… but I think we can have a button that triggers the share options? (we already do this for clicking the share icon on posts in iOS…)


组件很棒!我喜欢它在分享按钮附近实现的方式。同意我们应该将其集成到核心功能和 Android 横幅中。

我有一个很久以前未实现的旧模型,可能可以解决这里提到的一些想法:

这里 :point_up: 的文字想法是提供一种清晰的“对我有什么好处”——并以类似应用程序的方式实际显示网站徽标,以更清楚地说明这一切的意义。

那是为 Android 设计的,这使得事情更容易,因为您可以包含一个直接将 PWA 添加到您设备的按钮。

不幸的是,iOS 仍然需要您通过其共享表单才能执行此操作……但我认为我们可以有一个触发共享选项的按钮?(我们已经在 iOS 上点击帖子上的分享图标时这样做了……)

4 个赞

iOS 上不行。你可以用 navigator.share() 打开一个共享表单,但上面没有“添加到主屏幕”按钮。要 A2HS,用户必须手动点击那个小小的共享按钮;因此需要这样的东西。

1 个赞

原来我还在使用旧版本的 iOS(16.4 之前的版本):Live notifications: "Notifications are not supported on this browser. Sorry."