【问题标题】:How to set Cordova plugin variables in a Capacitor app?如何在 Capacitor 应用程序中设置 Cordova 插件变量?
【发布时间】:2020-10-19 04:59:56
【问题描述】:

我正在尝试使用 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

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

npm install wonderpush-cordova-sdk

以这种方式安装插件时,我不知道如何设置 CLIENT_ID、CLIENT_SECRET 和 SENDER_ID(此命令没有“--variable”标志),运行时出现运行时错误我设备上的应用程序说这些变量丢失了。你知道我如何填充这些值吗?提前致谢!

【问题讨论】:

    标签: cordova ionic-framework capacitor ionic-vue wonderpush


    【解决方案1】:

    我能够找到放置这些变量的位置。在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 启动应用程序,成功了!

    【讨论】:

      【解决方案2】:

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

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

      例如:&lt;meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/&gt;

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-09-20
        • 1970-01-01
        • 2021-06-01
        • 1970-01-01
        • 1970-01-01
        • 2015-11-10
        • 1970-01-01
        相关资源
        最近更新 更多