企業向けモバイル管理(EMM)プロバイダが組織にソリューションを提供 Android デバイスとデバイスにインストールされているアプリを管理できます。これらのソリューションは 通常は EMM コンソールと呼ばれるウェブ コンソールとして利用できます。EMM を使用する IT 管理者がユーザーの代わりにデバイスとアプリの管理タスクを行う できます。
エンタープライズ組織を対象とするアプリは、次の形式で EMM にフィードバックを送信できます。 キー付きアプリの状態。EMM で API を使用して、鍵付きのアプリの状態データを取得したり、 EMM コンソールに表示できますこのコミュニケーション チャネルは を使用すると、IT 管理者は、 管理できます。
たとえば、メール クライアント アプリでは、キー付きのアプリの状態を使用して、 アカウントが正常に設定されたら、同期エラー発生時にレポートするか、 アプリ デベロッパーが適切と判断したその他のステータスの更新。
キー付きアプリの状態のコンポーネント
鍵付きアプリの状態は、以下で構成されます。
- キー: アプリの状態の一意の識別子。最大半角 100 文字(全角 50 文字)。
- Message: アプリの状態を説明するオプションのメッセージ。最大 1,000 あります。注: 通常、メッセージはこれより大幅に短くする必要があります。
- データ: EMM で IT 管理者が使用できるようにする機械可読形式の値(省略可)
その値に基づいてアラートやフィルタを設定できます。たとえば、IT 管理者は
データ フィールドが
battery_percentage < 10
の場合のアラートを設定する。最大 1,000 あります。 - Severity: アプリの状態の重大度。指定できる値は次のとおりです。
SEVERITY_ERROR
およびSEVERITY_INFO
(デフォルト)。重大度はSEVERITY_ERROR
のみに設定してください 組織が修正するために対策を講じる必要がある本物のエラー状態を特定します。 - Timestamp: キー付きアプリの状態が設定されると、その状態を エポックからのミリ秒単位のタイムスタンプ。
管理対象設定のフィードバックを送信する
管理対象設定をサポートしているアプリの場合、 鍵が設定されたアプリの状態を送信することが推奨され、 ステータスを記録します。次のワークフローの例では、 一つの方法です。
- IT 管理者は EMM コンソールを使用して、
完全管理対象デバイスにインストールされているアプリ
仕事用プロファイル内で設定できます。
例:
- 音量: '50%'
- Currency: 「USDD」
- アプリが構成の適用を試みます。音量が設定されました 50% に設定されていますが、通貨コードが無効のため適用できません。
- 各構成のステータスに基づいて、アプリはキー付きアプリの状態を設定します。
鍵付きのアプリの各状態には、一意のキーと、状態に関する情報を含むメッセージが含まれます。
あります。可能であれば、管理対象設定キーを一致させることをおすすめします。
次に例を示します。
キー メッセージ 重大度 タイムスタンプ volume
50% に設定 SEVERITY_INFO
1554461130
currency
通貨「USDD」認識されていません SEVERITY_ERROR
1554461130
- EMM プロバイダは、アプリが設定した鍵付きのアプリの状態を取得して、
EMM コンソールで管理できます次に例を示します。
構成 ステータス 必要な対応 時間 音量 50% に設定 × 2019 年 4 月 5 日午前 10:45:30 通貨 エラー: 通貨「USDD」認識されません。 ○ 2019 年 4 月 5 日午前 10:45:30 また、EMM プロバイダは、
SEVERITY_ERROR
必要ありませんIT 管理者は EMM コンソールで情報を確認し、 修正する措置を講じることができます。
解決済みのエラーを報告する
エラーが解決したら、すぐにフォローアップ アプリの状態を EMM でエラー メッセージが無期限に表示されるのを防ぐことができます。今回のフォローアップ 次を含める必要があります。
- 同じキー 最初のエラー メッセージが表示されます。
- 重大度:
SEVERITY_INFO
、 これは、状態がエラー状態ではなく、 組織はさらなる行動を起こさざるを得なくなります。
キー付きアプリの状態のサポートをアプリに追加する
キーが設定されたアプリの状態をアプリに統合する方法については、以下の手順で説明します。
ステップ 1: Google の Maven リポジトリを settings.gradle
ファイルに追加する
Google の Maven リポジトリをリポジトリの場所としてプロジェクトの settings.gradle
に追加します。
次のように指定します。
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() } }
ステップ 2: モジュール レベルの build.gradle
ファイルにエンタープライズ フィードバック ライブラリを追加する
モジュール レベルの build.gradle
に次の依存関係を追加します。
ファイル:
dependencies { implementation 'androidx.enterprise:enterprise-feedback:1.0.0' }
ステップ 3: KeyedAppStatesReporter
のインスタンスを取得する
onCreate()
メソッドで、次のインスタンスを取得して保存します。
KeyedAppStatesReporter
。
これにより、アプリと EMM プロバイダ間の通信チャネルが可能になります。
Kotlin
val reporter = KeyedAppStatesReporter.create(context)
Java
KeyedAppStatesReporter reporter = KeyedAppStatesReporter.create(context);
ステップ 4: キー付きアプリの状態のコレクションを作成する
キー付きアプリの状態を作成する際は、以下のおすすめの方法に従ってください。
- 個人を特定できる情報(PII)を状態に含めないでください。キー付きのアプリの状態は、 機密データに適しています。
- キーが設定されたアプリの状態を、
MAX_KEY_LENGTH
MAX_MESSAGE_LENGTH
, およびMAX_DATA_LENGTH
。 - 1 回の
setStates
またはsetStatesImmediate
の呼び出しでは、合計で 300 KB に制限されます(1 日に保存可能な合計の約 3 分の 1)。上限を超えると、未定義の動作が発生します。 - 状態の重大度を
SEVERITY_ERROR
組織が修正措置を取る必要がある条件が存在する場合。 - エラーを含むアプリの状態を送信する場合は、 エラーが解決されたときのフォローアップの状態が示され、EMM は問題の エラーが表示されます。
- フォローアップの状態には、同じものを使用します。
key を
エラーが返された初期状態で、重大度を
SEVERITY_INFO
。
以下のスニペットは、キー付きのアプリ状態のコレクションを作成します。
Kotlin
val states = hashSetOf(KeyedAppState.builder() .setKey("key") .setSeverity(KeyedAppState.SEVERITY_INFO) .setMessage("message") .setData("data") .build())
Java
Collectionstates = new HashSet<>(); states.add(KeyedAppState.builder() .setKey("key") .setSeverity(KeyedAppState.SEVERITY_INFO) .setMessage("message") .setData("data") .build());
ステップ 5: キー付きアプリの状態を設定する
setStates()
メソッドは、キー付きのアプリの状態を Play ストア アプリ(パッケージ名:
com.android.vending
など)と、そのアプリの管理者(デバイスにインストールされている場合)
設定することもできます。
Kotlin
keyedAppStatesReporter.setStates(states)
Java
keyedAppStatesReporter.setStates(states);