通过quickblox推送通知

我试图实现推送通知为我的应用程序使用nodejs为后端使用quickblox。 我正在按照quickblox站点上提到的步骤执行操作,即创build会话用户,创build推送令牌,最后订阅通知通道。 我正在创build推送令牌时遇到问题。 我的服务器端代码如下所示:

app.post('/test_quickblox', function(req, res) { var params = { login: req.user.qb_username, password: req.user.qb_password, } console.log(params); QB.createSession(params, function(err, result) { if (err) { console.log(err); } console.log(result); var options = {}; options.headers = {}; options.headers['QuickBlox-REST-API-Version'] = '0.1.0'; options.headers['QB-Token'] = result.token; options.body = {}; options.body['push_token'] = {}; options.body['push_token']['environment'] = 'development'; options.body['push_token']['client_identification_sequence'] = '54b1e2b9e9081ed60520824054b1e2b8e9081ed60520823f'; options.body['device'] = {}; options.body['device']['platform'] = 'ios'; options.body['device']['udid'] = 'e0101010d38bde8e6740011221af335301010333'; options.url = 'http://api.quickblox.com/push_tokens.json'; QuickbloxRequest(options, function(err, response) { if (err) { console.log(err); return apiError(); } console.log(response); res.apiSuccess(); }); }); }); 

当logging响应时,它看起来如下所示

{_id:'54b1e3a1535c121c2000be66',application_id:18113,created_at:'2015-01-11T02:44:49Z',device_id:0,nonce:8394,token:'bf61098a35fac9389be236caec44f0a9827630d1',ts:1420944288,updated_at:'2015-01- 11T02:44:49Z',user_id:2179940,id:56046}

和我得到的错误是:

{“code”:null,“message”:“没有为当前用户会话注册的设备。设备必须能够使用推送令牌执行操作。”}

我想问题在于device_id是0.请注意,我创build用户在另一个控制器没有提供任何device_id创build时,所以我认为这可能是我的问题,但我是quickblox新和不理解所有的语义所以请帮我找出问题所在。 谢谢

而在这里,我们已经过了四年,我面临同样的问题。 没有答案,没有什么,它让你想知道有多大的quickblox社区:O

无论如何,对于有同样问题的人来说:看起来问题是由PhoneGap返回的Android UUID太短,所以quickblox默默地拒绝它。

这是为我工作。 注意uuid的加倍:

 window.device.uuid + window.device.uuid 

JS代码:

  //REGISTER AS ANDROID var message = { environment: "development", client_identification_sequence: e.regid, platform: "android", udid: window.device.uuid + window.device.uuid, }; if (BBPushNotification.showLog) console.log(message); QB.messages.tokens.create(message, function(err, response){ if (err) { if (BBPushNotification.showLog) console.log("Create token error : ",err); } else { if (BBPushNotification.showLog) console.log("Create token success : ",response); } });