【问题标题】:Multiple device token targets to a single Android device in AWS SNS多个设备令牌目标指向 AWS SNS 中的单个 Android 设备
【发布时间】:2016-08-18 09:31:15
【问题描述】:

我在 AWS SNS GCM 中遇到问题,以下是场景:

  • 当应用程序安装在移动设备中并在启动应用程序后向 GCM 注册并接收令牌并发送到服务器
  • 现在卸载应用程序并再次安装,它从 GCM 接收到新令牌,并发送回服务器
  • 现在,当服务器在旧令牌和新令牌上发送通知时,移动设备会收到两个通知

这意味着之前的令牌仍然适用于该手机。

此问题仅发生在 Android 中,而不发生在 iOS 中

应该如何停止?任何解决方案

谢谢

【问题讨论】:

  • 欢迎来到 Stack Overflow!能否在您努力解决问题的同时,在内容中提供更好的标题和更详细的信息?

标签: java android cordova amazon-web-services sencha-touch


【解决方案1】:

gcm.register("project number"); 创建新令牌

gcn.unregister(); 注销之前的令牌;

以上代码已弃用,请使用

InstanceID.deleteToken() or InstanceID.deleteInstanceID().

【讨论】:

  • 什么时候执行?因为我正在删除应用程序,之后我的本地存储就被清除了
  • 每当您获得该特定用户的新令牌时,您必须从后端注销该令牌
  • 我正在使用 AWS SNS,而 sencha 应用程序具有 AWS cordova 插件,该插件已在 GCM 中注册,并在收到令牌后将其发送到我的后端服务器进行存储
  • 您的应用中有登录功能吗?
  • 是的,应用中有登录功能
【解决方案2】:

通常需要将token写入

  • (Android) 个人资料
  • (iOS) 钥匙串

当您启动应用程序时,您需要检查令牌。如果已经有可用的令牌(但在您的数据库中没有任何内容 [例如 localStorage、sqlLight]),您需要取消注册令牌。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-21
    • 2011-12-16
    • 1970-01-01
    • 2013-02-18
    • 2020-05-01
    • 2021-03-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多