Ionic cordova应用程序表示,即使在安装后也没有安装插件



我在我的离子项目中使用onesignal cordova插件。我遵循了文档并添加了插件。

ionic cordova plugin add onesignal-cordova-plugin
npm install @ionic-native/onesignal

但一旦我构建,应用程序日志显示

Native: tried calling OneSignal.startInit, but the OneSignal plugin is not installed.

我试过删除android和reading,但不起作用。插件列表确实显示onesignal。

Ionic:
Ionic CLI                     : 6.13.1 (/home/raj/.nvm/versions/node/v12.2.0/lib/node_modules/@ionic/cli)
Ionic Framework               : @ionic/angular 5.6.6
@angular-devkit/build-angular : 0.1102.12
@angular-devkit/schematics    : 11.2.12
@angular/cli                  : 11.2.12
@ionic/angular-toolkit        : 3.1.1
Cordova:
Cordova CLI       : 10.0.0
Cordova Platforms : android 9.1.0
Cordova Plugins   : cordova-plugin-ionic-keyboard 2.2.0, cordova-plugin-ionic-webview 4.2.1, (and 7 other plugins)
Utility:
cordova-res : 0.15.3
native-run  : 1.3.0
System:
Android SDK Tools : 26.1.1 (/home/raj/android/android-sdk-linux/)
NodeJS            : v12.2.0 (/home/raj/.nvm/versions/node/v12.2.0/bin/node)
npm               : 6.14.9
OS                : Linux 4.4

根据新Onesignal版本更新(3.0+(:startInit方法已删除,请改用setAppId。

例如。window["plugins"].OneSignal.setAppId(environment.OnesignalAppId(;

检查您的Onesignal版本:3.0中有很多api更改+(迁移指南:https://documentation.onesignal.com/docs/step-by-step-cordova-2x-to-300-upgrade-guide)

使用以下命令验证插件是否已安装:

cordova plugin ls

cordova plugin list

一个可能的解决方案可以通过以下命令来解决:

ionic repair

@ionic-native/onesignal不适用于最新的OneSignal SDK(和Cordova插件(。从3.0.0开始,出现了突破性的更改,并且在此包装器中定义的方法不再工作。

API中记录了这些更改,并且需要许多不推荐使用的方法和更改:https://documentation.onesignal.com/docs/40-api-android-native

官方文件显示了正确设置新方法的使用情况:https://documentation.onesignal.com/docs/ionic-sdk-setup

尝试这样做:

$ ionic cordova plugin rm <plugin name>
$ npm uninstall --save <npm-of-plugin>
$ ionic cordova plugin add <plugin name>
$ npm install --save <npm-of-plugin>
  • 将插件添加到app-module.ts提供程序中
  • 最后在平台准备就绪时使用插件
this.platform.ready().then(() => {
// call your plugin
});

最新更新