アプリからフィードバックを取得する

一部のアプリは、キー付きのアプリの状態の形式で EMM にフィードバックを送信できます。鍵付きアプリの状態は、一意の識別子(キー)、対応するメッセージ(省略可)、機械が読み取れるデータ(省略可)、重大度のステータス、タイムスタンプで構成されます。送信するには、アプリを Enterprise Jetpack ライブラリと統合する必要があります。

EMM は、鍵付きのアプリの状態のデータを使用して、管理対象デバイスとプロファイルにインストールされているアプリについて IT 管理者が最新の状態に維持できます。この仕組みの例については、企業にフィードバックを表示するをご覧ください。

デバイス レポートを有効にする

アプリは、鍵付きのアプリの状態をデバイスごとに送信します。鍵付きのアプリの状態がデバイス上のアプリから受け入れられる前に、デバイスのデバイス レポートを有効にする必要があります。デバイスでポリシーが更新されるまで、キーが設定されたアプリの状態はすべて無視され、永久に失われます。デバイスの登録を完了するに、可能な限り早い段階でデバイス レポートを有効にします。これにより、デバイスの登録時に生成されたアプリのフィードバックを受け取れるほか、鍵付きのアプリの状態が失われることもありません。

  • devices.update() を呼び出して、policy.deviceReportPolicy"deviceReportEnabled" に設定します。

デバイス レポートを取得する

デバイス レポートを取得するには、いくつかの方法があります。

  • デバイス レポートを他の通知とともに取得するには、enterprises.pullNotificationSet() を呼び出します。レスポンスで、各 deviceReportUpdateEvent はデバイス レポートを示します。
  • 指定したデバイスの最新のキー付きアプリの状態で更新されたデバイス レポートを取得するには、devices.get() を呼び出します。
  • デバイスに最新のアプリの状態を強制的にアップロードするには、devices.forceReportUpload() を呼び出します。このメソッドは、最後のレポートの生成以降にデバイス上で行われたアプリの状態の変化を含むレポートをアップロードします。

キー付きのアプリの状態を表示する

デバイス レポートはデバイス リソースの一部です。レポートには、デバイスまたは仕事用プロファイルにインストールされているアプリ(パッケージ)ごとに appState オブジェクトが含まれます。下記の例のように、特定のパッケージのキー付きのアプリの状態(keyedAppState)は、appState オブジェクトにリストされています。

{
   "result":{
      "kind":"androidenterprise#device",
      "report":{
         "appState":[
            {
               "keyedAppState":[
                  {
                     "severity":"severityError",
                     "data":"user",
                     "message":"Username or password are incorrect",
                     "key":"account",
                     "stateTimestampMillis":"1556206406926"
                  }
               ],
               "packageName":"com.google.android.feedbacktestapp"
            }
         ],
         "lastUpdatedTimestampMillis":"1556206407685"
      },
      "androidId":"32714368a0ad8ad5",
      "managementType":"managedProfile",
      "policy":{
         "deviceReportPolicy":"deviceReportEnabled"
      }
   }
}

キーが指定されたアプリの各状態には次のものが含まれます。

項目 説明
key 状態を識別する一意のキー。
severity 状態の重大度: INFO は情報メッセージを示します。たとえば、管理対象設定が正しく設定されている場合などです。ERROR は、企業が問題を修正するためにアクションを取る必要があることを示します。(管理対象設定の設定に失敗した場合など)。
message アプリの状態に関する詳細を示す文字列(省略可)。アプリ デベロッパーは、このフィールドをユーザー向けのメッセージとして扱うことをおすすめします。
data アプリの状態について、コンピュータが読み取れる詳細情報を EMM に提供する、オプションの文字列。たとえば、「Battery_warning データが 10 未満の場合は通知する」など、IT 管理者がコンソールでクエリできる値です。
stateTimestampMillis デバイス上でアプリの状態が最後に更新された時刻を示すタイムスタンプ(ミリ秒単位)。
lastUpdatedTimestampMillis 鍵付きアプリの状態がデバイスが最後にアップロードされた時刻を示すタイムスタンプ(ミリ秒単位)。

アプリのフィードバックを企業に表示する

アプリはさまざまな理由でフィードバックを送信できます。ただし、鍵付きアプリの状態を送信する最も一般的なユースケースは、管理対象設定に関するフィードバックを提供することです。次に例を示します。

  1. IT 管理者は EMM コンソールを使用して、アプリの管理対象設定を行います。
  2. バックエンドでは、構成をアプリに送信します。
  3. アプリが構成を適用しようとします。構成ごとに、アプリはステータス(確認メッセージやエラー通知など)を示すキー付きのアプリ状態を送信します。
  4. 鍵付きのアプリの状態を確認するには、デバイス レポートを取得します。
  5. EMM コンソールには、鍵付きのアプリの状態からの情報を使用して、管理対象設定のステータスが表示されます。

IT 管理者にエラーを通知する

鍵付きアプリの状態が重大度 ERROR の場合は、問題を修正するために組織が対処する必要があることを示します。EMM は、EMM コンソールまたはその他の手段を通じて、常に組織にエラーを警告する必要があります。たとえば、EMM コンソールに、エラーのある特定のデバイスのフィードバックにリンクするエラー ダッシュボードを表示できます。

エラー状態が修正されると、アプリは、元のエラー状態と同じキーと更新された重大度 INFO のフォローアップ状態を送信します。EMM は、エラーが修正されたらすぐに常に組織に通知する必要があります。たとえば、コンソールのエラー ダッシュボードからエラーを削除するか、解決済みとしてマークします。