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。(根據 logs/wireless/android/android_checkin.proto 中的欄位命名為「device」)
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 時,系統一律會優先採用 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 次。
get
擷取裝置的詳細資料。
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 中的帳戶」一文。