# 使用 OneSignal 的白名单 Discourse 应用推送通知

**URL:** <https://meta.discourse.org/t/whitelisted-discourse-app-with-push-notifications-via-onesignal/58247>\
**Category:** Plugin\
**Tags:** broken\
**Created:** [2017年三月2日 18:27 UTC](https://meta.discourse.org/t/whitelisted-discourse-app-with-push-notifications-via-onesignal/58247 "2017-03-02T18:27:22Z")\
**Posts on this page:** 17\
**Page:** 4

<div class="post-metadata">

**Author:** ![pmusaraj](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pmusaraj/32/119489_2.png) [@pmusaraj](https://meta.discourse.org/u/pmusaraj)\
**Post date:** [2019年十二月30日 16:02 UTC](https://meta.discourse.org/t/whitelisted-discourse-app-with-push-notifications-via-onesignal/58247/64 "2019-12-30T16:02:58Z")

</div>

> [@nexo](#):
>
> 我们已在我们的部分修复了该问题

你至少能说明需要更新哪个依赖项吗？或者更好的是，提交一个包含修复方案的 PR？

---

<div class="post-metadata">

**Author:** ![nexo](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/nexo/32/106384_2.png) [@nexo](https://meta.discourse.org/u/nexo)\
**Post date:** [2019年十二月31日 03:22 UTC](https://meta.discourse.org/t/whitelisted-discourse-app-with-push-notifications-via-onesignal/58247/65 "2019-12-31T03:22:11Z")

</div>

好的，我们 Quemuse 的开发者提交了一个拉取请求（PR）：

> <https://github.com/pmusaraj/discourse-mobile-single-site-app/pull/20>
>
> Changes were contributed via the web interface and were copied from a local, pri…vate working copy.
> 
> App verified to successfully build and run in iOS simulator (XCode 11.3) if everything is set up properly.
> 
> Push notifications required a push key rotation (for the implementation I worked on) otherwise the upgrade appears to be seamless.
> 
> This update bumps dependencies to remove the deprecated UIWebView. UIWebView is not used in the app directly but is used to fetch device data.
> 
> See this \[meta post\](https://meta.discourse.org/t/whitelisted-discourse-app-with-push-notifications-via-onesignal/58247/65?u=sau226) for more details.
> 
> //cc @pmusaraj

---

<div class="post-metadata">

**Author:** ![nexo](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/nexo/32/106384_2.png) [@nexo](https://meta.discourse.org/u/nexo)\
**Post date:** [2020年一月1日 00:26 UTC](https://meta.discourse.org/t/whitelisted-discourse-app-with-push-notifications-via-onesignal/58247/67 "2020-01-01T00:26:47Z")

</div>

你们是如何让所有下载应用的用户都能收到通知的？

如果用户尚未注册（这将是 99% 的情况），他们会跳过提示，完成注册，但由于没有通过提示登录，因此无法接收通知。

此外，对于跳过提示并通过顶部按钮登录的用户，他们也无法收到通知。

**在 iOS 上，只有当用户在首次下载应用时通过登录提示进行登录，通知功能才能正常工作。另外，对我来说，登录提示中没有注册链接。**

---

<div class="post-metadata">

**Author:** ![pmusaraj](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pmusaraj/32/119489_2.png) [@pmusaraj](https://meta.discourse.org/u/pmusaraj)\
**Post date:** [2020年一月1日 00:42 UTC](https://meta.discourse.org/t/whitelisted-discourse-app-with-push-notifications-via-onesignal/58247/68 "2020-01-01T00:42:37Z")

</div>

如果用户跳过了提示，应用将不会接收通知。您可以将提示延迟到稍后显示，但这对真实用户来说并未构成问题。

---

<div class="post-metadata">

**Author:** ![nexo](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/nexo/32/106384_2.png) [@nexo](https://meta.discourse.org/u/nexo)\
**Post date:** [2020年一月1日 01:20 UTC](https://meta.discourse.org/t/whitelisted-discourse-app-with-push-notifications-via-onesignal/58247/69 "2020-01-01T01:20:28Z")

</div>

我指的不是系统原生的提示“是否允许 X 向您发送通知？接受或拒绝”。我指的是应用在初次安装时显示的登录启动画面。

---

<div class="post-metadata">

**Author:** ![pmusaraj](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pmusaraj/32/119489_2.png) [@pmusaraj](https://meta.discourse.org/u/pmusaraj)\
**Post date:** [2020年一月1日 01:24 UTC](https://meta.discourse.org/t/whitelisted-discourse-app-with-push-notifications-via-onesignal/58247/70 "2020-01-01T01:24:09Z")

</div>

啊，应该有一个“连接”按钮。它仅在用户登录后显示，因为作为匿名用户没有通知。

---

<div class="post-metadata">

**Author:** ![nexo](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/nexo/32/106384_2.png) [@nexo](https://meta.discourse.org/u/nexo)\
**Post date:** [2020年一月1日 01:30 UTC](https://meta.discourse.org/t/whitelisted-discourse-app-with-push-notifications-via-onesignal/58247/71 "2020-01-01T01:30:18Z")

</div>

好的，我的担忧是：新用户首次尝试使用该应用时，由于尚未拥有账号，会跳过登录启动页；在使用论坛一段时间后，他们决定创建账号。但这样一来，由于在安装应用时未进行登录，他们将无法接收通知。

目前，我们通过在启动页添加免责声明文本来帮助用户理解这一情况。

---

<div class="post-metadata">

**Author:** ![Fausto\_Dassenno](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/fausto_dassenno/32/166480_2.png) [@Fausto\_Dassenno](https://meta.discourse.org/u/Fausto_Dassenno)\
**Post date:** [2020年二月25日 12:40 UTC](https://meta.discourse.org/t/whitelisted-discourse-app-with-push-notifications-via-onesignal/58247/73 "2020-02-25T12:40:43Z")

</div>

你好，我成功在我的白标应用中安装了一键推送（OneSignal），但通知仅在打开应用时才显示。我是否遗漏了某些配置？

谢谢！

F。

---

<div class="post-metadata">

**Author:** ![pmusaraj](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pmusaraj/32/119489_2.png) [@pmusaraj](https://meta.discourse.org/u/pmusaraj)\
**Post date:** [2020年二月25日 14:00 UTC](https://meta.discourse.org/t/whitelisted-discourse-app-with-push-notifications-via-onesignal/58247/74 "2020-02-25T14:00:33Z")

</div>

这似乎表明推送通知配置不正确。您是否使用与添加到 OneSignal 账户中相同的 PN 证书构建了应用？

---

<div class="post-metadata">

**Author:** ![Fausto\_Dassenno](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/fausto_dassenno/32/166480_2.png) [@Fausto\_Dassenno](https://meta.discourse.org/u/Fausto_Dassenno)\
**Post date:** [2020年二月26日 13:58 UTC](https://meta.discourse.org/t/whitelisted-discourse-app-with-push-notifications-via-onesignal/58247/75 "2020-02-26T13:58:59Z")

</div>

使用 Discourse 插件一切正常。我想使用 OneSignal API 实现一个独立的推送机制，但我不清楚 Discourse 是在哪里存储与用户 ID 相关的 OneSignal 引用，或者反过来。从 Discourse 的 OneSignal 插件来看，调用似乎是通过用户名进行的（[discourse-onesignal/plugin.rb at master · pmusaraj/discourse-onesignal · GitHub](https://github.com/pmusaraj/discourse-onesignal/blob/master/plugin.rb) 第 46 行），但 OneSignal 端似乎没有相关的标签。

 ![image](https://global.discourse-cdn.com/meta/original/3X/b/4/b4b25e83743022c26def8d75fbc8ee7da1b192df.png)

---

<div class="post-metadata">

**Author:** ![ckshen](https://avatars.discourse-cdn.com/v4/letter/c/ad7895/32.png) [@ckshen](https://meta.discourse.org/u/ckshen)\
**Post date:** [2021年十月9日 18:16 UTC](https://meta.discourse.org/t/whitelisted-discourse-app-with-push-notifications-via-onesignal/58247/76 "2021-10-09T18:16:41Z")

</div>

我很好奇，OneSignal 推送通知在最新的 iOS 上是否仍然有效？

---

<div class="post-metadata">

**Author:** ![alanost](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/alanost/32/230952_2.png) [@alanost](https://meta.discourse.org/u/alanost)\
**Post date:** [2021年十一月21日 18:06 UTC](https://meta.discourse.org/t/whitelisted-discourse-app-with-push-notifications-via-onesignal/58247/77 "2021-11-21T18:06:40Z")

</div>

感谢 @pmusaraj 开发了这款出色的应用程序。我为我的论坛试用了它，因为我想要一个通知能正常工作的应用程序，而您的应用程序确实可以（在 Android 上测试过）！非常感谢。但是，在测试过程中我遇到了三个错误。

在小米设备上，应用程序的启动位置偏下。这条白色条带很碍眼。

 ![Screenshot_2021-11-21-18-52-57-191_com.yourcompany.example1](https://global.discourse-cdn.com/meta/original/3X/8/5/859dd285209cdef0e344a45e69ed5554bc017bd9.jpeg)

:::

在三星设备上，当在设置中放大字体时，应用程序中的字体会变得非常大。某些元素将无法访问。

 ![WhatsApp Image 2021-11-21 at 18.31.30-2](https://global.discourse-cdn.com/meta/original/3X/9/7/971557313fc6598067c001b808f1838f07817c50.jpeg)  
 ![WhatsApp Image 2021-11-21 at 18.31.30](https://global.discourse-cdn.com/meta/original/3X/d/3/d33d462ea288916be70b83c9c510fcd720ef07d9.jpeg)

:::

最后，有一个肯定需要修复的错误。在应用程序中从 Discourse 注销后，您仍然会收到用户通知。在三星和小米设备上都出现了这种情况。

---

<div class="post-metadata">

**Author:** ![ranjeet](https://avatars.discourse-cdn.com/v4/letter/r/a8b319/32.png) [@ranjeet](https://meta.discourse.org/u/ranjeet)\
**Post date:** [2024年一月13日 16:32 UTC](https://meta.discourse.org/t/whitelisted-discourse-app-with-push-notifications-via-onesignal/58247/78 "2024-01-13T16:32:49Z")

</div>

2024年还有人在用吗？

---

<div class="post-metadata">

**Author:** ![Earnie\_Baird](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/earnie_baird/32/380079_2.png) [@Earnie\_Baird](https://meta.discourse.org/u/Earnie_Baird)\
**Post date:** [2024年四月30日 16:32 UTC](https://meta.discourse.org/t/whitelisted-discourse-app-with-push-notifications-via-onesignal/58247/79 "2024-04-30T16:32:06Z")

</div>

我希望在我的应用程序中为 Discourse（特别是聊天）设置 iOS 推送通知。

@pmusaraj - 上次提交是在 2023 年 1 月。这是否仍然有效？

然后，对于此线程中的其他人：是否有人实际使用此功能并且能够确认它仍然有效？

---

<div class="post-metadata">

**Author:** ![pmusaraj](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pmusaraj/32/119489_2.png) [@pmusaraj](https://meta.discourse.org/u/pmusaraj)\
**Post date:** [2024年四月30日 17:06 UTC](https://meta.discourse.org/t/whitelisted-discourse-app-with-push-notifications-via-onesignal/58247/80 "2024-04-30T17:06:03Z")

</div>

我怀疑照原样，这行不通。我好几年没在我的项目中使用过这个了，而且移动应用构建工具（无论好坏）变化很快，所以你可能甚至在本地运行它都会遇到麻烦。

---

<div class="post-metadata">

**Author:** ![Earnie\_Baird](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/earnie_baird/32/380079_2.png) [@Earnie\_Baird](https://meta.discourse.org/u/Earnie_Baird)\
**Post date:** [2024年五月3日 18:42 UTC](https://meta.discourse.org/t/whitelisted-discourse-app-with-push-notifications-via-onesignal/58247/81 "2024-05-03T18:42:34Z")

</div>

感谢 @pmusaraj。假设我可以在我这边处理移动部分，你认为 **[discourse-onesigna](https://github.com/pmusaraj/discourse-onesignal/)** 插件仍然可用吗？

如果不可用，我很想听听你关于如何获取通知事件并将其发送到其他地方的最佳方案。

---

<div class="post-metadata">

**Author:** ![pmusaraj](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pmusaraj/32/119489_2.png) [@pmusaraj](https://meta.discourse.org/u/pmusaraj)\
**Post date:** [2024年五月6日 18:56 UTC](https://meta.discourse.org/t/whitelisted-discourse-app-with-push-notifications-via-onesignal/58247/82 "2024-05-06T18:56:26Z")

</div>

我不确定。我怀疑它很快就会停止工作，因为它已经两年没有更新了，而且很有可能 OneSignal API 已经发生了变化。不过，欢迎您分叉并在此基础上进行构建！

[上一頁](https://meta.discourse.org/t/whitelisted-discourse-app-with-push-notifications-via-onesignal/58247.md?page=3)
