如何在本地主机上测试 Onesignal 推送通知?

how to test Onesignal push notifications on localhost?

我想在将我的应用程序部署到远程服务器之前在本地主机上测试 OneSignal 推送通知。

我按照 documentation 提供的说明进行操作。当我输入 http://localhost 作为站点 url 时,我收到一条错误消息:

localhost is already taken. Please enter a different name.

有没有办法在本地主机上使用 OneSignal

应该是https://localhost而不是http://localhost。 OneSignal 将 localhost 视为安全连接。

对于遇到此问题的其他人,答案是添加“http://localhost”,但是当配置器返回类似于 'localhost is already taken. Please enter a different name.' 的消息时,只需向下滚动并输入不同的子域。这不是很直观,但对我有用。

阅读此文档 https://documentation.onesignal.com/docs/web-push-setup-faq#section-how-do-i-test-my-site-on-a-local-environment- 并且本地主机必须 运行 在端口 8000

您可以使用 Postman。 只需按照以下步骤操作即可:One Signal documentation

出乎意料的简单。享受吧。

为了通过本地主机测试 onesignal 推送通知,您应该在您的测试环境中启用 https://localhost。 以下很棒的 post 帮助我在 macos 上设置它,但我认为您可以在其他操作系统中实现它:

https://medium.com/@jonsamp/how-to-set-up-https-on-localhost-for-macos-b597bcf935ee

当您能够在 https://localhost:8080 启动您的网络服务器时,您应该在 OneSignal App 上配置以下内容:

Site Url :  https://localhost:8080
Check "My site not fully HTTPS"
CHOOSE A LABEL :  your-test-env.OS.TC

通过完成 Onesignal 文档建议的设置,您将能够在您的测试环境中测试推送通知。

除了通过仪表板配置 OneSignal 之外,您在浏览器调用中的 OneSignal.init 必须具有 allowLocalhostAsSecureOrigin 选项:

OneSignal.init({
  allowLocalhostAsSecureOrigin: true,
  ...
})

更多信息在 https://documentation.onesignal.com/docs/web-push-setup-faq#section-how-do-i-test-my-site-on-a-local-environment