【发布时间】:2015-08-20 09:09:06
【问题描述】:
我使用 iOS GCM。重新安装应用程序后,我收到应用程序已使用旧令牌签名的通知。
重现步骤:
- 安装应用 获取 GCM 令牌: [[GGLInstanceID sharedInstance] tokenWithAuthorizedEntity:_gcmSenderID 范围:kGGLInstanceIDScopeGCM 选项:_registrationOptions 处理程序:_registrationHandler]; 订阅一个主题: [[GCMPubSub sharedInstance] subscribeWithToken:yourRegToken 主题:@“/主题/示例主题” 选项:无 处理程序:^void(NSError *error){ 如果(错误){ int 代码 = 错误代码; // 处理错误,执行指数退避 // 重试 } 别的 { //订阅成功 } }];
发送推送后,应用收到一推送
删除应用
- 再次安装应用 获取 GCM 令牌 订阅主题
- 发送推送后,应用收到两次推送!!!!!!
为什么我有两个推送通知?如何退订旧订阅?
提前致谢。
【问题讨论】:
-
Topic与registration token相关联,每次重新安装应用程序时,您都应该获得一个新的registration token,并且您的设备将只有一个用于您的应用程序的令牌。所以你不应该收到两次推送通知,因为你的应用只有一个令牌。我尝试使用您提供的步骤重现该问题,但我只收到一条通知。您的旧通知可能会延迟,当您发送新通知时,您的应用会显示 2 个通知。此外,您可以在问题中提供您的 HTTP 请求。 -
但是如果我删除应用程序并再次安装应用程序,我每次都会得到新的令牌......
-
是的,每次你重新安装你的应用,你都会得到一个新的令牌,但你的应用不会得到旧的。
标签: ios google-cloud-messaging