onesignal - One Signal App 推送通知终止服务器
问题描述
从我们的后端(手动)代码发送 One Signal App 推送通知后,服务器关闭(杀死)但 5 分钟后自动重新启动。这些问题发生在大用户(我这边超过 150000)如何解决这些问题。
解决方案
该问题是由浏览OneSignalSDKUpdaterWorker.js.php
器OneSignalSDKWorker.js.php
在收到通知时获取的。如果您有大量订阅者,这可能会很麻烦,因为如果浏览器在过去 24 小时内没有收到通知,则会获取这些文件。
解决方案
解决方案 1 - 设置 CDN
您可以设置一个免费的Cloudflare帐户,该帐户可以缓存这些文件以及您网站上的其他页面,以大大降低服务器上的负载。
解决方案 2 - 每用户优化
可以根据他们上次访问您的网站的时间或根据他们所在时区的特定时间在 24 小时内发送通知。当您的网站随着时间的推移加载时,这将有助于传播。 这不适用于通过默认发送时发送选项发送的通知。仅适用于通过 OneSignal 的仪表板、REST API 发送的通知,或者如果添加了带有过滤器挂钩的自定义 PHP以添加此延迟选项。
解决方案 3 - 新站点的 os.tc 子域
(不推荐)
如果您设置一个新站点,您可以使用我们的 HTTP 选项而不是 HTTPS,因为这些服务工作人员文件将由 os.tc 为您托管。但是请注意,HTTP 对提示选项有限制,并会显示一个弹出窗口进行订阅。此外,所有通知和通知权限都将显示yoursite.os.tc
,而不仅仅是yoursite
.
其他可能的问题
此外,请确保您的通知图标未托管在您的域中,因为当您发送通知时,这将是对您服务器的额外请求。
推荐阅读
- spring-boot - IntelliJ IDEA 不显示 @RequestMapping 的运行图标
- javascript - 试图从 mysql 数据库传递信息以做出本机反应
- angular - 如何在 Angular 中的表单上使用 TypeScript Map 对象
- python - 将 SQLAlchemy 从 0.9.7 升级到 1.3.11,结果 obj 是不可变的
- github - 当在 github 页面上部署时,Git 会一起被绞死几个小时
- javascript - 将jQuery动画高度调用为100%后,在div中滚动停止工作?
- reactjs - 函数的输入来自哪里
- c++ - 如何等待此线程池中的所有任务完成?
- java - 字符引用“”是无效的 XML 字符
- machine-learning - 如何修改标准多层网络的反向传播,包括每层的标量增益?