![]() |
1
1
这比丹的回答复杂得多。如果您的用户不订阅您自己的服务工人,它将无法工作。当发生“未知”错误时,操作系统将发送其默认通知,并将“您有新的更新”作为通知发送给用户,即使您传递了不同的有效负载。您还需要通过:
|
![]() |
2
3
所以可以这样做。首先,您需要联系OneSignal支持部门,并获取应用程序的公共和私有vapid密钥。仪表板中的每个应用程序都有不同的设置。 接下来,您需要对OneSignal进行API调用,以便将用户导出到CSV文件中。 您可以在文档中找到API URL,并使用curl或您最喜欢的语言。我使用node+axios进行调用。API调用将为您提供下载csv的链接。 这是文件 https://documentation.onesignal.com/reference#csv-export 您需要确保在添加了“web_auth”和“web_p256”字段的情况下,将“extra_fields”参数添加到您的请求中。csv将为您提供另一块拼图,即其标识符列中的端点URL。 一旦您拥有了所有这些信息,现在就可以使用一个库(如Web push for node)发送推送。 https://github.com/web-push-libs/web-push 希望有帮助! 编辑 正如Cedric所说,实际的push有效负载稍微复杂一点,因为您需要遵守OneSignal服务工作者的数据处理。 您可以看到从第313行开始的格式设置。 here 如果你使用的是像 web-push 对于发送推送有效负载的节点,您的有效负载的格式将类似于这样,用于向OneSignal服务工作者进行标准推送。
|