GCM Dry run将规范作为无效注册令牌

时间:2017-06-16 06:25:14

标签: java google-cloud-messaging

我编写了一个java程序来测试我们数据库中的regtoken列表是无效的还是规范的。

这是我的代码:

for (int i = 0; i < registration_ids.size(); i++) {
    JsonObject jsonObject = new JsonParser().parse(new Gson().toJson(results.get(i), LinkedHashMap.class))
            .getAsJsonObject();
    String key = "";
    if (jsonObject.keySet().size() == 2) {
        key = "Canonical";
    } else if (jsonObject.has("message_id")) {
    } else if (jsonObject.get("error").getAsString().equalsIgnoreCase("InvalidRegistration")) {
        key = "Invalid";
    } else if (jsonObject.get("error").getAsString().equalsIgnoreCase("NotRegistered")) {
        key = "Invalid";
    }
    if (key.equals("Canonical")) {
        createFile(registration_ids.get(i) + ","
                + jsonObject.get("registration_id").getAsString().concat(System.lineSeparator()), key);
    } else if (key.equals("Invalid"))
        createFile(registration_ids.get(i).concat(System.lineSeparator()), key);
}

但是在验证了几十万个reg令牌之后,gcm会将一些注册表标识为无效,然后返回与规范相同的reg令牌验证结果。 为什么会这样?

0 个答案:

没有答案