ポリシーのデフォルトとカスタムポリシー
ここでは、ラップされたISVアプリでポリシーを使用する方法について説明します。
非管理対象のPremiumアプリに関するポリシーのデフォルトの変更
MDXアプリSDKには、非管理対象のPremiumアプリにのみポリシーのデフォルトを指定する、以下のポリシーファイルが含まれています。
- Android:Applications/Citrix/MDXToolkit/data/MDXSDK_Android/ default_sdk_policies.xml
- iOS: Applications/Citrix/MDXToolkit/data/MDXSDK/default_policies.xml
これらのファイルのポリシーはすべて、無効になっています。ファイルにないポリシーは、非管理対象のPremiumアプリでは無視されます。
次のように、デフォルト設定を変更できます。
- 後で必要になった場合に備えて、変更するデフォルトポリシーファイルのバックアップを作成します。
- ISVアプリのポリシーのデフォルトを変更するには、MDX Toolkitのドキュメント「AndroidアプリのMDXポリシー」および「iOSアプリのMDXポリシー」で指定されているポリシー値を使用します。
- Premiumアプリを構築するときに、アプリリソースにデフォルトポリシーファイルを含めます。
カスタムポリシーの作成
MDX Toolkitのポリシーファイルには、Citrix Endpoint Managementコンソールに表示されるポリシーラベルやヘルプテキストを含め、すべてのポリシー定義が用意されています。アプリをラップすると、生成される.mdxファイルにこれらのポリシーが含まれます。これらのファイルはMDX ToolkitインストールフォルダーのApplications/Citrix/MDXToolkit/dataにあり、これらのファイルにカスタムポリシーを追加できます。
-
後で必要になった場合に備えて、変更するポリシーファイルのバックアップを作成します。
-
ポリシーXMLファイルにポリシーを追加するには、次の「ポリシーの形式」に指定されている形式を使用します。
-
アプリをラップする時に、ラッピングのコマンドラインに-policyxmlオプションを含めることによって、変更されたポリシーXMLファイルの場所を指定します。
-policyxml /Applications/Citrix/MDXToolkit/data/policy_metadata.xml
コマンドラインを使用したISVアプリのラッピングについて詳しくは、「コマンドラインを使ったiOSエンタープライズアプリケーションラッピング」および「コマンドラインを使ったAndroid ISVアプリラッピング」を参照してください。
-
ポリシーの名前、説明、および値をCitrix Endpoint Managementコンソールで確認するには、アプリをCitrix Endpoint Managementにアップロードします。
ポリシー追加に関するガイドライン
- 太字で表示されるアイテムのみ変更します。
- PolicyNameエレメントの値は、アプリからコールされる名前です。
- PolicyCategoryエレメントの値は、Citrix Endpoint Managementコンソールにポリシーが表示される場合のカテゴリ名です。カテゴリ名を見つけるには、MDXポリシーファイルの<Category>セクションでCategoryId値を参照します。
- PolicyDefaultエレメントの値は、ポリシーのデフォルト設定です。
- <Title res_id=”POLICY_ID”>のPOLICY_IDは、ポリシーで使用される一意のIDです。IDの先頭が文字である必要があります。また、IDにスペースを含めることはできません。文字、数字、またはアンダースコアのみ含めます。
- Titleエレメントの値は、Citrix Endpoint Managementコンソールに表示されるポリシーラベルです。
- <Description res_id=”POLICY_DESC_ID”>のPOLICY_DESC_IDは、ポリシー説明の一意の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-->