策略默认值和自定义策略
本文讨论您可以如何在封装的 ISV 应用程序中使用策略。
更改非托管高级应用程序的策略默认值
MDX 应用程序 SDK 包括下列用于改非托管高级应用程序的默认策略的策略文件。
- Android:Applications/Citrix/MDXToolkit/data/MDXSDK_Android/ default_sdk_policies.xml
- iOS:Applications/Citrix/MDXToolkit/data/MDXSDK/default_policies.xml
这些文件中的所有策略已禁用。将为非托管“高级”应用程序忽略未处于文件中的任何策略。
可以按照下面的方式更改默认设置。
- 备份您计划要更改的任何默认策略文件,以便在将来需要它们时使用。
- 要更改 ISV 应用程序的策略默认值,请使用在 MDX Toolkit 文档、适用于 Android 应用程序的 MDX 策略和适用于 iOS 应用程序的 MDX 策略中指定的策略默认值。
- 在构建“高级”应用程序时,将默认策略文件与您的应用程序资源包括在一起。
创建自定义策略
MDX Toolkit 中的策略文件提供了策略的完整定义,包括在 Citrix Endpoint Management 控制台中显示的策略标签和帮助文本。当封装应用程序时,这些策略将包含在所生成的 .mdx 文件中。可以向将这些文件(位于 Applications/Citrix/MDXToolkit/data 中的 MDX Toolkit 安装文件夹中)添加自定义策略。
-
备份您计划要更改的任何策略文件,以便在将来需要它们时使用。
-
要向策略 XML 文件添加策略,请使用在后面的“策略格式”中提供的格式。
-
封装应用程序时,通过在封装命令行中包含 -policyxml 选项来指定修改后的策略 XML 文件的位置:
-policyxml /Applications/Citrix/MDXToolkit/data/policy_metadata.xml
有关使用命令行来封装 ISV 应用程序的详细信息,请参阅使用命令行封装企业 iOS 应用程序和使用命令行封装 ISV Android 应用程序
-
要在 Citrix Endpoint Management 控制台中验证策略的名称、说明和值,请将您的应用程序上载到 Endpoint Management。
添加策略的指南
- 请仅更改以粗体显示的项目。
- PolicyName 元素的值是您从应用程序调用的名称。
- PolicyCategory 元素的值是在 Citrix Endpoint Management 控制台中列出策略时所使用的类别名称。要查找类别名称,请参阅 MDX 策略文件的 <Category> 部分中的 CategoryId 值。
- PolicyDefault 元素的值为您的策略的默认设置。
- <Title res_id=”POLICY_ID”> 中的 POLICY_ID 是用于策略的唯一 ID。此 ID 必须以字母开头,不能包含空格,且仅能包含字母、数字或下划线。
- Title 元素的值是 Citrix Endpoint Management 控制台中显示的策略标签。
- <Description res_id=”POLICY_DESC_ID”> 中的 POLICY_DESC_ID 是策略说明的唯一 ID。此 ID 必须以字母开头,不能包含空格,且仅能包含字母、数字或下划线。
- Description 元素的值是显示在 Citrix Endpoint Management 控制台中的策略说明。
字符串
<Policy>
<PolicyName>PolicyName</PolicyName>
<PolicyType>string</PolicyType>
<PolicyCategory>Category_ID</PolicyCategory>
<PolicyDefault>Value</PolicyDefault>
<PolicyStrings>
<Title res_id="POLICY_ID”>Sample String Policy</Title>
<Description res_id="POLICY_DESC_ID">
Please enter the policy value.
</Description>
</PolicyStrings>
</Policy>
<!--NeedCopy-->
布尔值
<Policy>
<PolicyName>PolicyName</PolicyName>
<PolicyType>string</PolicyType>
<PolicyCategory>Category_ID</PolicyCategory>
<PolicyDefault>false</PolicyDefault>
<PolicyStrings>
<Title res_id="POLICY_ID”>Sample Boolean Policy</Title>
<BooleanTrueLabel res_id="POLICY_ON">On</BooleanTrueLabel>
<BooleanFalseLabel res_id="POLICY_OFF">Off</BooleanFalseLabel>
<Description res_id="POLICY_DESC_ID">
If On, the app does something.
If Off, the app does something else.
Default value is Off.
</Description>
</PolicyStrings>
</Policy>
<!--NeedCopy-->
枚举
<Policy>
<PolicyName>PolicyName</PolicyName>
<PolicyType>enum</PolicyType>
<PolicyEnumValues>
<PolicyEnumValue>
<PolicyEnumValueId>Value1</PolicyEnumValueId>
<PolicyEnumValueString res_id="ID_1">Yes</PolicyEnumValueString>
</PolicyEnumValue>
<PolicyEnumValue>
<PolicyEnumValueId>Value2</PolicyEnumValueId>
<PolicyEnumValueString res_id="ID_2">No</PolicyEnumValueString>
</PolicyEnumValue>
<PolicyEnumValue>
<PolicyEnumValueId>Value3</PolicyEnumValueId>
<PolicyEnumValueString res_id="ID_3">Maybe</PolicyEnumValueString>
</PolicyEnumValue>
</PolicyEnumValues>
<PolicyCategory>Category_ID</PolicyCategory>
<PolicyDefault>Value1</PolicyDefault>
<PolicyStrings>
<Title res_id="POLICY_ID”>Sample Enum Policy</Title>
<Description res_id="POLICY_DESC_ID">
Sample policy description.
Default value is Yes.
</Description>
</PolicyStrings>
</Policy>
<!--NeedCopy-->
策略默认值和自定义策略
已复制!
失败!