如何在 Capacitor 应用程序中设置 Cordova 插件变量?

How to set Cordova plugin variables in a Capacitor app?

我正在尝试使用 https://docs.wonderpush.com/docs/mobile-push-notifications-ionic

中的文档为 Ionic 设置 Wonderpush 集成

说明说要安装插件:

ionic cordova plugin add wonderpush-cordova-sdk --variable CLIENT_ID=YOUR_CLIENT_ID --variable CLIENT_SECRET=YOUR_CLIENT_SECRET --variable SENDER_ID=YOUR_SENDER

...但由于我的应用程序是 Capacitor 应用程序,我必须安装插件:

npm install wonderpush-cordova-sdk

这样安装插件的时候不知道怎么设置CLIENT_ID、CLIENT_SECRET、SENDER_ID(没有“--variable”此命令的标志),当 运行 我设备上的应用程序说缺少这些变量时,我收到运行时错误。你知道我如何填充这些值吗?提前致谢!

电容器应用程序在安装插件时不支持变量。这是因为 Capacitor 应用更面向本地,不像 Cordova 那样通过命令行提供配置挂钩。

要使用插件添加变量,您需要手动更新 AndroidManifest.xml for Android 和 Info.plist for iOS .您可以在此处获得更多详细信息 https://www.joshmorony.com/using-cordova-plugins-that-require-install-variables-with-capacitor/

示例:<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>

虽然目前Ionic插件的文档中缺少这些配置设置,但是对于流行的插件,您可以查看它们的原生版本文档并相应地更新平台文件。

Wondershare Android 配置: 查找“指定配置选项的替代方法”,部分

https://docs.wonderpush.com/docs/android-sdk#alternate-ways-of-specifying-configuration-options

我能够找到放置这些变量的位置。在 capacitor.config.json 中,我对 "cordova": {} 元素进行了以下更改。

"cordova": {
    "preferences": {
      "WONDERPUSH_CLIENT_ID": "<YOUR-CLIENT-ID>",
      "WONDERPUSH_CLIENT_SECRET": "<YOUR-CLIENT-SECRET>",
      "WONDERPUSH_LOGGING": true,
      "WONDERPUSH_AUTO_INIT": true,
      "WONDERPUSH_REQUIRES_USER_CONSENT": false
    }
  }

然后,我 运行 ionic cap sync,从 IDE 启动应用程序,然后成功!