0

我正在使用插件registerDeviceunregisterDevice方法,并在 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 开发人员能对此有所了解。

4

1 回答 1

0

问题已修复,SDK 已在 Github 上更新: 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

于 2013-03-27T13:42:33.570 回答