我使用cordova 6.0.0和cordova-platform-android 6.0.0来开发我的离子应用。我在初始化脚本中添加了one signal插件。脚本如下所示。
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在我的ionic应用程序的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的问题,还是我在方法上做错了什么?
发布于 2016-02-12 09:54:56
我发现了两个错误。1.我必须使用window.plugins 2,而不是使用window.cordova.plugins。在我的应用程序中,一个服务会覆盖插件。因此,它显示OneSignal未定义。它适用于cordova 6.0.0和cordova platform android 6.0.0。
https://stackoverflow.com/questions/35353053
复制相似问题