【问题标题】:Clearing app data not clearing GCM token nor GCM subscribing topics清除应用程序数据不清除 GCM 令牌或 GCM 订阅主题
【发布时间】:2015-11-16 15:58:25
【问题描述】:

我从 GCM 订阅了主题,当我通过 android 设置删除所有应用数据时,GCM 令牌是相同的,并且有关主题的 GCM 通知仍然可用,所以我收到了我不想收到的通知。

我的问题是:

  • 如何从 GCM 获取所有订阅主题的列表?
  • 如何在不知道名称的情况下删除所有订阅的主题?
  • 在这种情况下应该在清除应用数据后更改 GCM 令牌还是应该自动删除所有订阅的主题?

【问题讨论】:

  • 对于您的第一个和第二个问题,没有检索所有主题的功能,或者没有名称就将它们全部删除。对于第三个问题,如果您在设备中安装应用,您的注册令牌将会更改。

标签: android google-cloud-messaging token


【解决方案1】:
  1. 你不能只使用我建议的调试工具:) 例如,您必须将订阅的主题保存在 sharedprefs 中。如果您在 sharedpreferences 中没有令牌,则应致电 instanceId.deleteInstanceID()

  2. 只需拨打instanceId.deleteInstanceID()

  3. 令牌很少更改,但当它更改时,您必须重新订阅所有主题。

也结帐this question on SO


工具

你可以使用this工具来调试:)

当我不订阅任何主题时,我会得到如下信息:

{
    "applicationVersion": "39",
    "connectDate": "2016-01-12",
    "application": "com.esportlivescore.develop.debug",
    "authorizedEntity": "114434000000000",
    "connectionType": "MOBILE",
    "appSigner": ".................",
    "platform": "ANDROID"
}

订阅某个主题后:

{
    "applicationVersion": "39",
    "connectDate": "2016-01-12",
    "application": "com.esportlivescore.develop.debug",
    "authorizedEntity": "11443413691531",
    "rel": {
        "topics": {
            "match-28388-start": {
                "addDate": "2016-01-13"
            }
        }
    },
    "connectionType": "MOBILE",
    "appSigner": ".................",
    "platform": "ANDROID"
}

如此简单的用法。我使用高级 REST 客户端 (plugin for Chrome)

HTTP GET 请求

https://iid.googleapis.com/iid/info/<TOKEN>?details=true
Content-Type:application/json
Authorization:key=AIzaSyZ-1u...0GBYzPu7Udno5aA

TOKEN 在 url 中:token obtainet from google

key:可以在 Google Developer Console / GCM Console 中找到

【讨论】:

    【解决方案2】:

    如何从 gcm 获取所有订阅主题的列表?

    当前版本的 GCM 没有提供执行此操作的方法。

    如何在不知道名称的情况下删除所有订阅主题?

    documentation 表示 InstanceId.deleteInstanceID() 将执行此操作。

    清除应用数据后是否应更改 GCM 令牌或全部删除 在这种情况下自动订阅主题?

    虽然documentation 暗示如果用户清除应用数据,令牌注册和订阅将被删除,但在当前版本的 GCM 中并非如此。这个问题在这个相关question的回答中讨论。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-19
      • 1970-01-01
      • 2015-09-06
      • 1970-01-01
      • 2011-04-21
      相关资源
      最近更新 更多