我正在使用插件registerDevice
和unregisterDevice
方法,并在 pushwoosh 中查看我的应用程序的控制面板。我的应用程序的首选项默认为接受推送通知,所以我注册了,这有效,并且我的订阅者计数在 pushwoosh 控制面板中增加。它还会触发一个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
是偏好设置/获取功能。window.plugins.pushNotification.onDeviceReady
已在其他地方完成deviceready
。
我希望 pushwoosh 开发人员能对此有所了解。