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

ここでは、ラップされた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アプリでは無視されます。

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

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

カスタムポリシーの作成

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

  1. 後で必要になった場合に備えて、変更するポリシーファイルのバックアップを作成します。

  2. ポリシーXMLファイルにポリシーを追加するには、次の「ポリシーの形式」に指定されている形式を使用します。

  3. アプリをラップする時に、ラッピングのコマンドラインに-policyxmlオプションを含めることによって、変更されたポリシーXMLファイルの場所を指定します。

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

    コマンドラインを使用したISVアプリのラップについて詳しくは、「コマンドラインを使ったiOS ISVアプリラッピング」および「コマンドラインを使ったAndroid ISVアプリラッピング」を参照してください。

  4. ポリシーの名前、説明、および値をCitrix Endpoint Managementコンソールで確認するには、アプリをCitrix Endpoint Managementにアップロードします。これは、「Androidアプリの公開」および「iOSアプリの公開」の公開手順に含まれています。

ポリシー追加に関するガイドライン

  • 太字で表示されるアイテムのみ変更します。
  • 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>

ブーリアン型

<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>

列挙型

<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>