我在cordova app中处理OneSignal pushNotification时遇到问题。我的目的是从任何控制器打开显示页面,每个页面都有特定的控制器。每当通知到来时都会做同样的事情,打开显示页面。我的代码在这里:
的index.html
function onDeviceReady() {
document.removeEventListener('deviceready', onDeviceReady, false);
var notificationOpenedCallback = function(jsonData) {
//do some thing
};
window.plugins.OneSignal
.startInit("xxxxxxxxxxxxxxxxxxx", "xxxxxxxxxxxxx")
.handleNotificationOpened(notificationOpenedCallback)
.endInit();
}
控制器
app.controller('startController', function ($scope, $http) {
var notificationOpenedCallback = function (jsonData) {
$scope.myNavigator.pushPage('form/displaypage.html');
};
window.plugins.OneSignal //get error : Uncaught TypeError: Cannot read property 'OneSignal' of undefined
.startInit("xxxxxxxxxxxxxxxxxxx", "xxxxxxxxxxxxx)
.handleNotificationOpened(notificationOpenedCallback)
.endInit();
});
如何将windos.plugins.OneSignal
放入控制器?
答案 0 :(得分:0)
对于cordova应用,您需要先添加OneSignal插件。在终端中,在cordova应用程序的根目录下,执行
cordova plugin add onesignal-cordova-plugin
如果要将此插件保存到config.xml
,请在命令末尾添加--save
标志。如果您使用共享版本控制,这会派上用场。
这将安装并注册插件。然后,您应该重建项目并在您的设备上重试。
有关使用Cordova SDK进行设置的更多信息,请访问here