2

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

Urban Airship 提供了使用暴露的服务器端 REST api 的方法(jave 代码)。开发人员必须为 Urban Airship 不提供的功能编写自己的方法。没有获取 APID 的方法,因此我根据其他方法编写了此方法。

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

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

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

很抱歉询问有关 Urban Airship 等特定产品的问题。我看到Urban Airship的创始人在这个论坛上很活跃,因此我毫不犹豫地发布了这个问题。请帮我解决这个问题。

4

1 回答 1

0

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

于 2011-10-03T16:31:02.177 回答