この記事では、Androidアプリケーションを開発者である場合に構成可能にする方法について説明することにしました。つまり、企業のオーディエンスのニーズを満たすために、アプリケーションで正確に変更する必要があるものです。また、例としてKnoxManageプラットフォームを使用した管理者のすべての作業について説明しました。
問題の定式化
でインタビューSRI SOKB(統合セキュリティシステムのための科学とテスト研究所)からの同僚と、私たちは、現代の企業のモバイルインフラストラクチャは、もはや集中制御システムなしで想像することができることに合意しません。
例えば、スイスの鉄道会社SBBで30,000従業員のそれぞれが受け取ります仕事用にカスタマイズされた電話-メールやメッセンジャーだけでなく、たとえば、障害に関するメッセージの送信もあります。この周辺全体の設定作業を従業員に任せることは、人件費がかかるだけでなく、プロセスで発生する可能性のあるエラーにも悩まされます。また、場合によっては(たとえば、障害が発生した場合)、エラーを探すよりも、電話を完全に再フラッシュして再初期化する方が簡単です。したがって、企業アプリケーション用に正しく選択されたソリューションにより、企業のIT管理者の作業がはるかに簡単になります。
通常、集中型システムを導入する場合、次の2つのタスクに直面します。
- . , : Knox Mobile Enrollment, Android Zero Touch Android Enterprise Enrollment (EMM-, QR- .)
- . , ,
2番目の問題の解決策として、AppConfigメカニズムがあります。これは、単一の会社のイニシアチブではなく、複数のベンダーの現在の慣習です。その本質は簡単に次のとおりです。開発者は自分のモバイルアプリケーション(メール、メッセンジャー、ビデオ通信クライアントなど)に実装します。-特定のユーザー向けにカスタマイズされた管理対象構成のサポート。開発者は、アプリケーションのどのパラメータを外部から設定できるか(識別子、ユーザー名、サーバーアドレス)を決定します。企業のGooglePlayを通じて、これらのパラメータはEMMシステムに送られます。また、管理された構成を作成し、それらを特定のデバイスやユーザーにリモートで割り当てることができます。
そのような機能が特定のアプリケーションに実装されているかどうかを確認するには:
- 企業のGooglePlayに移動します。
- 必要なアプリを見つけます。
- 管理対象構成をサポートしている場合は、次の名前で「このアプリケーションはリモートで構成できます」というアイコンが表示されます。
一般的なプロセスは次のようになります。
- 開発者は、管理対象構成のサポートをアプリケーションに追加します。XMLスキーマファイルでは、リモートで構成されているパラメーターを指定し、アプリケーションコードでは、それらのパラメーターを展開します。次に、アプリケーションを企業のGooglePlayにアップロードします。
- EMMシステムは、iframeを使用してGooglePlay上のアプリケーションからXMLスキーマを取得するための管理インターフェイスを提供します。
- 管理者は、企業のデバイスに表示されるパラメータ値を入力します。その後、EMMシステムは構成をGooglePlayに転送します。
- Google Playは、すべての企業デバイスのアプリを更新して、新しい構成を反映します。
企業のモバイルアプリケーションをAppConfigに適合させるプロセス
電子メールクライアントにアドレスとユーザー名をリモートで入力する必要があるとします。例としてSamsungKnox Manageを使用すると、管理対象構成を使用してこれらのパラメーターを構成するためのインターフェイスは次のようになります
。[電子メールアドレス]フィールドに$ emailaddress $を入力し、ユーザー名に$ username $を入力します(これらの変数は特定のユーザーに応じて動的に置き換えられます)。
開発者はどのようにしてAppConfigサポートをアプリケーションに追加できますか?
構成可能なパラメーターがサーバーアドレスであるモバイルアプリケーションを開発しているとします。Googleの推奨事項によると、開発者は次のことを行う必要があります。
- XMLリソースファイルを見つけます。これは通常、res / xmlプロジェクトフォルダーにあります。これには、構成可能なすべてのパラメーターに関する情報が含まれており、Google PlayAPIを介してEMMシステムに入ります。
<?xml version="1.0" encoding="utf-8"?> <restrictions xmlns:android="http://schemas.android.com/apk/res/android"> <restriction android:key="address" android:title="@string/title" android:restrictionType="string" android:description="@string/description" android:defaultValue="sample address" /> </restrictions>
- app_restrictions.xmlファイルをapplicationタグ内のアプリケーションマニフェストに明示的にリストします。
<application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <meta-data android:name="android.content.APP_RESTRICTIONS" android:resource="@xml/app_restrictions" />
- アプリケーションコードでACTION_APPLICATION_RESTRICTIONS_CHANGEDイベントの処理を実装します。この手順により、管理者が定義した新しい値をアプリケーションが確実に受け取るようになります。
IntentFilter restrictionFilter = new IntentFilter(Intent.ACTION_APPLICATION_RESTRICTIONS_CHANGED); BroadcastReceiver restrictionReciever = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { Bundle appRestrictions = restrictionsManager.getApplicationRestrictions(); /* Fetch the values of managed application configuration from this bundle and take action in your app accordingly. */ } };
この簡単な変更の結果、企業のGoogle Playでアプリケーションを公開した後、サーバーからカスタム構成を受け取ることができるようになります。サーバーから構成を受け取る
前後のアプリケーション
管理者は、Knox Manageコンソールを使用してアプリケーションを構成するにはどうすればよいですか?
コントロール構成を設定するには、管理者は企業のGooglePlayストアからKnoxManage(KM)を介してアプリケーション自体を追加するか、コンピューターからManaged Google Play Privateとしてアップロードする必要があります(企業のGoogle Playへの公開はオプションです)。新しい構成を設定するには:
- KMで、[グループ]タブを開き、デバイスに関連付けられているグループを選択して、[アプリケーション]ボタンをクリックします
- 次に、アプリケーションを選択して、[割り当て]をクリックします
- ターゲットデバイスとしてAndroidEnterpriseを選択します。[構成の設定]ボタンをクリックします。
- すべてを正しく実行し、アプリケーションがAppConfigをサポートしている場合、KMは必要なパラメーターに値を入力します。サーバーアドレスを入力し(構成名を入力することを忘れないでください)、[保存]ボタンをクリックするだけです。
- [割り当て]ボタンを押して、新しい構成をデバイスにダウンロードします。
- [OK]をクリックして確認します。
アプリケーションが実行されていて、開発者がAppConfigサポートを正しく実装している場合、アプリケーションはKMコンソールで指定された新しいサーバーアドレスを受け取ります。
KMコンソールから入力されたサーバーアドレスを持つアプリケーション
アプリケーションだけでなく、デバイス自体も構成します
ある時点で、開発者は次のように考えました。アプリケーションだけでなく、デバイス自体のパラメータも同様の方法で構成したい場合はどうでしょうか。OEMConfigは、デバイスメーカーによって作成されたアプリケーションに構成を送信するための新しい標準です。送信は同じXMLスキーマを使用して行われます。Androidハードウェアメーカーはこの標準に従って、管理者がデバイスをより細かく制御できるようにしています。そのため、KnoxをサポートするSamsungスマートフォンには、GooglePlayからダウンロードできるKnoxService Plugin(KSP)という解決策があります。しかし、これについてはまた別の機会に話します。
結果
- AppConfigを使用して、アプリケーションの管理対象構成をサポートします。実装は非常に簡単で、最も重要なことは、非常に便利なことです。
- 新しい構成を作成し、EMMシステム(この例ではKnox Manage)を使用して多数のユーザーのデバイスに送信します。
- クラッチをできるだけ少なくし、既製のソリューションと標準的な方法を使用してください!
トピックに関する追加のリソース:
- https://docs.samsungknox.com/admin/uem/km-configure-appconfig.htm
- https://docs.samsungknox.com/dev/managed-configurations/introduction-to-managed-configurations.htm
- https://developer.android.com/work/managed-configurations
- https://www.samsungknox.com/en/solutions/it-solutions/knox-manage
- https://www.appconfig.org/android/
- https://docs.samsungknox.com/admin/knox-service-plugin/welcome.htm
著者:Pavel Lepeev、
エンジニア、B2Bプレ/ポストセールス
ビジネス開発チーム
Samsung R&D Institute Russia