Ionic Cordova应用程序说即使安装后也没有安装插件

rdrgkggo  于 2023-06-23  发布在  Ionic
关注(0)|答案(4)|浏览(201)

我在我的ionic项目中使用onesignal-cordova-plugin。我已经遵循了文档并添加了插件。

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,但不工作。plugin list do show onesign.

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
ljsrvy3e

ljsrvy3e1#

根据新的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

uxh89sit

uxh89sit2#

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

cordova plugin ls

cordova plugin list

一个可能的解决方案可以用下面的命令来解决:

ionic repair
hgc7kmma

hgc7kmma3#

@ionic-native/onesignal不适用于最新的OneSignal SDK(和Cordova插件)。从3.0.0开始,出现了破坏性的变化,并且在此 Package 器中定义的方法不再工作。
这些更改记录在API中,并且有很多不推荐的方法和需要更改:https://documentation.onesignal.com/docs/40-api-android-native
官方文档显示了正确设置的新方法的使用:https://documentation.onesignal.com/docs/ionic-sdk-setup

polkgigr

polkgigr4#

尝试这样做:

$ 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
});

相关问题