【问题标题】:iOS GCM. After reinstalling app receives notifications from old installationsiOS GCM。重新安装应用程序后收到来自旧安装的通知
【发布时间】:2015-08-20 09:09:06
【问题描述】:

我使用 iOS GCM。重新安装应用程序后,我收到应用程序已使用旧令牌签名的通知。

重现步骤:

  1. 安装应用 获取 GCM 令牌: [[GGLInstanceID sharedInstance] tokenWithAuthorizedEntity:_gcmSenderID 范围:kGGLInstanceIDScopeGCM 选项:_registrationOptions 处理程序:_registrationHandler]; 订阅一个主题: [[GCMPubSub sharedInstance] subscribeWithToken:yourRegToken 主题:@“/主题/示例主题” 选项:无 处理程序:^void(NSError *error){ 如果(错误){ int 代码 = 错误代码; // 处理错误,执行指数退避 // 重试 } 别的 { //订阅成功 } }];
  2. 发送推送后,应用收到一推送

  3. 删除应用

  4. 再次安装应用 获取 GCM 令牌 订阅主题
  5. 发送推送后,应用收到两次推送!!!!!!

为什么我有两个推送通知?如何退订旧订阅?

提前致谢。

【问题讨论】:

  • Topicregistration token 相关联,每次重新安装应用程序时,您都应该获得一个新的registration token,并且您的设备将只有一个用于您的应用程序的令牌。所以你不应该收到两次推送通知,因为你的应用只有一个令牌。我尝试使用您提供的步骤重现该问题,但我只收到一条通知。您的旧通知可能会延迟,当您发送新通知时,您的应用会显示 2 个通知。此外,您可以在问题中提供您的 HTTP 请求。
  • 但是如果我删除应用程序并再次安装应用程序,我每次都会得到新的令牌......
  • 是的,每次你重新安装你的应用,你都会得到一个新的令牌,但你的应用不会得到旧的。

标签: ios google-cloud-messaging


【解决方案1】:

这似乎是 GCM 中的一个错误。不知何故,当您删除应用程序时,订阅主题的旧注册不会被清理。你应该在这里提交一个错误https://github.com/google/gcm/issues

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-08
    • 2014-11-22
    • 1970-01-01
    • 2013-01-26
    • 2016-10-08
    • 1970-01-01
    • 2013-01-29
    相关资源
    最近更新 更多