通过GCM向Android设备发送通知时,我收到以下响应:
设备订阅已过期:PushSharp.Android.GcmPushService-> AppId
由于这个问题,我在电话上遇到随机问题。例如,该应用在接收器上收到额外的回叫。
有人可以提供有关此错误的更多详细信息吗?什么时候发生?与设备ID注册类似吗?需要采取什么措施来处理这种情况?
谢谢!
如果您查看GcmPushChannel.cs的代码,则将看到DeviceSubscriptonExpiredException
Google返回NotRegistered
错误或时返回的代码CanonicalRegistrationId
。
因为您说的是应用程序在接收方上受到了额外的呼叫,所以您的数据库中可能有同一设备的多个注册ID,并且当您向所有设备发送消息时,您的设备会收到多条消息。这可以解释为什么您会在Google的回复中获得规范的注册ID。
我不确定Push Sharp如何处理规范注册ID。从我读到的小代码中,它可能触发一个事件,该事件使您可以从数据库中删除旧的注册ID。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句