我正在使用插件的registerDevice和unregisterDevice方法,并在pushwoosh中查看我的应用程序的控制面板。我的应用程序的首选项默认是接受推送通知,所以我注册了,这样我的订阅量就会在push works控制面板中递增。它还会触发一个push-notification事件,其中该事件具有指南中所示的notification属性,但它被设置为null。这很令人困惑,因为我还没有从控制面板发送任何推送通知。
然后,我将推送首选项设置为false,并取消注册该设备。它之所以有效,是因为我的订阅者计数在控制面板中递减,但触发的是fail回调,并且它获得的唯一参数是与寄存器success回调获得的推令牌字符串相同的推送令牌字符串。如果我在那之后再次取消注册,仍然只触发fail回调,但这次唯一的参数是空字符串。
在处理来自插件的响应时,我是否做错了什么?
我用来测试的代码:
(function() {
$document.on('push-notification', function(evt) {
var n = evt.originalEvent.notification;
console.log(n);
});
var pushPrefApply = function() {
app.pushPref(function(pushPref) {
console.log('pushPref', pushPref);
if (!pushPref) {
window.plugins.pushNotification.unregisterDevice(
function() {
console.log('unreg ok', arguments);
},
function() {
console.log('unreg fail', arguments);
}
);
return;
}
window.plugins.pushNotification.registerDevice(
{
projectid: '123456789012',
appid : 'F0000-BAAAA'
},
function(pushToken) {
console.log('reg ok', arguments);
},
function(status) {
console.log('reg fail', arguments);
}
);
});
};
//code for changing/initiating push preference goes here
})();$document不是打字错误,它已经定义好了。app.pushPref是首选项设置/获取功能。在deviceready上的其他地方已经完成了window.plugins.pushNotification.onDeviceReady。
我希望pushwoosh开发人员能对此有所了解。
发布于 2013-03-27 21:42:34
该问题已修复,并在Github上更新了SDK:https://github.com/shaders/push-notifications-sdk和https://github.com/shaders/phonegap-cordova-push-notifications
此外,Android Phonegap示例现在还包括注销功能:https://github.com/shaders/push-notifications-sdk/tree/master/SDK%20Sample%20Projects/Android-Phonegap
https://stackoverflow.com/questions/15490283
复制相似问题