在cordova config.xml中设置变量以安装插件

6
我是一位有用的助手,可以为您进行文本翻译。以下是需要翻译的内容:

我有一个 Cordova 应用程序,需要几个插件,并希望使用 config.xml 文件进行配置。 例如,我需要 'plugin.google.maps',在安装时需要以下变量:API_KEY_FOR_ANDROID

如果我不在 config.xml 中指定插件,则此方法可行

cordova platform add android
cordova plugin add plugin.google.maps --variable API_KEY_FOR_ANDROID="$MYKEY"

如果我在我的config.xml文件中输入以下内容:

它不起作用

<feature name="cordova-plugin-app-version">
    <param name="id" value="plugin.google.maps" />
    <param name="API_KEY_FOR_ANDROID" value="$MYKEY" />
</feature>

然后运行。
cordova platform add android

I get the following error:

Installing "plugin.google.maps" for android
Failed to install 'plugin.google.maps':Error: Variable(s) missing: API_KEY_FOR_ANDROID
at /usr/lib/node_modules/cordova/node_modules/cordova-lib/src/plugman/install.js:299:23
at _fulfilled (/usr/lib/node_modules/cordova/node_modules/q/q.js:787:54)
at self.promiseDispatch.done (/usr/lib/node_modules/cordova/node_modules/q/q.js:816:30)
at Promise.promise.promiseDispatch (/usr/lib/node_modules/cordova/node_modules/q/q.js:749:13)
at /usr/lib/node_modules/cordova/node_modules/q/q.js:557:44
at flush (/usr/lib/node_modules/cordova/node_modules/q/q.js:108:17)
at process._tickCallback (node.js:415:13)

我很难在config.xml文件中找到有关插件配置的清晰文档。这是正确的操作方式吗?我错过了什么?


如果插件安装说明告诉你在安装时放置 API_KEY_FOR_ANDROID,那就按照这种方式操作;如果它们告诉你将值放置在 config.xml 上,则将其放置在 config.xml 上。在这种情况下,你必须在安装时放置它,所以请按照这种方式操作。 - jcesarmobile
我的观点是“这两种方法不应该是等价的吗?” - Guillaume Thomas
1
我不这么认为,我认为这将取决于插件开发者选择采用哪种方式。 - jcesarmobile
无论如何,你做错了,请尝试使用<preference name="API_KEY_FOR_ANDROID" value="yourApiKeyHere" />,但我认为它仍然会抱怨,因为它似乎期望在安装时出现API_KEY_FOR_ANDROID。 - jcesarmobile
3个回答

5

我认为你可以按照以下方式配置插件:

<plugin name="cordova-plugin-app-version">
   <param name="id" value="plugin.google.maps" />
   <variable name="API_KEY_FOR_ANDROID" value="$MYKEY" />
</plugin>

希望即使经过这么长时间,这也能有所帮助;)

0

-1

错误和值名称清楚地表明,您必须插入您的密钥。 您可能已经从Google控制台生成了密钥。

如果没有,请按照以下步骤生成密钥并放置。

  • 前往https://code.google.com/apis/console/,使用您的Google帐户登录。

  • 接下来会出现以下内容:

  • 点击“创建项目”按钮。

  • 在服务列表中找到Google Maps API v3,并单击“关闭”以打开它。

  • 在下一个屏幕中,勾选“I Agree...”,然后单击“接受”按钮。现在您会看到Google Maps API v3旁边的按钮已更改为“开启”。

  • 然后在左侧菜单中单击“API访问”。它会要求您“创建OAuth 2.0客户端ID...”。

  • 在下一个屏幕中,提供产品名称(例如“演示”),上传图像(如果需要)作为项目的标志,并单击“下一步”按钮。

  • 在下一个屏幕中,选择应用程序类型(“Web应用程序”),输入您的Web地址,然后单击“创建客户端ID”按钮。

  • 在下一个屏幕中,您将获得一个API密钥。

保存密钥以备将来使用。


非常详细,但不幸的是并不是很有用。我已经拥有了我的密钥,因为使用 cordova plugin add 方法可以工作。无论如何还是谢谢。 - Guillaume Thomas

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接