我正在使用 Adobe AIR 开发一个 quickblox 应用程序,这迫使我使用 REST Api 而不是本机库。我无法让推送通知适用于离线消息或管理面板。这是我所做的详细信息:
管理面板:
- 为开发和生产推送通知上传了 Apple 证书
- 为 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
如果我去排队,消息显示为“已发送”,但我从未在我的设备中收到通知。
任何帮助将不胜感激