问题描述
我一直在尝试将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!",}
},);
});