0

我正在使用 Adob​​e AIR 开发一个 quickblox 应用程序,这迫使我使用 REST Api 而不是本机库。我无法让推送通知适用于离线消息或管理面板。这是我所做的详细信息:

管理面板:

  1. 为开发和生产推送通知上传了 Apple 证书
  2. 为 GCM 设置项目 ID 和服务器密钥

在应用程序激活:

注册 APNS。获取设备令牌:

XXXXXXX1fd86e783c1410e9b9e41e9f11339e33f17f59bfcc7d6bf9XXXXXXXXX

为设备生成 udid。这不是 Apple 的设备 UDID,因为它现在已被弃用。我自己生成一个。我这样说是为了以防万一这可能是问题

使用设备信息以用户身份登录 Quickblox

邮政

{
    "auth_key":"XXXXXXXXXX",
    "nonce":8072,
    "user":{
        "password":"XXXXXXX",
        "login":"XXXXXX"
        },
    "application_id":"1563",
    "timestamp":1363692198,
    "device":{
        "platform":"ios",
        "udid":"71B18699-E1A3-13B6-F8C3-BDBF01AC1FFC-B4B3475569E9-6B6A-A27E-56D1-B73E0ED4"
        },
    "signature":"d61293bbd98d2e523952c0f30e44ec514fb7f86a"
}

登录没问题。创建推送令牌。当client_identification_sequence我使用从 Apple 检索到的令牌时

邮政

{

    "push_token":{
        "environment":"development",
        "client_identification_sequence":"XXXXXXX1fd86e783c1410e9b9e41e9f11339e33f17f59bfcc7d6bf9XXXXXXXXX"
        },
    "device":{
        "platform":"ios",
        "udid":"71B18699-E1A3-13B6-F8C3-BDBF01AC1FFC-B4B3475569E9-6B6A-A27E-56D1-B73E0ED4"
        }
}   

Quickblox 返回一个令牌153323,所以我认为一切正常

现在创建订阅

邮政

{

    "notification_channels":"apns"  

}

Quickblox 返回以下内容

[
    {
        "subscription":{
            "device":{
                "udid":"71B18699-E1A3-13B6-F8C3-BDBF01AC1FFC-B4B3475569E9-6B6A-A27E-56D1-B73E0ED4",
                "platform":{
                    "name":"ios"
                    }
                },
            "id":167704,
            "notification_channel":{
                "name":"apns"
                }
        }
    }
]

UDid 匹配我从登录中传递的 udid。一切看起来都不错

现在我去管理面板并尝试发送消息。管理面板说:

Notification has been successfully added to queue

如果我去排队,消息显示为“已发送”,但我从未在我的设备中收到通知。

任何帮助将不胜感激

4

1 回答 1

0

你的代码看起来不错,

一些评论:

1)你不需要通过

"device":{
        "platform":"ios",
        "udid":"71B18699-E1A3-13B6-F8C3-BDBF01AC1FFC-B4B3475569E9-6B6A-A27E-56D1-B73E0ED4"
        },

参数到会话,因为您在创建推送令牌时传递它们

2) udid - 只是将用户设备分开,因为用户可以拥有超过 1 个设备。因此,您可以将任何值传递给唯一标识用户特定设备的“udid”

3)如果您已从管理面板发送消息 - 这意味着我认为客户端一切正常。所以只需检查您的 APNS 证书,重新上传它们。

于 2013-03-25T14:25:49.200 回答