下载文档

·config.xml配置说明
更新时间:2016-09-18

简介

config.xml文件是AppCan移动App的配置文件,用于指定应用的显示名称、图标、应用起始页地址及需要使用的设备权限等信息,用户可通过AppCan IDE的可视化界面视图或者源码视图来配置移动App的信息。

  • 在IDE中创建“项目”应用后后都会在工程下生成config.xml文件,在“项目管理器”中双击即可打开 或 右键config文件选择打开方式进行代码编辑。

  • config.xml中的<widget>节点内会有一个或多个<config>块(如下所示)

    1. <config desc="" type="">
    2. XXXX
    3. </config>
    • 其中desc为此config块的描述(无实际作用)
    • 打包服务器会逐条处理每个<config>块,根据不同的type进行相应的操作

type=”KEY” 插件KEY值配置

本质上是进行替换操作

例子

  1. <config desc="uexBaiduMap" type="KEY">
  2. <param platform="iOS" name="$uexBaiduMap_APIKey$" value="qwerty"/>
  3. <param platform="Android" name="$uexBaiduMap_APIKey$" value="123456"/>
  4. </config>

另一个例子

  1. <config desc="uexJPush" type="KEY">
  2. <param platform="iOS" file="uexGroupfolder/PushConfig.plist" name="$UEXJPUSH_APP_KEY$" value="29f3d28136125dad137a42df"/>
  3. <param platform="iOS" file="uexGroupfolder/PushConfig.plist" name="$UEXJPUSH_PUSH_CHANNEL$" value="TestPush"/>
  4. <param platform="iOS" file="uexGroupfolder/PushConfig.plist" name="$UEXJPUSH_APS_ENVIRONMENT$" value="1"/>
  5. </config>

说明

  • 打包服务器对指定文件进行全局搜索,把name字段替换为value字段
  • platform 必选参数 操作平台

    • 传值为"Android"或者"iOS"
  • file 可选参数 要进行替换操作的文件路径

    • 不传此参数时,默认iOS为"AppCanPlugin-Info.plist" Android 为"AndroidManifest.xml"
    • 路径起始目录为APP根目录
  • name 必选参数 全局搜索的值、既替换之前的值

  • value 必选参数 替换之后的值
    • 插件开发者需保证name全局唯一,以避免冲突

type=”URLSCHEME” urlScheme管理(仅iOS)

什么是URLSchemes?

Url Scheme:可以通过Url Scheme从一个应用打开另一个应用,并实现应用间的数据传递。
第三方应用插件客户端:可以查看对应插件API文档说明部分查询Url Scheme配置
比如在微信支付过程中,App用过uexWeiXin插件打开微信客户端进行支付,支付过程完成后,微信客户端通过应用自定义的UrlScheme返回到本App,并传回支付结果
如果是另一个应用:此属性可以通过AppCan平台生成的ipa包里的Info.plist文件中找到;或者可以自定义配置urlscheme值

例子

  1. <config desc="uexQQ" type="URLSCHEME">
  2. <urlScheme name="uexQQ" schemes="['scheme1','scheme2','scheme3']"/>
  3. </config>

说明

  • name 必选参数 对所设置的urlscheme的名字 对应<key>CFBundleURLName</key>项,可设置任意字符串,无实际作用
  • schemes 必选参数 要设置的urlschemes。schemes为数组形式的json字符串,具体规则如下
  • 数组用双引号(“)和中括号([])包含
  • 每个urlscheme用单引号(‘)包含 多个urlscheme之间用逗号(,)隔开
  • 以上所有标点均是半角英文符号
    以上述配置为例,假设应用A中有进行此UrlScheme配置,在另一个应用B中,通过引擎的JS方法uexWidget.loadApp('scheme1:');即可打开应用A(注意不要漏掉冒号!)

type=”AUTHORITY” 权限设置

  • 目前支持如下权限设置
    • iOS 设置APP后台权限
    • iOS 设置APP的urlScheme白名单

设置APP后台权限

例子

  1. <config desc="backgroundConfig" type="AUTHORITY">
  2. <permission platform="iOS" info="backgroundMode" flag="5"/>
  3. </config>

说明

  • info 必选参数 所设置的权限 设置后台权限时,传"backgroundMode"
  • platform 必选参数 对应的平台 目前仅支持iOS 传"iOS"
  • flag 必选参数 所设置的权限flag
    • iOS 平台下 flag如下所示
flag info.plist里对应的字符串 解释 备注
1 <string>audio</string> 后台音乐播放
2 <string>location</string> 后台定位
4 <string>voip</string> 后台VoIP服务
8 <string>newsstand-content</string> 后台新闻更新
16 <string>external-accessory</string> 后台与iOS配件进行交互
32 <string>bluetooth-central</string> 后台与蓝牙设备进行交互 此时iPhone作为central
64 <string>bluetooth-peripheral</string> 后台通过蓝牙发送广播 此时iPhone作为peripheral
128 <string>fetch</string> 后台下载内容 仅iOS 7.0+
256 <string>remote-notification</string> 通过点击推送消息后台下载内容 仅iOS 7.0+
  • 要配置多个权限时,将这些权限所对应的flag值相加后再传入
  • 用户需慎重配置后台权限,不当的权限设置会导致APP上架审核失败

设置urlScheme白名单

例子

  1. <config desc="whiteList" type="AUTHORITY">
  2. <permission platform="iOS" info="urlSchemeWhiteList">
  3. <string>scheme1</string>
  4. <string>schene2</string>
  5. </permission>
  6. </config>

说明

  • info 必选参数 所设置的权限 设置urlScheme白名单时,传"urlSchemeWhiteList"
  • platform 必选参数 对应的平台 传"iOS"
  • <permission>节点内 每一个<string>节点对应一个urlScheme,至多50个
  • uexQQ uexWeiXin uexAliPay uexSina 可参考如下配置
  1. <config desc="whiteList" type="AUTHORITY">
  2. <permission platform="iOS" info="urlSchemeWhiteList">
  3. <!--如果您有用到uexWeiXin请添加如下urlSchemes至白名单中,本行不要复制-->
  4. <string>wechat</string>
  5. <string>weixin</string>
  6. <!--如果您有用到uexSina请添加如下urlSchemes至白名单中,本行不要复制-->
  7. <string>sinaweibohd</string>
  8. <string>sinaweibo</string>
  9. <string>sinaweibosso</string>
  10. <string>sinaweibohdsso</string>
  11. <string>weibosdk</string>
  12. <string>weibosdk2.5</string>
  13. <!-- 如果您有用到uexQQ请添加如下urlSchemes至白名单中,本行不要复制-->
  14. <string>mqzoneopensdk</string>
  15. <string>mqzoneopensdkapi</string>
  16. <string>mqzoneopensdkapi19</string>
  17. <string>mqzoneopensdkapiV2</string>
  18. <string>mqqOpensdkSSoLogin</string>
  19. <string>mqqopensdkapiV2</string>
  20. <string>mqqopensdkapiV3</string>
  21. <string>wtloginmqq2</string>
  22. <string>mqqapi</string>
  23. <string>mqqwpa</string>
  24. <string>mqzone</string>
  25. <string>mqq</string>
  26. <!--如果您有用到uexAliPay请添加如下urlSchemes至白名单中,本行不要复制-->
  27. <string>alipay</string>
  28. <string>alipayshare</string>
  29. </permission>
  30. </config>

type=”ENTITLEMENTS” 商用ID标识配置

  • 在config.xml中添加如下配置
  1. <config desc="uexApplePay" type="ENTITLEMENTS">
  2. <entitlement type="merchant" value="merchantIdentifier1"/>
  3. <entitlement type="merchant" value="merchantIdentifier2"/>
  4. </config>
  • 其中<entitlement>节点数量取决于你的App中会用到的商用ID标识数量。你应该为每一个商用ID标识设置一个<entitlement>节点,并修改其中的value值为此商用ID标识的merchantIdentifier。(type值不要更改!)

自定义错误页面配置

主要用于当打开的页面或open一个新窗口出错,页面网络异常等场景。
1、只需将以下配置代码写进config.xml文件里实现。
2、自定义错误页面,可以自行UI设计,路径为相对于主widget的路径

  1. <error src="error_content.html"/>

沉浸式状态栏

主适用于用于安卓系统,对于iOS系统 ios状态栏 是系统的无需设置。

1、只需将以下配置代码写进config.xml文件里实现。

  1. <statusbar color="#00000000"/>

以上信息是否解决您的问题?


免费注册,快速体验