如何在 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 启动应用程序,然后成功!
我正在尝试使用 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 启动应用程序,然后成功!