android - Urban Airship 。使用/api/apids/method 获取 Android APID

标签 android android-c2dm urbanairship.com

我一直在尝试使用 Urban Airship 提供的服务器端 API 与我的 Android 应用程序集成。我正在尝试从我的 Android 应用程序中获取在 Urban Airship 服务器中注册的所有 APID。尽管我已经注册了 3 个设备(模拟器注册)并且我可以在 https://go.urbanairship.com/api/apids/ 中查看它们,但我总是得到一个 Null 值分别使用我的应用程序 key 和密码作为用户名和密码登录后。

Urban Airship 提供了使用公开的服务器端 REST api 的方法(jave 代码)。开发人员必须为 Urban Airship 未提供的功能编写自己的方法。没有获取 APIDs 的方法,因此我按照其他方法编写了这个方法。

    public DeviceTokensResponse getApids() throws URISyntaxException
{
    return get(DeviceTokensResponse.class, "/api/apids/"); 
}

我使用相同的服务器端 API 通过 API/api/device_tokens/成功获取存储在 Urban Airship 服务器中的 iPhone 设备 token 。 在获取 iPhone 设备 token 的代码下方找到。这给出了预期的结果。

    public DeviceTokensResponse getDeviceTokens() throws URISyntaxException
{
    return get(DeviceTokensResponse.class, "/api/device_tokens/"); 
}

很抱歉我问了一个关于像 Urban Airship 这样的特定产品的问题。看到Urban Airship的创始人活跃在这个论坛,所以就毫不犹豫的发了这个问题。请帮我解决这个问题。

最佳答案

我通过创建一个名为 ApidList.java(具有 List 属性)和 Apid.java(具有与 json 标签键名对应的属性)的自定义类解决了这个问题。一旦存在 json 键名和类属性的一对一映射,就会正确填充响应对象。如果映射失败,则返回一个空对象(这就是我之前发生的事情)

关于android - Urban Airship 。使用/api/apids/method 获取 Android APID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7589090/

相关文章:

java - 设置阿尔巴尼亚/黑山语言环境时,它会恢复为默认值

android - GCM 演示服务器 - 指定消息

android - 在 Android-x86 中使用 C2DM

android - 客户端(android)从服务器(java)接收消息

java - 收到 id 和 auth token 后发送消息时出现 c2dm 401 错误

rest - 张贴到 Urban Airship 的最大大小为“Batch Push”?

java - 服务效率

java - 用gradle文件同步项目时出现问题

java - 使用 Urbanairship 从 Java 服务器向 Android 发送推送通知

android - Urban Airship NPE