gpt4 book ai didi

javascript - 移动设备未注册 OneSignal 可能是什么原因?

转载 作者:行者123 更新时间:2023-11-28 04:02:32 25 4
gpt4 key购买 nike

我们有一个小型应用程序,昨天开始对大约 50 人进行 alpha 测试。这是 React Native 应用程序。 OneSignal 处理推送通知,这些对于充分利用该应用程序至关重要。对于大约 80% 的人来说,它工作得很好。他们的设备被注册,我将 userId 存储在我们的数据库中,并发送和接收通知。对于其他人,我什至无法获取 userId。

所有用户都拥有完全相同的应用程序,没有变体,因此 OneSignal appId 绝对是正确的。

每当应用程序启动时,我都会执行以下代码。对于那些失败的用户,甚至不会调用 registerOneSignal 函数。这真是奇怪的行为。可能是 OneSignal 中的错误?

react-native-onesignal: v3.0.5

const alternateApproach = (device) => {
log.debug('onesignal ids', device)
this.activateOneSignal(device.userId, device)
}

const registerOneSignal = (status: SubscriptionStatus) => {
log.debug('onesignal state', status)
if (!status.userId) {
OneSignal.addEventListener('ids', alternateApproach)
return
}
this.activateOneSignal(status.userId)
}

OneSignal.getPermissionSubscriptionState(registerOnesignal)

最佳答案

最后,这确实是我这边的一个错误,因为事实是,当在附加监听器之前触发事件时,它将永远错过。我已将监听 ids 事件移至应用程序的早期阶段,现在它似乎适用于每个人。

但有点奇怪的是,OneSignal.getPermissionSubscriptionState 不是一个事件,它应该调用回调来从中获取数据,无论时间如何。显然 OneSignal 模块存在一些错误。也许下面也有一个事件?我已将此方法的调用移至我正在监听 ids 的同一点。进行了一些测试,确实显示 ids 每次都会被调用,但在某些情况下从未调用该方法的回调。

关于javascript - 移动设备未注册 OneSignal 可能是什么原因?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46970168/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com