Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Beberapa aplikasi dapat mengirim masukan ke EMM dalam bentuk aplikasi yang dilengkapi kunci
negara bagian. Status aplikasi yang terkunci terdiri dari
ID unik (kunci),
pesan yang sesuai (opsional), data yang dapat dibaca mesin (opsional), tingkat keparahan
status, dan stempel waktu. Untuk mengirimkannya, aplikasi perlu berintegrasi dengan
Library Jetpack Enterprise.
Sebagai EMM, Anda dapat menggunakan data dari status aplikasi yang terkunci untuk menjaga admin IT
selalu mendapatkan update terbaru terkait aplikasi yang diinstal di profil dan perangkat terkelola. Contoh
cara kerjanya dijelaskan dalam Menampilkan masukan kepada perusahaan.
Aktifkan laporan perangkat
Aplikasi mengirim status aplikasi dengan kunci per perangkat. Sebelum aplikasi terkunci apa pun
diterima dari salah satu aplikasi di perangkat, Anda harus mengaktifkan perangkat
untuk perangkat. Semua aplikasi yang terkunci hingga kebijakan diperbarui di perangkat
status akan diabaikan dan hilang selamanya. Aktifkan laporan perangkat sebelum
menyelesaikan pendaftaran perangkat, sedini mungkin dalam pendaftaran
{i>checkout<i}. Hal ini memastikan bahwa Anda menerima masukan aplikasi yang dibuat selama perangkat
pendaftaran dan tidak ada status
aplikasi yang hilang.
Panggil devices.update(),
menyetel policy.deviceReportPolicy ke "deviceReportEnabled".
Mengambil laporan perangkat
Ada beberapa cara untuk mengambil laporan perangkat:
Untuk mengambil laporan perangkat beserta notifikasi lainnya, panggil
enterprises.pullNotificationSet()
Dalam respons, setiap deviceReportUpdateEvent menunjukkan laporan perangkat.
Untuk mengambil laporan perangkat yang diperbarui dengan status aplikasi dengan kunci terbaru untuk
perangkat tertentu, panggil devices.get().
Untuk memaksa perangkat mengupload status aplikasi terbaru, panggil
devices.forceReportUpload()
Metode ini mengupload laporan yang berisi perubahan status aplikasi pada
perangkat Anda sejak laporan terakhir dibuat.
Melihat status aplikasi dengan kunci
Laporan perangkat adalah bagian dari resource perangkat. Laporan menyertakan appState
untuk setiap aplikasi (paket) yang diinstal pada perangkat atau dalam profil kerjanya.
Status aplikasi dengan kunci (keyedAppState) untuk paket tertentu tercantum di
appState, seperti dalam contoh di bawah:
{"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"}}}
Setiap status aplikasi yang diberi kunci berisi hal berikut:
Kolom
Deskripsi
key
Kunci unik yang mengidentifikasi status.
severity
Tingkat keparahan status: INFO menunjukkan pesan yang informatif. Misalnya, jika konfigurasi terkelola berhasil disetel. ERROR menunjukkan bahwa perusahaan perlu mengambil tindakan untuk memperbaiki masalah. Misalnya, jika konfigurasi terkelola gagal ditetapkan.
message
String opsional yang memberikan detail tentang status aplikasi. Developer aplikasi disarankan untuk memperlakukan kolom ini sebagai pesan yang ditampilkan kepada pengguna.
data
String opsional yang memberikan detail yang dapat dibaca komputer ke EMM tentang status aplikasi. Misalnya, nilai yang dapat dikueri oleh admin IT di konsol Anda, seperti "beri tahu saya jika data baterai_peringatan < 10 inci.
stateTimestampMillis
Stempel waktu (dalam milidetik) yang menunjukkan kapan status aplikasi terakhir diupdate di perangkat.
lastUpdatedTimestampMillis
Stempel waktu (dalam milidetik) yang menunjukkan kapan perangkat terakhir kali mengupload status aplikasi terkunci.
Menampilkan masukan tentang aplikasi ke perusahaan
Aplikasi dapat mengirim masukan karena berbagai alasan. Namun, penggunaan yang paling umum
kasus pengiriman status aplikasi dengan kunci adalah
memberikan masukan tentang status aplikasi
konfigurasi standar. Contoh:
Aplikasi akan mencoba menerapkan konfigurasi. Untuk setiap konfigurasi, aplikasi
mengirimkan status aplikasi berkunci yang menunjukkan statusnya (misalnya,
pesan atau notifikasi error).
Dengan menggunakan informasi dari status aplikasi yang terkunci, konsol EMM akan menampilkan
konfigurasi terkelola yang mudah digunakan.
Memberi tahu admin IT tentang error
Status aplikasi terkunci dengan tingkat keparahan ERROR menunjukkan bahwa organisasi perlu melakukan
tindakan untuk memperbaiki masalah. EMM harus selalu memberi tahu organisasi
terhadap error, baik melalui konsol EMM atau cara lainnya. Misalnya,
Konsol EMM dapat menampilkan dasbor error yang menautkan ke masukan untuk
perangkat tertentu yang {i>error<i}.
Jika status error diperbaiki, aplikasi akan mengirimkan status tindak lanjut dengan kunci yang sama
sebagai status error asli dan tingkat keparahan INFO yang diperbarui. EMM seharusnya
selalu memberi tahu organisasi segera setelah error diperbaiki. Misalnya,
menghapus error dari dasbor error konsol Anda atau menandainya sebagai terselesaikan.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-08-31 UTC."],[[["\u003cp\u003eKeyed app states allow apps to send feedback to EMMs, offering insights into app status and managed configuration outcomes on devices.\u003c/p\u003e\n"],["\u003cp\u003eEMMs need to enable device reports to receive keyed app states, ensuring data is collected and no feedback is lost.\u003c/p\u003e\n"],["\u003cp\u003eDevice reports containing keyed app states can be retrieved through various API calls for monitoring app behavior and managed configuration status.\u003c/p\u003e\n"],["\u003cp\u003eKeyed app states provide valuable information, including severity level, timestamps, and optional messages or machine-readable data, enabling EMMs to display meaningful feedback to IT admins.\u003c/p\u003e\n"],["\u003cp\u003eEMMs should prioritize alerting IT admins to errors indicated by keyed app states and ensure timely updates when errors are resolved to facilitate efficient device management and troubleshooting.\u003c/p\u003e\n"]]],[],null,["# Retrieve feedback from apps\n\nSome apps are capable of sending feedback to EMMs in the form of **keyed app\nstates** . A keyed app state is made up of a unique identifier (key),\ncorresponding message (optional), machine-readable data (optional), severity\nstatus, and timestamp. To send them, an app needs to integrate with the\n[Enterprise Jetpack library](https://developer.android.com/reference/androidx/enterprise/feedback/package-summary).\n\nAs an EMM, you can use the data from keyed app states to keep IT admins\nup-to-date with the apps installed on managed devices and profiles. An example\nof how this might work is described in [Display feedback to enterprises](#display_app_feedback_to_enterprises).\n\nEnable device reports\n---------------------\n\nApps send keyed app states on a per-device basis. Before any keyed app states\nare accepted from any of the apps on the device, you need to enable the device\nreports for a device. Until the policy is updated on the device, any keyed app\nstates are ignored and lost forever. Enable device reports **before**\ncompleting device enrollment, as early as possible in the enrollment\nprocess. This ensures that you receive app feedback generated during device\nenrollment and that no keyed app states are lost.\n\n- Call [`devices.update()`](/android/work/play/emm-api/v1/devices/update), setting `policy.deviceReportPolicy` to `\"deviceReportEnabled\"`.\n\nRetrieve device reports\n-----------------------\n\nThere are several ways to retrieve a device report:\n\n- To retrieve device reports along with other notifications, call [`enterprises.pullNotificationSet()`](/android/work/play/emm-api/v1/enterprises/pullNotificationSet). In the response, each `deviceReportUpdateEvent` denotes a device report.\n- To retrieve a device report updated with the latest keyed app states for a specified device, call [`devices.get()`](/android/work/play/emm-api/v1/devices/get).\n- To force a device to upload the latest app states, call [`devices.forceReportUpload()`](/android/work/play/emm-api/v1/devices/forceReportUpload). This method uploads a report containing any changes in app states on the device since the last report was generated.\n\n| **Note:** You can call [`devices.forceReportUpload()`](/android/work/play/emm-api/v1/devices/forceReportUpload) up to three times every 24 hours for a given device. Typically, the device uploads app feedback at least once per day. Calling `devices.forceReportUpload()` triggers the device to upload app feedback as soon as possible. The device requires connectivity to ensure timely app feedback delivery. Keep in mind that method uses time, data, and battery on the device. Therefore, limit your usage of this method to infrequent actions that require timely delivery of app feedback.\n\nView keyed app states\n---------------------\n\nDevice reports are a part of device resources. Reports include an `appState`\nobject for each app (package) installed on the device or in its work profile.\nKeyed app states (`keyedAppState`) for a given package are listed in\n`appState` object, like in the example below: \n\n {\n \"result\":{\n \"kind\":\"androidenterprise#device\",\n \"report\":{\n \"appState\":[\n {\n \"keyedAppState\":[\n {\n \"severity\":\"severityError\",\n \"data\":\"user\",\n \"message\":\"Username or password are incorrect\",\n \"key\":\"account\",\n \"stateTimestampMillis\":\"1556206406926\"\n }\n ],\n \"packageName\":\"com.google.android.feedbacktestapp\"\n }\n ],\n \"lastUpdatedTimestampMillis\":\"1556206407685\"\n },\n \"androidId\":\"32714368a0ad8ad5\",\n \"managementType\":\"managedProfile\",\n \"policy\":{\n \"deviceReportPolicy\":\"deviceReportEnabled\"\n }\n }\n }\n\nEach keyed app states contains the following:\n\n| Field | Description |\n|------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `key` | The unique key identifying the state. |\n| `severity` | The severity of the state: `INFO` indicates an informative message. For example if a managed configuration is set successfully. `ERROR` indicates the enterprise needs to take action to correct a problem. For example, if a managed configuration failed to set. |\n| `message` | An optional string providing details about the app state. App developers are advised to treat this field as a user-facing message. |\n| `data` | An optional string providing computer-readable details to EMMs about the app state. For example, a value that an IT admin could query against in your console, such as \"notify me if the battery_warning data \\\u003c 10\". |\n| `stateTimestampMillis` | The timestamp (in milliseconds) indicating when the app state was last updated on the device. |\n| `lastUpdatedTimestampMillis` | The timestamp (in milliseconds) indicating when the device last uploaded keyed app states. |\n\nDisplay app feedback to enterprises\n-----------------------------------\n\nApps can send feedback for a variety of reasons. However, the most common use\ncase for sending keyed app states is to provide feedback about managed\nconfigurations. For example:\n\n1. An IT admin uses your EMM console to [set managed configurations](/android/work/play/emm-api/managed-configurations#specify_managed_configurations) for an app.\n2. In the backend, you [send the configurations to the app](/android/work/play/emm-api/managed-configurations#apply_managed_configurations).\n3. The app attempts to apply the configurations. For each configuration, the app sends a keyed app state indicating its status (for example, a confirmation message or error notification).\n4. To view these keyed app states, you [retrieve a device report](#retrieve_device_reports).\n5. Using information from the keyed app states, your EMM console displays the status of the managed configurations in a user-friendly way.\n\n### Alert IT admins to errors\n\nA keyed app state with severity `ERROR` indicates the organization needs to take\naction in order to correct a problem. EMMs should **always** alert organizations\nto errors, either through their EMM console or other means. For example, your\nEMM console could display an error dashboard that links to the feedback for a\ngiven device with errors.\n\nIf an error state is corrected, the app send a follow-up state with the same key\nas the original error state and an updated severity of `INFO`. EMMs should\n**always** inform organizations as soon as an error is corrected. For example,\nremove the error from your console's error dashboard or mark it as resolved.\n| **Tip:** Add support for IT admins to mute a specific error in case an app fails to correctly update an error state after the error is resolved."]]