Devices

如需本資源的方法清單,請見本頁結尾。

資源表示法

「裝置」資源代表由 EMM 管理且屬於特定企業使用者的行動裝置。

{
  "kind": "androidenterprise#device",
  "androidId": string,
  "managementType": string,
  "policy": {
    "autoUpdatePolicy": string,
    "productAvailabilityPolicy": string,
    "productPolicy": [
      {
        "productId": string,
        "tracks": [
          string
        ],
        "trackIds": [
          string
        ],
        "managedConfiguration": {
          "kind": string,
          "productId": string,
          "managedProperty": [
            {
              "key": string,
              "valueBool": boolean,
              "valueInteger": integer,
              "valueString": string,
              "valueStringArray": [
                string
              ],
              "valueBundle": {
                "managedProperty": [
                  (ManagedProperty)
                ]
              },
              "valueBundleArray": [
                {
                  "managedProperty": [
                    (ManagedProperty)
                  ]
                }
              ]
            }
          ],
          "configurationVariables": {
            "kind": "androidenterprise#configurationVariables",
            "mcmId": string,
            "variableSet": [
              {
                "kind": "androidenterprise#variableSet",
                "placeholder": string,
                "userValue": string
              }
            ]
          }
        },
        "autoInstallPolicy": {
          "autoInstallMode": string,
          "autoInstallPriority": integer,
          "autoInstallConstraint": [
            {
              "networkTypeConstraint": string,
              "chargingStateConstraint": string,
              "deviceIdleStateConstraint": string
            }
          ],
          "minimumVersionCode": integer
        },
        "autoUpdateMode": string,
        "enterpriseAuthenticationAppLinkConfigs": [
          {
            "uri": string
          }
        ]
      }
    ],
    "maintenanceWindow": {
      "startTimeAfterMidnightMs": long,
      "durationMs": long
    },
    "deviceReportPolicy": string,
    "policyId": string
  },
  "report": {
    "lastUpdatedTimestampMillis": long,
    "appState": [
      {
        "packageName": string,
        "keyedAppState": [
          {
            "key": string,
            "stateTimestampMillis": long,
            "severity": string,
            "message": string,
            "data": string
          }
        ]
      }
    ]
  },
  "latestBuildFingerprint": string,
  "sdkVersion": integer,
  "maker": string,
  "model": string,
  "device": string,
  "product": string,
  "retailBrand": string
}
屬性名稱 說明 附註
androidId string 裝置的 Google Play 服務 Android ID,以小寫的 16 進制字串編碼。例如 "123456789abcdef0"
device string 裝置的內部硬體代號。這項資訊來自 android.os.Build.DEVICE。(名稱為「device」的欄位,每份記錄/wireless/android/android_checkin.proto)
kind string
latestBuildFingerprint string 裝置的版本指紋 (如果知道)。
maker string 裝置製造商。這項資訊來自 android.os.Build.MANUFACTURER
managementType string 在各種部署設定中,識別裝置受到 Google Play 管理版 EMM 控制的程度。

可能的值包括:
  • managedDevice」:裝置擁有者為 EMM 裝置政策控制器 (DPC)。
  • managedProfile」:裝置擁有由 DPC 管理的設定檔 (DPC 是設定檔擁有者),以及 DPC 無法使用的個別個人設定檔。
  • containerApp」已遭淘汰,不再使用。
  • unmanagedProfile」:已獲許使用受管理的 Google Play 服務 (由網域管理員透過管理控制台啟用權限) 的裝置,但設定檔本身並非由 DPC 擁有。


可接受的值如下:
  • containerApp
  • managedDevice
  • managedProfile
  • unmanagedProfile
model string 裝置的型號名稱。這項資訊來自android.os.Build.MODEL
policy nested object 在裝置上強制執行的政策。
policy.autoUpdatePolicy string 控管裝置可自動套用應用程式更新的時機。

建議的替代方案:autoUpdateMode 為個別應用程式設定,可讓您更靈活地調整更新頻率。

如果 autoUpdateMode 設為 AUTO_UPDATE_POSTPONEDAUTO_UPDATE_HIGH_PRIORITYautoUpdatePolicy 就不會生效。
  • choiceToTheUser 可讓裝置使用者設定應用程式更新政策。
  • always 會啟用自動更新功能。
  • never 會停用自動更新功能。
  • wifiOnly 只會在裝置連上 Wi-Fi 時啟用自動更新功能。


可接受的值如下:
  • always
  • choiceToTheUser
  • never
  • wifiOnly
policy.deviceReportPolicy string 裝置是否向 EMM 回報應用程式狀態。預設值為「deviceReportDisabled」。

可接受的值如下:
  • deviceReportDisabled
  • deviceReportEnabled
policy.maintenanceWindow nested object 維護期間:定義應更新在前景執行的應用程式。
policy.maintenanceWindow.durationMs long 維護期間的時間長度 (以毫秒為單位)。時長必須介於 30 分鐘至 24 小時之間 (含首尾)。
policy.maintenanceWindow.startTimeAfterMidnightMs long 維護期間的開始時間,以裝置午夜過後的毫秒為單位。時段可跨午夜。
policy.policyId string 這項政策的 ID,會連同從 Play 商店傳送的應用程式安裝意見回饋一併傳遞。
policy.productAvailabilityPolicy string 授予裝置的供應情形。「all」會讓裝置存取所有產品,不論核准狀態為何。「all」不會自動顯示「alpha」或「beta」測試群組。「白名單」會授予裝置存取權,以便存取 productPolicy[] 中指定的產品。只有企業核准的產品或先前核准的產品 (已撤銷核准的產品) 才能加入白名單。如未提供值,系統會預設套用使用者層級的顯示/隱藏設定。

可接受的值如下:
  • all
  • whitelist
policy.productPolicy[] list 產品政策清單。productAvailabilityPolicy 必須設為 WHITELISTALL,才能套用產品政策。
policy.productPolicy[].autoInstallPolicy nested object 產品的自動安裝政策。
policy.productPolicy[].autoInstallPolicy.autoInstallConstraint[] list 自動安裝應用程式的限制。您最多可以指定一項限制。

policy.productPolicy[].autoInstallPolicy.autoInstallConstraint[].chargingStateConstraint string 充電狀態限制。

可接受的值如下:
  • chargingNotRequired
  • chargingRequired
policy.productPolicy[].autoInstallPolicy.autoInstallConstraint[].deviceIdleStateConstraint string 裝置閒置狀態限制。

可接受的值如下:
  • deviceIdleNotRequired
  • deviceIdleRequired
policy.productPolicy[].autoInstallPolicy.autoInstallConstraint[].networkTypeConstraint string 網路類型限制。

可接受的值如下:
  • anyNetwork
  • unmeteredNetwork
policy.productPolicy[].autoInstallPolicy.autoInstallMode string 自動安裝模式。如果未設定,則預設為「doNotAutoInstall」。無論是否設定維護期間,系統都會自動安裝應用程式。

可接受的值為:
  • autoInstallOnce
  • doNotAutoInstall
  • forceAutoInstall
policy.productPolicy[].autoInstallPolicy.autoInstallPriority integer 安裝作業的優先順序,以無正負號整數表示。數字越小,優先順序越高。
policy.productPolicy[].autoInstallPolicy.minimumVersionCode integer 應用程式的最低版本。如果安裝的應用程式版本較低,系統會根據自動安裝限制自動更新應用程式,而不會等待定期自動更新。每部裝置最多可設定 20 個應用程式的版本代碼。
policy.productPolicy[].autoUpdateMode string 產品的自動更新模式。使用 autoUpdateMode 時,優先順序一律高於使用者選擇的設定。因此,當使用者手動變更裝置設定時,系統會忽略這些變更。

可接受的值為:
  • autoUpdateDefault
  • autoUpdateHighPriority
  • autoUpdatePostponed
policy.productPolicy[].enterpriseAuthenticationAppLinkConfigs[] list 識別資訊提供者的驗證器應用程式驗證網址設定。這樣當使用 Android WebView 進行私人應用程式時,系統就能啟動識別資訊提供者的驗證器應用程式。驗證器應用程式應已成為裝置上驗證網址的 預設處理常式
policy.productPolicy[].enterpriseAuthenticationAppLinkConfigs[].uri string 驗證網址。
policy.productPolicy[].managedConfiguration nested object 產品的受管理設定。
policy.productPolicy[].managedConfiguration.configurationVariables nested object 包含受管理設定檔的 ID,以及為使用者定義的設定變數組合 (如有)。
policy.productPolicy[].managedConfiguration.configurationVariables.kind string
policy.productPolicy[].managedConfiguration.configurationVariables.mcmId string 受管理設定的 ID。
policy.productPolicy[].managedConfiguration.configurationVariables.variableSet[] list 歸因於使用者的變數集。
policy.productPolicy[].managedConfiguration.configurationVariables.variableSet[].kind string
policy.productPolicy[].managedConfiguration.configurationVariables.variableSet[].placeholder string 預留位置字串,由 EMM 定義。
policy.productPolicy[].managedConfiguration.configurationVariables.variableSet[].userValue string 使用者專屬的預留位置值。
policy.productPolicy[].managedConfiguration.kind string 已淘汰。

policy.productPolicy[].managedConfiguration.managedProperty[] list 此設定的受管理屬性集合。
policy.productPolicy[].managedConfiguration.managedProperty[].key string 用於識別資源的專屬鍵。
policy.productPolicy[].managedConfiguration.managedProperty[].valueBool boolean 布林值 - 只有在屬性類型為布林值時才會顯示。
policy.productPolicy[].managedConfiguration.managedProperty[].valueBundle nested object 受管理的資源組合 - 只有在房源類型是套裝組合時才會顯示。
policy.productPolicy[].managedConfiguration.managedProperty[].valueBundle.managedProperty[] list 受管理屬性的清單。
policy.productPolicy[].managedConfiguration.managedProperty[].valueBundleArray[] list 屬性套件的清單 - 只有在屬性類型為 bundle_array 時才會出現。
policy.productPolicy[].managedConfiguration.managedProperty[].valueBundleArray[].managedProperty[] list 受管理屬性的清單。
policy.productPolicy[].managedConfiguration.managedProperty[].valueInteger integer 整數值:只有在屬性類型為整數時才會出現。
policy.productPolicy[].managedConfiguration.managedProperty[].valueString string 字串值:只有在屬性類型為字串、選擇或隱藏時,才會顯示這個值。
policy.productPolicy[].managedConfiguration.managedProperty[].valueStringArray[] list 字串值清單 - 只有在資源類型為多重選取時才會出現。
policy.productPolicy[].managedConfiguration.productId string 受管理設定的產品 ID,例如「app:com.google.android.gm」。
policy.productPolicy[].productId string 產品 ID。例如 "app:com.google.android.gm"
policy.productPolicy[].trackIds[] list 將裝置的曝光率授予 trackIds 指定的產品發布版本。您可以呼叫 Products.Get,取得產品的發布追蹤清單。
policy.productPolicy[].tracks[] list 已淘汰,請改用 trackIds
product string 裝置的產品名稱。這項資訊來自android.os.Build.PRODUCT
report nested object 裝置報告已更新為最新的應用程式狀態。
report.appState[] list 裝置上受管理的應用程式設定的應用程式狀態清單。應用程式狀態是由應用程式開發人員定義。這個欄位一律會顯示。
report.appState[].keyedAppState[] list 已加密應用程式狀態的清單。這個欄位一律會顯示。
report.appState[].keyedAppState[].data string 用於機器可讀資料的額外欄位。例如數字或 JSON 物件。為了避免 XSS,建議您先從資料中移除所有 HTML 再顯示。
report.appState[].keyedAppState[].key string 用來表示應用程式提供狀態的鍵。鍵的內容是由應用程式開發人員設定。為避免 XSS,建議您在顯示鍵值之前,先移除其中的任何 HTML。這個欄位一律會顯示。
report.appState[].keyedAppState[].message string 任意形式的使用者可讀訊息,用於說明應用程式狀態。例如錯誤訊息。為了防止 XSS,建議您先移除訊息中的任何 HTML 後,再顯示該訊息。
report.appState[].keyedAppState[].severity string 應用程式狀態的嚴重性。這個欄位一律會顯示。

可接受的值如下:
  • severityError
  • severityInfo
report.appState[].keyedAppState[].stateTimestampMillis long 應用程式設定狀態的時間戳記,以 Epoch 紀元時間起算的毫秒數為單位。這個欄位一律會顯示。
report.appState[].packageName string 應用程式的套件名稱。此欄位一律會出現。
report.lastUpdatedTimestampMillis long 上次報告更新的時間戳記,以 Epoch 紀元時間起算,以毫秒為單位。這個欄位一律會顯示。
retailBrand string 裝置的零售品牌 (如有設定)。查看 android.os.Build.BRAND
sdkVersion integer API 相容性版本。

方法

forceReportUpload
上傳報表,其中包含自上次產生報表後,裝置上應用程式狀態的任何變更。您最多可針對特定裝置每 24 小時呼叫此方法 3 次。
取得
擷取裝置的詳細資料。
getState
擷取裝置的 Google 服務存取權是否已啟用或已停用。只有在 Google 管理控制台中啟用在 Android 裝置上強制執行 EMM 政策的情況下,裝置狀態才會生效。否則,系統會忽略裝置狀態,並允許所有裝置存取 Google 服務。這項功能僅適用於 Google 管理的使用者。
list
擷取使用者所有裝置的 ID。
setState
設定裝置是否已啟用 Google 服務存取權。只有在 Google 管理控制台啟用對 Android 裝置強制執行 EMM 政策的情況下,裝置狀態才會生效。否則,系統會忽略裝置狀態,並允許所有裝置存取 Google 服務。這項功能僅適用於 Google 管理的使用者。
update
更新裝置政策。

為確保系統能正確強制執行政策,您需要在 Google Play 套件的受管理設定中設定 allowed_accounts,防止非受管帳戶存取 Google Play。請參閱「在 Google Play 中限制帳戶」。