ios - 从 Pushwoosh 切换后 OneSignal 订阅者未更新
问题描述
我有一个应用程序,有 7,000 名用户订阅了 Pushwoosh。我们从 Pushwoosh 切换到 OneSignal,并使用 OneSignal 文档更新了我们的应用程序。下载我们应用程序的新用户正在订阅我们的推送通知,但旧用户没有得到更新。我们是否必须触发再次发送推送通知的权限?苹果允许这样做吗?这是什么解决方法?
解决方案
通知权限和 APNs 令牌
通知权限是在应用程序级别授予的,因此无论您的应用程序中有什么 SDK / 库,如果用户已经接受了通知和 APNs 令牌,它都可以读取。
OneSignal iOS SDK 会自动检查是否已授予权限并尝试注册 APNs 令牌。如果这是您添加 OneSignal 后第一次打开应用程序,OneSignal SDK 将使用您放入应用程序的 app_id 注册设备并创建一个新播放器。
除非用户完全卸载并重新安装了您的应用,否则 APN 每次都会返回相同的推送令牌。但是,以防万一 Apple 要轮换令牌,OneSignal SDK 确实会调用 APNs 注册 API。
发现并解决问题
要找到问题,我建议以下内容;
- 一次只在您的应用程序中包含一个推送通知 SDK,SDK 可能由于方法调配或其他可能的问题而发生冲突。
- 在这种情况下,如果您使用 OneSignal,请删除 Pushwoosh SDK。
- 尝试通过升级您的应用在测试设备上重现该问题。
- 在测试升级时,我建议在 OneSignal SDK 中启用详细日志记录。
OneSignal.setLogLevel(.LL_VERBOSE, visualLevel: .LL_NONE)
- 如果您在 OneSignal 仪表板上获得用户,还要观察这一点。
- 如果通过 OneSignal SDK 获取 APNs 令牌时出现问题,仍然会有用户,他们只会显示为未订阅并详细说明原因。
- 在测试升级时,我建议在 OneSignal SDK 中启用详细日志记录。
推荐阅读
- java - 如何获取 Kafka Producer 消息计数
- xamarin.forms - Xamarin.Forms 条目文本已添加但未显示
- c# - 错误:无法在 SSIS 中加载文件或程序集“Microsoft.WindowsAzure.Configuration”
- html - 如何在 flex 框中为 paragrpah 设置全高和动态宽度?
- linux - 使用链接更改文件夹结构并使文件可用
- angular - flatMap 问题从 Angular 4 转换为 Angular 9
- svg - 如何修复 MS Edge 中的 SVG 标记方向?
- java - Firebase 算子吗?
- magento2 - 如何从 magento 2.3 的 shipping_tablerate 表运费模块中获取收藏
- c# - 如何更新 Azure 用户密码?获取错误权限不足以完成操作