我正在使用cordova 6.0.0和cordova-platform-android 6.0.0来开发我的离子应用程序。 我在初始化脚本中添加了一个信号插件。脚本如下所示。
sudo cordova platform add ios
sudo cordova platform add android
sudo ionic resources
sudo cordova plugin add onesignal-cordova-plugin
sudo cordova plugin add cordova-plugin-crosswalk-webview
sudo cordova plugin add ionic-plugin-keyboard
sudo cordova plugin add cordova-plugin-whitelist
sudo cordova plugin add cordova-plugin-console
sudo cordova plugin add cordova-plugin-splashscreen
sudo cordova plugin add cordova-plugin-network-information
sudo cordova plugin add cordova-plugin-screen-orientation
sudo cordova plugin add cordova-plugin-inappbrowser
sudo cordova plugin add https://github.com/katzer/cordova-plugin-local-notifications.git
sudo cordova plugin add cordova-plugin-vibration
sudo cordova plugin add https://github.com/VersoSolutions/CordovaClipboard.git
在app.js文件中的离子应用程序中,我调用了OneSignal init方法,如下所示。
ionic.Platform.ready(function () {
app.run(function () {
var notificationOpenedCallback = function(jsonData) {
//console.log('didReceiveRemoteNotificationCallBack: ' + JSON.stringify(jsonData));
};
console.log('oneSignal plugin', window.cordova.plugins.OneSignal);
window.cordova.plugins.OneSignal.init("my-one-signal-app-id",
{googleProjectNumber: "my-google-app-id"},
notificationOpenedCallback);
window.cordova.plugins.OneSignal.enableInAppAlertNotification(true);
});
});
但是当我运行应用程序时,它显示如下
oneSignal plugin undefined
app.js:29 Uncaught TypeError: Cannot read property 'init' of undefined
这是cordova 6.0.0的问题还是我对这种方法有任何不妥之处?
答案 0 :(得分:0)
我发现了2个错误。 1.而不是使用window.cordova.plugins我必须使用window.plugins 2.在我的应用程序中,服务会覆盖插件。所以它显示OneSignal未定义。 它适用于cordova 6.0.0和cordova平台android 6.0.0。