Pushbots在Phonegap应用程序打开时处理通知

时间:2016-09-22 10:56:41

标签: android cordova phonegap-plugins phonegap-build pushbots

我有一个PhoneGap应用,我已经设置了Pushbots(在 onDeviceReady 事件中)。

如果应用程序未在后台运行,通知:点击事件正常工作,但如果应用程序正在运行且正在使用中,则用户会关闭通知标签并点击通知,没有任何反应。

当应用程序位于前台时,如何触发通知:点击事件?

我想在用户点击通知时导航到某个页面,无论应用程序是否正在运行。

我的index.js文件

myApp.run(['$rootScope', function($rootScope) {
    document.addEventListener('deviceready', function() {

        // Handle the Cordova pause and resume events
        document.addEventListener( 'pause', onPause.bind( this ), false );
        document.addEventListener( 'resume', onResume.bind( this ), false );

        window.plugins.PushbotsPlugin.initialize(...);
        window.plugins.PushbotsPlugin.on("registered", function(token){
            console.log("Registration Id:" + token);
        });

        window.plugins.PushbotsPlugin.getRegistrationId(function(token){
            console.log("Registration Id:" + token);
        });

        // Should be called once app receive the notification
        window.plugins.PushbotsPlugin.on("notification:received", function(data){
            alert("received:" + JSON.stringify(data));
            console.log("received:" + JSON.stringify(data));
        });

        // Should be called once the notification is clicked
        window.plugins.PushbotsPlugin.on("notification:clicked", function(data){
            alert("Notification clicked"); only fires when the app is not running
            $rootScope.$emit('onNotificationClick', data);
            console.log("clicked:" + JSON.stringify(data));
        });

    }, false);
}]);

我的MainAppController中有$ rootScope.onNotificationClick事件。我应该以某种方式将Pushbotsplugin实例化/传递给该控制器吗?

1 个答案:

答案 0 :(得分:0)

您在点击通知时发出了该事件。所以你可以使用下面的代码

在控制器中处理$ on
$rootScoope.$on('onNotificationClick', function (data) {
 // handle here.
 //need not pass pushBotPlugin
});