管理用 Visual Studio Tools for Apache Cordova 生成的应用的插件

这篇文章介绍了用于 Apache Cordova 的 Visual Studio 工具,是一个预发布的软件。所述功能呈现在预览版中,并可能会发生更改。你可以从 Microsoft 下载中心下载预览版。

Apache Cordova 使用插件来让用户能使用本机设备功能,这些功能在简单的 web 应用中是不能使用的,例如访问文件系统。 插件是一个跨平台的 Cordova 库,它通过 JavaScript 界面来使用本机代码和设备功能。 在需要时,插件还会更新平台清单来启用设备功能。 不是所有设备平台都支持或需要所有的插件。

启用插件需要使用 Cordova config.xml 文件。 Visual Studio 让用户能使用配置设计器来更新此文件。 若要管理 Cordova 应用中的插件:

  • 使用 Visual Studio 配置设计器从 Cordova 的核心插件组添加插件或者添加自定义插件

  • 使用配置设计器来更新插件。

  • 编辑 config.xml 以指定插件参数。

  • 扩展或创建自定义插件

备注

若要查看配置设计器中可用的核心插件,请参阅可用插件列表。有关插件的详细信息,请参阅 Cordova config.xml 文档

添加插件

你可以使用 Visual Studio 来添加核心 Cordova 插件或自定义插件。 你还可以通过编辑 config.xml 来从 Cordova 注册表中引用更多插件。 在你创建解决方案时,系统会从 Cordova 注册表安装插件。

若要将插件添加至 Visual Studio 配置设计器

  1. 在解决方案资源管理器中打开 config.xml 文件的快捷菜单,然后选择“打开”或“查看设计器”。

  2. 在配置设计器中选择“插件”选项卡。

  3. 选择你想在应用中启用的插件类型(“核心”或者“自定义”)。 (请参阅可用插件列表。)

    • 若要添加核心插件,请选择插件并选择“添加”。

    • 若要添加自定义插件,请指定“本地”或者“Git”作为源,然后按照指示通过浏览或指定 Git 存储库提供位置。

      例如,以下是 PushPlugin 的存储库:https://github.com/phonegap-build/PushPlugin.git

    下图显示了配置设计器中对核心插件的选择。

    添加插件

    下图显示了如何在配置设计器中从 Git 存储库添加自定义插件。

    添加自定义插件

  4. 添加插件时,Visual Studio 也会对 config.xml 文件进行更改。

    有关编辑 config.xml 的详细信息,请参阅 Cordova config.xml 文档

    添加自定义插件时,Visual Studio 也会将插件文件夹和文件结构添加到“插件”文件夹的项目中。 重要的插件文件包括:plugin.xml、插件的 src 文件夹和插件的 www 文件夹。

若要移除插件,请在配置设计器中找到插件并选择“移除”。

若要为某个插件编写代码,请参阅 Cordova API 引用

更新插件

使用配置设计器将插件更新为较新版本。 你可以使用 Git 源位置更新任意插件,或者如果已下载插件,则可通过从配置设计器浏览到其本地文件夹进行更新。

Cordova 插件注册表提供了关于不同插件版本的信息。

配置插件参数

在使用配置设计器添加插件之后,你可以通过编辑 config.xml 文件配置参数(从 config.xml 的快捷菜单中选择“查看代码”)。

例如,若要配置 Facebook 插件,可在 config.xml 中编辑以下参数。

<vs:plugin name="com.phonegap.plugins.facebookconnect" version="0.8.1">
    <param name="APP_ID" value="12345678" />
    <param name="APP_NAME" value="My Facebook App" />
</vs:plugin>

这和从命令行运行下列命令的结果是一样的(如果未使用 Visual Studio):

cordova plugin add https://github/com/Wizcorp/phonegap-facebook-plugin.git --variable APP_ID="12345678" –variable APP_NAME="My Facebook App"

扩展自定义插件

有时 Cordova 注册表中的自定义插件可能无法满足所有的应用要求,这时你可能会希望扩展插件或创建自己的插件。 例如,如果你需要卸载本机代码的消耗大量计算资源的函数,向应用公开新的设备功能,或者对一个不愿公开发布的现有插件进行修复,那么你可能会希望扩展或创建插件。 有关创建自己的插件的详细信息可在 Cordova 文档中的插件开发指南中找到。

如果需要使用自定义插件扩展应用,首先检查插件注册表并使用其他人已写入的代码。 如果现有插件与你的要求比较接近,下载它并进行改进,然后将这些更改提交给原作者。 这是回馈 Cordova 社区的绝佳方式,方便其他人更容易地解决类似问题。

使用配置设计器安装自定义插件。 当插件 .xml 文件在项目文件夹树中 www 文件夹的旁边时,所需的 JavaScript 文件(来自插件的 www 文件夹)将在运行时自动加载。 你无需从 HTML 文件中引用这些文件。 你还可以在这些代码文件内设置断点(如果需要)。 生成过程还编译了 src 文件夹中的任何特定于平台的文件。

可在配置设计器中使用的插件列表

以下插件可在使用配置设计器时使用:

  • 加速器/设备运动 (org.apache.cordova.device-motion)

    提供使用运动传感器的能力,运动传感器可以检测与设备方向相关的运动变化。

  • Azure 移动服务客户端 (com.msopentech.azure-mobile-services)

    在每个平台上将合适的 Azure 移动服务客户端库添加到你的应用中,并让你的应用能与 Azure 移动服务实例同步内容。

  • 电池状态(Android、iOS、Windows Phone 8)(org.apache.cordova.battery-status)

    让你的应用能处理在以下情况中发生的事件:电池中可用的电量增加或减少了至少 1%;设备连接到了电源插座或与电源插座断开。

  • 照相机 (org.apache.cordova.camera)

    使用设备默认的照相机应用程序来让你的应用能照相。

  • 指南针 (org.apache.cordova.device-orientation)

    提供使用传感器的能力,该传感器可以根据设备的摆放情况来检测设备的指向或朝向。

  • 连接 (org.apache.cordova.network-information)

    让你的应用能确定设备的网络连接状态以及设备连接的网络类型。

  • 控制台 (org.apache.cordova.console)

    以另一种方法实施 console.log(用作解决 console.log 问题的变通方案)。

  • 联系人 (org.apache.cordova.contacts)

    提供对设备的联系人数据库的访问权限。 你的应用可以找到、添加或删除联系人。

  • 设备 (org.apache.cordova.device)

    提供访问关于设备硬件和软件的信息的权限。 例如,这可能是设备的型号或平台。

  • 对话/通知 (org.apache.cordova.dialogs)

    让你的应用能显示对话框。

  • 文件系统 (org.apache.cordova.file)

    让你的应用能进行读写,并能在设备的文件系统中导航。

  • 文件传输 (org.apache.cordova.file-transfer)

    让你的应用能将文件上传到服务器上,也能从服务器上下载文件。

  • 地理位置 (org.apache.cordova.geolocation)

    提供关于设备位置的信息,例如纬度和经度。

  • 全球化 (org.apache.cordova.globalization)

    让你的应用能获取关于用户的区域设置和时区的信息,然后执行针对此区域设置和时区的操作。

  • InAppBrowser (org.apache.cordova.inappbrowser)

    让你的应用能托管 web 浏览器,然后针对与浏览器相关的事件(例如在载入页面时将 CSS 插入浏览器窗口)执行相应的操作。

    备注

    目前,不支持将调试器连接到使用 InAppBrowser 插件的 iOS 应用。Azure 移动服务插件使用 InAppBrowser 插件而且受这种限制的影响。

  • 媒体 (org.apache.cordova.media)

    让你的应用能使用设备的默认应用程序来播放和记录音频文件。

  • 媒体捕获 (org.apache.cordova.media-capture)

    提供使用设备的音频、图像和视频捕获功能的能力。

  • 初始屏幕 (org.apache.cordova.splashscreen)

    让你的应用能显示和隐藏其初始屏幕。

  • 振动 (org.apache.cordova.vibration)

    让你的应用能振动设备。

  • WebSQL Polyfill(Windows、Windows Phone 8)(com.msopentech.websql)

    通过将 WebSQL 功能添加到 Windows 和 Windows Phone 8 上的应用来在所有平台上启用 WebSQL。

请参见

概念

安装 Visual Studio Tools for Apache Cordova

其他资源

Cordova config.xml 文档

Cordova 插件注册表

FAQ