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

Urban Airship提供了使用公开的服务器端REST API的方法(简单代码)。开发人员必须编写自己的方法来实现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等特定产品的问题。我看到城市飞艇的创始人活跃在这个论坛上,因此我毫不犹豫地发布了这个问题。请帮助我。

最佳答案

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

07-28 04:09