reactjs - react-onesignal:通知提示后订阅 Onesignal
问题描述
我一直在尝试将 OneSignal 与我的 React 项目集成。在找到包react-onesignal后,我决定试一试。
它集成在我的代码中,如下所示:
OneSignal.initialize("my_appid_is_here", {
allowLocalhostAsSecureOrigin:true,
autoRegister:true,
autoResubscribe:true,
persistNotification:true,
})
useOneSignalSetup(async() => {
if (OneSignal.isPushNotificationsEnabled) {
const instance = OneSignal.getOneSignalInstance()
const state = await OneSignal.getNotificationPermission()
if (state !== "granted") {
await OneSignal.registerForPushNotifications()
} else {
OneSignal.setSubscription(true)
}
}
})
我能够在浏览器中触发注册提示(我收到“你想启用通知”警报),但是当我尝试检查 OneSignal 中的“受众”时,它仍然显示为空。
你知道我该怎么做吗?
提前致谢
解决方案
虽然我们感谢作者创建的包,但 OneSignal 不支持该包。我创建了本指南,介绍如何将 OneSignal 集成到您的 ReactJS 应用程序中。
https://dev.to/devpato/push-notifications-in-reactjs-with-onesignal-5bon
您将使用 CDN:
<script src="https://cdn.onesignal.com/sdks/OneSignalSDK.js" async=""></script>
初始化 OneSignal
window.OneSignal = window.OneSignal || [];
const OneSignal = window.OneSignal;
OneSignal.push(()=> {
OneSignal.init(
{
appId: "1a9bbed2-9294-4192-a736-01b461cb389a", //STEP 9
promptOptions: {
slidedown: {
enabled: true,
actionMessage: "We'd like to show you notifications for the latest news and updates about the following categories.",
acceptButtonText: "OMG YEEEEESS!",
cancelButtonText: "NAHHH",
categories: {
tags: [
{
tag: "react",
label: "ReactJS",
},
{
tag: "angular",
label: "Angular",
}
]
}
}
},
welcomeNotification: {
"title": "One Signal",
"message": "Thanks for subscribing!",
}
},
);
});
推荐阅读
- reactjs - 当我点击任何手风琴时,每个手风琴都会打开:react js
- javascript - 根据 URL / BootstrapVue 填写输入字段
- java - Android:setPivotx() 后 x 位置未更新
- spring - 为什么字符串没有通过 Model.addObject 添加到属性中?
- java - 如何在 selenium(java) 中选择多个复选框?
- android - 在活动和应用程序类中使用伴生对象是一种好方法吗?
- html - 发送带有图像背景的电子邮件
- python - 我如何解决 TypeError:'function' 对象不可下标
- python-3.x - 你能帮忙'tf.vectorize_map'形状输出错误吗
- python - 无法将合并的 Dask 数据帧转换为 pandas 数据帧 - 出现错误“作为索引器提供的不可对齐布尔系列”