# 启用推送通知时，如果需要同意，则不会实际订阅

**URL:** https://meta.discourse.org/t/enabling-push-notifications-does-not-actually-subscribe-in-some-cases/381043
**Category:** Bug
**Tags:** push-notifications
**Created:** [2025年八月31日 02:36 UTC](https://meta.discourse.org/t/enabling-push-notifications-does-not-actually-subscribe-in-some-cases/381043 "2025-08-31T02:36:09Z")
**Posts on this page:** 1
**Showing post:** 1

<div class="post-metadata">

### Author: ![justinm](https://avatars.discourse-cdn.com/v4/letter/j/47e85d/32.png) [@justinm](https://meta.discourse.org/u/justinm)
#### Post date: [2025年八月31日 02:36 UTC](https://meta.discourse.org/t/enabling-push-notifications-does-not-actually-subscribe-in-some-cases/381043/1 "2025-08-31T02:36:09Z")

</div>

> <https://github.com/discourse/discourse/blob/bb6c5c9fa1793887f6ba3a3489f2ce0d7549a6e9/app/assets/javascripts/discourse/app/services/desktop-notifications.js#L127-L146>

在初始引导过程中，我注意到 iOS 用户会将论坛安装为 PWA，然后在首次打开 PWA 时收到通知同意横幅。  
如果他们在该同意横幅中点击“启用通知”，系统会提示他们授予权限，之后会向他们发送确认通知。

_然而_，这实际上并没有订阅用户的推送通知，这是出乎意料的！

看起来对于通知同意横幅，这里的代码会首先进入 `else` 路径以请求用户同意（`Notification.requestPermission`），但它将\_不会\_订阅推送通知（`subscribePushNotification`）。

* * *

此时的解决方法是让用户前往他们的[通知偏好设置](https://meta.discourse.org/my/preferences/notifications)并点击那里的“启用通知”按钮。

---

_[View the full topic](https://meta.discourse.org/t/enabling-push-notifications-does-not-actually-subscribe-in-some-cases/381043)._
