0

イオン アプリの開発に cordova 6.0.0 と cordova-platform-android 6.0.0 を使用しています。初期化スクリプトに 1 つのシグナル プラグインを追加しました。スクリプトは以下のようになります。

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

それはコルドバ 6.0.0 の問題ですか、それともアプローチに問題がありますか?

4

1 に答える 1

0

私は2つのエラーを発見しました。1. window.cordova.plugins を使用する代わりに、window.plugins を使用する必要があります。 2. 私のアプリでは、サービスがプラグインを上書きします。したがって、OneSignal undefined が表示されます。また、cordova 6.0.0 および cordova platform android 6.0.0 で正常に動作します。

于 2016-02-12T01:54:55.870 に答える