首页 > 解决方案 > 从 Pushwoosh 切换后 OneSignal 订阅者未更新

问题描述

我有一个应用程序,有 7,000 名用户订阅了 Pushwoosh。我们从 Pushwoosh 切换到 OneSignal,并使用 OneSignal 文档更新了我们的应用程序。下载我们应用程序的新用户正在订阅我们的推送通知,但旧用户没有得到更新。我们是否必须触发再次发送推送通知的权限?苹果允许这样做吗?这是什么解决方法?

标签: iosswiftpush-notificationonesignalpushwoosh

解决方案


通知权限和 APNs 令牌

通知权限是在应用程序级别授予的,因此无论您的应用程序中有什么 SDK / 库,如果用户已经接受了通知和 APNs 令牌,它都可以读取。

OneSignal iOS SDK 会自动检查是否已授予权限并尝试注册 APNs 令牌。如果这是您添加 OneSignal 后第一次打开应用程序,OneSignal SDK 将使用您放入应用程序的 app_id 注册设备并创建一个新播放器。

除非用户完全卸载并重新安装了您的应用,否则 APN 每次都会返回相同的推送令牌。但是,以防万一 Apple 要轮换令牌,OneSignal SDK 确实会调用 APNs 注册 API。

发现并解决问题

要找到问题,我建议以下内容;

  1. 一次只在您的应用程序中包含一个推送通知 SDK,SDK 可能由于方法调配或其他可能的问题而发生冲突。
    • 在这种情况下,如果您使用 OneSignal,请删除 Pushwoosh SDK。
  2. 尝试通过升级您的应用在测试设备上重现该问题。
    • 在测试升级时,我建议在 OneSignal SDK 中启用详细日志记录
      • OneSignal.setLogLevel(.LL_VERBOSE, visualLevel: .LL_NONE)
    • 如果您在 OneSignal 仪表板上获得用户,还要观察这一点。
      • 如果通过 OneSignal SDK 获取 APNs 令牌时出现问题,仍然会有用户,他们只会显示为未订阅并详细说明原因。

推荐阅读