Androidアプリの開発

XenMobile APIをモバイルアプリに使用し、アプリをCitrix Endpoint Management対応にできます。ここではMDXアプリSDKをアプリライブラリに統合する方法と、アプリをテスト、認定、発行する手順について説明します。

MDXアプリSDKの使用方法

以下は、APIの使用方法例です。

アプリで制限を適用する

アプリが特定の機能または操作へのアクセスを許可するかどうかを、管理対象アプリかラップされたアプリかを示すAPI呼び出しに基づいて制御できます。たとえば、アプリが管理対象アプリでない、またはラップされたアプリでない場合、すべての機能および操作へのユーザーアクセスを許可できます。アプリがラップされているが管理されてはいない場合、特定の機能または操作を制限できます。アプリがラップされており管理されている場合、アプリに追加の制限を適用できます。

Citrix Endpoint Management設定に基づいて操作を実行する

たとえば、Citrix Endpoint Management管理者が[Wi-Fiiを必須とする]ポリシーを[オン]に設定している場合、つまりワイヤレスネットワークでアプリを実行できる場合、ユーザーに通知が表示されるようにするとします。APIを使用してポリシー設定を検索し、ポリシー値に基づいてコードを変更します。

  • カスタムポリシーに基づいて操作を実行する

    APIを使用して、アプリのカスタムポリシーを読み取ることができます。たとえば、Citrix Endpoint Management管理者がアプリに通知を表示できるようにします。そのためには、Citrix Endpoint Managementコンソールで空のカスタムポリシー(デフォルト)、または管理者が入力したシステムメッセージが含まれるカスタムポリシーを作成します。アプリが管理対象である場合、Citrix Endpoint Management管理者によってポリシー値が変更されると、アプリがそれを検出します。ポリシー値にメッセージが含まれていると、アプリは通知を表示します。

APIの定義については、「AndroidのXenMobile API」を参照してください。

Android StudioおよびGradleを使用した、アプリライブラリへのSDKの統合

AndroidアプリにMDXアプリSDKを追加するには、ここで説明している手順に従って、アプリにMDX App Javaライブラリをインポートまたはコピーする必要があります。手順は、Android StudioおよびGradleのビルドシステムに基づきます。手順を進めると、アプリにMDXアプリSDKライブラリが追加されて、アプリがクラスとメソッドにアクセスできるようになります。

  1. 最新のMDX Toolkitがインストールされていない場合は、インストールします。

    1. Citrix Endpoint Managementのダウンロードページにログオンします。

    2. XenMobile AppsおよびMDX Toolkitを展開します。

    3. インストールするMDX Toolkitのバージョンを見つけてリンクをクリックし、ダウンロードを開始します。

    4. macOS 10.9.4以降およびXcode 5.1以降のmacOS FinderツールでOpen MDXToolkit.mpkgを開きます。

    インストールパスは、Applications/Citrix/MDXToolkitです。

    MDXアプリSDKファイルは、Applications/Citrix/MDXToolkit/data/MDXSDK_Androidで見つかります。

  2. MDX Toolkitのインストール後、Android Developers WebサイトからAndroid Studioをインストールして、以下を実行します。

    1. プロジェクトディレクトリで、libsという名前のフォルダーを作成します。

    2. libsフォルダーにファイルworxsdk.aarを追加します。

    3. プロジェクト「build.gradle」を編集して、libsフォルダーをリポジトリとして検索するルールを追加し、libsフォルダーのworxsdk.aarを依存関係として含めます。

    4. APKファイルを作成します。

worxsdk.aarの例:

    // Top-level build file where you can add configuration options common to all sub-projects/modules.
    buildscript {
        repositories {
            jcenter()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:1.1.0'
            // NOTE: Do not place your application dependencies here; they belong
            // in the individual module build.gradle files
        }
    }
    allprojects {
        repositories {
            jcenter()
            flatDir {
                dirs 'libs'
            }
        }
    }
    dependencies {
        compile(name:'worxsdk', ext:'aar')

OpenSSLライブラリは、Androidアプリ内で類似するライブラリとの競合が発生する可能性があります。競合を回避するために、Citrixバージョンのライブラリを使用することをお勧めします。

Androidアプリの公開

AndroidアプリにMDXアプリSDKを追加したら、以下の手順を実行してアプリをラップ、テスト、認定、公開します。コマンドラインインターフェイスでアプリケーションをラップする時に、以下のいずれかのオプションを含めます。

  • -appType Enterprise
  •  -appType Premium
  • -appType General

デフォルトは–appType Enterpriseです。以下のガイドラインを使用してappTypeを選択します。

  • Enterprise: アプリは、ユーザーデバイスにSecure Hubをインストールする必要があります。また、StoreFrontにアプリケーションを公開して、Secure Hubによってアプリをインストールする必要があります。
  • General: ISVアプリは、Secure Hubなしに動作します(初回)。アプリケーションがユーザーデバイスでSecure Hubを検出するか、一致するアプリケーションが公開されると、アプリケーションは管理対象モードに移行できます。管理対象アプリとして実行される場合、Generalアプリはエンタープライズアプリと同じように動作します。非管理対象アプリとして実行される場合は、Citrixポリシーは適用されません。
  • Premium: ISVアプリは、ユーザーデバイスにSecure Hubがインストールされていなくても動作します(初回)。アプリケーションがユーザーデバイスでSecure Hubを検出するか、一致するアプリケーションが公開されると、アプリケーションは管理対象アプリに移行できます。非管理対象アプリとして実行される場合、MDXによって抑制ポリシーなどのポリシーがいくつか適用されます(ネットワークアクセスの許可、スクリーンキャプチャの許可、またはカメラの禁止)。

ラップされた.apkファイルをアプリストアまたはWebサーバーにアップロードする必要があり、ラップ時にURLがわかる場合、-storeURLオプションを追加します。手順で以降に示すように、URLを後で追加することもできます。

MDX Toolkitによって、修正された.apkファイルおよび.mdxファイルが出力されます。これらのファイルを以降の手順で使用します。MDX Toolkitを使用してアプリケーションの.apkファイルをラップします。詳しくはMDX Toolkitのドキュメントの「Androidモバイルアプリのラッピング」参照してください。ここでは、ISVアプリに固有のコマンドを含め、すべてのラップコマンドを示しています。

重要:

MDX Toolkitユーザーインターフェイスを使用してISVアプリをラップするオプションは利用できなくなりました。コマンドラインを使用してISVアプリをラップする必要があります。

アプリをテストするには、以下の手順を実行します

  1. 変更後の.apkファイルをAndroidデバイスにインストールして、すべてのアプリが機能することを確認します。

  2. Citrix Endpoint Managementコンソールを使用して、.mdxファイルをCitrix Endpoint Managementに追加し、テストのためにAndroidデバイスに配信します。詳しくは、「MDXアプリをCitrix Endpoint Managementに追加するには」を参照してください。そのデバイスで、アプリのMDX機能をテストします。

    カスタムポリシーを追加した場合は、それらのポリシーがCitrix Endpoint Managementコンソールに表示されており正常に機能することを確認します。default_sdk_policies.xmlを変更した場合は、変更をテストしてください。ポリシーの追加とポリシーのデフォルトの変更について詳しくは、「ポリシーのデフォルトとカスタムポリシー」を参照してください。

  3. アプリで検出された問題を解決して、.apkファイルを再生成し、MDX Toolkitを使用して再度ラップします。

  4. 検証および認定のために、元の.apkファイル(MDX Toolkitで出力されたファイルではなく)をシトリックスに送信します。

  5. Citrixでアプリが認定されると、承認のために、MDX Tookitで生成された.apkファイルがGoogle Play Storeに送信されます。

  6. Googleでアプリが承認されたら、MDX Toolkitを実行して.mdxファイルでアプリのダウンロード用URLを更新します。以下は、URLを変更するコマンドの例です。

    java -jar /Applications/Citrix/MDXToolkit/ManagedAppUtility.jar \
    setinfo \
    -in ~/Desktop/SampleApps/Sample.mdx \
    -out ~/Desktop/SampleApps/wrapped/Sample.mdx \
    -storeURL \
    “https://play.google.com/store/apps/details?id=com.zenprise”
    
  7. 最終的な.mdxファイルをCitrix Endpoint Management管理者に提供します。管理者はCitrix Endpoint Managementに追加してユーザーに公開します。または、アプリをより広範囲に配布するには、Citrix Ready MarketplaceにMDX認証アプリを登録することができます。詳しくは、Citrix Ready Worx Verified Programを参照してください。

アプリのアップグレードに関する考慮事項

Citrix Endpoint Managementソフトウェアはリリースごとに大幅に変更されます。最新の機能やバグ修正を利用するには、最新バージョンのMDX Toolkitを使用してアプリをラップする必要があります。以前にMDX Toolkitで生成した変更後のファイルではなく、元の.ipaまたは.apkファイルをラップするように注意してください。

MDXアプリSDKの関連バージョンを使用してください。