EMM にアプリのフィードバックを送信する

企業向けモバイル管理(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: キー付きアプリの状態が設定されると、その状態を エポックからのミリ秒単位のタイムスタンプ。

管理対象設定のフィードバックを送信する

管理対象設定をサポートしているアプリの場合、 鍵が設定されたアプリの状態を送信することが推奨され、 ステータスを記録します。次のワークフローの例では、 一つの方法です。

管理対象設定の鍵付きアプリの状態
  1. IT 管理者は EMM コンソールを使用して、 完全管理対象デバイスにインストールされているアプリ 仕事用プロファイル内で設定できます。 例:
    • 音量: '50%'
    • Currency: 「USDD」
  2. アプリが構成の適用を試みます。音量が設定されました 50% に設定されていますが、通貨コードが無効のため適用できません。
  3. 各構成のステータスに基づいて、アプリはキー付きアプリの状態を設定します。 鍵付きのアプリの各状態には、一意のキーと、状態に関する情報を含むメッセージが含まれます。 あります。可能であれば、管理対象設定キーを一致させることをおすすめします。 次に例を示します。
    キー メッセージ 重大度 タイムスタンプ
    volume 50% に設定 SEVERITY_INFO 1554461130
    currency 通貨「USDD」認識されていません SEVERITY_ERROR 1554461130
  4. 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

    Collection states = 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);

キー付きのアプリの状態をテストする

テスト手順の詳細については、アプリのフィードバックをテストするをご覧ください。