ポリシーのデフォルトとカスタムポリシー
この記事では、ラップされたISVアプリでポリシーを操作する方法について説明します。
-
アンマネージドプレミアムアプリのポリシーデフォルトを変更する
MDX App 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ファイルに含まれます。MDX Toolkitのインストールフォルダ(Applications/Citrix/MDXToolkit/data)にあるこれらのファイルにカスタムポリシーを追加できます。
-
- 後で必要になる場合に備え、変更を予定しているポリシーファイルのバックアップを作成します
-
- ポリシーXMLファイルにポリシーを追加するには、次に示す「ポリシー形式」で提供されている形式を使用します
-
- アプリをラップする際に、ラッピングコマンドラインに-policyxmlオプションを含めて、変更したポリシーXMLファイルの場所を指定します
-policyxml /Applications/Citrix/MDXToolkit/data/policy_metadata.xml
コマンドラインを使用してISVアプリをラップする方法の詳細については、コマンドラインを使用したEnterprise 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-->