Androidアプリの開発

モバイルアプリでXenMobile APIを使用すると、アプリがCitrix Endpoint Managementと連携できるようになります。この記事では、MDX App SDKをアプリライブラリに統合する方法、およびアプリのテスト、認定、公開に必要な手順について説明します。

MDX App SDKの使用方法

APIの使用例をいくつか示します。

  • アプリへの制限の適用

API呼び出しによってアプリが管理されているか、またはラップされているかに基づいて、アプリが特定の機能やアクションへのアクセスを許可するかどうかを制御できます。たとえば、アプリが管理されていない、またはラップされていない場合、ユーザーにすべての機能とアクションへのアクセスを許可できます。アプリがラップされているが管理されていない場合は、特定の機能やアクションを制限できます。アプリがラップされ、かつ管理されている場合は、アプリに追加の制限を課すことができます。

Citrix Endpoint Managementのポリシー設定に基づくアクションの実行

Citrix Endpoint Management管理者がRequire WiFiポリシーを「オン」に設定した場合、つまりアプリがワイヤレスネットワークで実行できる場合、ユーザーに通知を表示したいとします。APIを使用してポリシー設定を検索し、そのポリシー値に基づいてコードを変更できます。

  • カスタムポリシーに基づくアクションの実行

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

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

Android StudioとGradleを使用したSDKのアプリライブラリへの統合

MDX App SDKをAndroidアプリに追加するには、このセクションで説明するように、MDX App Javaライブラリをアプリにインポートまたはコピーします。手順はAndroid StudioとGradleビルドシステムに基づいています。これらの手順を実行すると、MDX Apps SDKライブラリがアプリケーションに追加され、そのクラスとメソッドがアプリからアクセスできるようになります。

  1. 最新のMDX Toolkitをまだインストールしていない場合は、今すぐインストールしてください。

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

    2. XenMobile® Apps and MDX Toolkitを展開します。

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

    4. macOS 10.9.4以降およびXcode 5.1以降で、macOS Finderツールを使用してMDXToolkit.mpkgを開きます。

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

    MDX App SDKファイルはApplications/Citrix/MDXToolkit/data/MDXSDK_Androidにあります。

  2. MDX Toolkitのインストール後、Android開発者向けWebサイトからAndroid Studioをインストールし、次の手順を実行します。

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

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

    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')
<!--NeedCopy-->

OpenSSLライブラリは、Androidアプリ内の同様のライブラリと競合する可能性があります。Citrix®は、競合を避けるためにCitrixバージョンのライブラリを使用することを推奨します。

Androidアプリの公開

MDX App SDKをAndroidアプリに追加した後、アプリをラップ、テスト、認定、公開するには、次の手順を実行します。コマンドラインインターフェイスを使用してアプリをラップする場合、次のいずれかのオプションを含めます。

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

デフォルトは–appType Enterpriseです。appTypeを選択するには、次のガイドラインを使用します。

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

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

MDX Toolkitは、変更された.apkファイルと.mdxファイルを出力します。これらのファイルは、次の手順で使用します。MDX Toolkitを使用して、アプリの.apkファイルをラップします。詳細については、MDX Toolkitドキュメントの「Wrapping Android Mobile Apps」を参照してください。この記事には、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によって出力されたものではない)をCitrixに提出して、検証と認定を受けます。

  5. Citrixがアプリを認定した後、MDX Toolkitによって生成された.apkファイルをGoogle Playストアに提出して承認を受けます。

  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”

最終的な.mdxファイルをCitrix Endpoint Management管理者に提供します。管理者はそれをCitrix Endpoint Managementに追加し、ユーザーに公開します。または、アプリをより広範囲に配布できるように、MDX検証済みアプリをCitrix Ready Marketplaceに掲載することもできます。詳細については、「Citrix Ready Verified Program」を参照してください。

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

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

MDX App SDKの対応するバージョンを必ず使用してください。

Androidアプリの開発