Ionic-Cordova未能在应用程序中找到OneSignal插件

时间:2016-02-12 01:03:51

标签: android cordova ionic-framework onesignal

我正在使用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的问题还是我对这种方法有任何不妥之处?

1 个答案:

答案 0 :(得分:0)

我发现了2个错误。 1.而不是使用window.cordova.plugins我必须使用window.plugins 2.在我的应用程序中,服务会覆盖插件。所以它显示OneSignal未定义。 它适用于cordova 6.0.0和cordova平台android 6.0.0。