ポリシーのデフォルトとカスタムポリシー

この記事では、ラップされたISVアプリでポリシーを操作する方法について説明します。

  • アンマネージドプレミアムアプリのポリシーデフォルトを変更する

MDX App SDKには、アンマネージドプレミアムアプリ専用のポリシーデフォルトを指定する以下のポリシーファイルが含まれています。

  • Android: Applications/Citrix/MDXToolkit/data/MDXSDK_Android/ default_sdk_policies.xml
  • iOS: Applications/Citrix/MDXToolkit/data/MDXSDK/default_policies.xml

これらのファイル内のすべてのポリシーは無効になっています。ファイルにないポリシーは、アンマネージドプレミアムアプリでは無視されます。

デフォルト設定は次のように変更できます。

  1. 後で必要になる場合に備え、変更を予定しているデフォルトポリシーファイルのバックアップを作成します
  2. ISVアプリのポリシーデフォルトを変更するには、MDX ToolkitドキュメントのAndroidアプリ用MDXポリシーおよびiOSアプリ用MDXポリシーで指定されているポリシー値を使用します
  3. プレミアムアプリをビルドする際に、デフォルトポリシーファイルをアプリリソースに含めます

カスタムポリシーの作成

  • MDX Toolkitのポリシーファイルには、Citrix Endpoint Managementコンソールに表示されるポリシーラベルやヘルプテキストを含む、ポリシーの完全な定義が提供されています。アプリをラップすると、これらのポリシーは生成された.mdxファイルに含まれます。MDX Toolkitのインストールフォルダ(Applications/Citrix/MDXToolkit/data)にあるこれらのファイルにカスタムポリシーを追加できます。

    1. 後で必要になる場合に備え、変更を予定しているポリシーファイルのバックアップを作成します
    1. ポリシーXMLファイルにポリシーを追加するには、次に示す「ポリシー形式」で提供されている形式を使用します
    1. アプリをラップする際に、ラッピングコマンドラインに-policyxmlオプションを含めて、変更したポリシーXMLファイルの場所を指定します

    -policyxml /Applications/Citrix/MDXToolkit/data/policy_metadata.xml

    コマンドラインを使用してISVアプリをラップする方法の詳細については、コマンドラインを使用したEnterprise iOSアプリのラッピングおよびコマンドラインを使用したISV Androidアプリのラッピングを参照してください

  1. 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-->
ポリシーのデフォルトとカスタムポリシー