MCP Tools Reference: Android Device Management MCP Server

工具:get_policy

取得指定企業和政策 ID 的政策。資源名稱的格式必須為:enterprises/{enterpriseId}/policies/{policyId}。

以下範例示範如何使用 curl 叫用 get_policy MCP 工具。

Curl 要求
                  
curl --location 'https://androidmanagement.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "get_policy",
    "arguments": {
      // provide these details according to the tool's MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

輸入內容的結構定義

要求取得政策。

GetPolicyRequest

JSON 表示法
{
  "name": string
}
欄位
name

string

政策名稱,格式為 enterprises/{enterpriseId}/policies/{policyId}

輸出內容的結構定義

政策資源代表一組設定,可控管受管理裝置的行為,以及裝置上安裝的應用程式。

政策

JSON 表示法
{
  "name": string,
  "version": string,
  "applications": [
    {
      object (ApplicationPolicy)
    }
  ],
  "maximumTimeToLock": string,
  "screenCaptureDisabled": boolean,
  "cameraDisabled": boolean,
  "keyguardDisabledFeatures": [
    enum (KeyguardDisabledFeature)
  ],
  "defaultPermissionPolicy": enum (PermissionPolicy),
  "persistentPreferredActivities": [
    {
      object (PersistentPreferredActivity)
    }
  ],
  "openNetworkConfiguration": {
    object
  },
  "systemUpdate": {
    object (SystemUpdate)
  },
  "accountTypesWithManagementDisabled": [
    string
  ],
  "addUserDisabled": boolean,
  "adjustVolumeDisabled": boolean,
  "factoryResetDisabled": boolean,
  "installAppsDisabled": boolean,
  "mountPhysicalMediaDisabled": boolean,
  "modifyAccountsDisabled": boolean,
  "safeBootDisabled": boolean,
  "uninstallAppsDisabled": boolean,
  "statusBarDisabled": boolean,
  "keyguardDisabled": boolean,
  "minimumApiLevel": integer,
  "statusReportingSettings": {
    object (StatusReportingSettings)
  },
  "bluetoothContactSharingDisabled": boolean,
  "shortSupportMessage": {
    object (UserFacingMessage)
  },
  "longSupportMessage": {
    object (UserFacingMessage)
  },
  "passwordRequirements": {
    object (PasswordRequirements)
  },
  "wifiConfigsLockdownEnabled": boolean,
  "bluetoothConfigDisabled": boolean,
  "cellBroadcastsConfigDisabled": boolean,
  "credentialsConfigDisabled": boolean,
  "mobileNetworksConfigDisabled": boolean,
  "tetheringConfigDisabled": boolean,
  "vpnConfigDisabled": boolean,
  "wifiConfigDisabled": boolean,
  "createWindowsDisabled": boolean,
  "networkResetDisabled": boolean,
  "outgoingBeamDisabled": boolean,
  "outgoingCallsDisabled": boolean,
  "removeUserDisabled": boolean,
  "shareLocationDisabled": boolean,
  "smsDisabled": boolean,
  "unmuteMicrophoneDisabled": boolean,
  "usbFileTransferDisabled": boolean,
  "ensureVerifyAppsEnabled": boolean,
  "permittedInputMethods": {
    object (PackageNameList)
  },
  "stayOnPluggedModes": [
    enum (BatteryPluggedMode)
  ],
  "recommendedGlobalProxy": {
    object (ProxyInfo)
  },
  "setUserIconDisabled": boolean,
  "setWallpaperDisabled": boolean,
  "choosePrivateKeyRules": [
    {
      object (ChoosePrivateKeyRule)
    }
  ],
  "alwaysOnVpnPackage": {
    object (AlwaysOnVpnPackage)
  },
  "frpAdminEmails": [
    string
  ],
  "deviceOwnerLockScreenInfo": {
    object (UserFacingMessage)
  },
  "dataRoamingDisabled": boolean,
  "locationMode": enum (LocationMode),
  "networkEscapeHatchEnabled": boolean,
  "bluetoothDisabled": boolean,
  "complianceRules": [
    {
      object (ComplianceRule)
    }
  ],
  "blockApplicationsEnabled": boolean,
  "installUnknownSourcesAllowed": boolean,
  "debuggingFeaturesAllowed": boolean,
  "funDisabled": boolean,
  "autoTimeRequired": boolean,
  "permittedAccessibilityServices": {
    object (PackageNameList)
  },
  "appAutoUpdatePolicy": enum (AppAutoUpdatePolicy),
  "kioskCustomLauncherEnabled": boolean,
  "androidDevicePolicyTracks": [
    enum (AppTrack)
  ],
  "skipFirstUseHintsEnabled": boolean,
  "privateKeySelectionEnabled": boolean,
  "encryptionPolicy": enum (EncryptionPolicy),
  "usbMassStorageEnabled": boolean,
  "permissionGrants": [
    {
      object (PermissionGrant)
    }
  ],
  "playStoreMode": enum (PlayStoreMode),
  "setupActions": [
    {
      object (SetupAction)
    }
  ],
  "passwordPolicies": [
    {
      object (PasswordRequirements)
    }
  ],
  "policyEnforcementRules": [
    {
      object (PolicyEnforcementRule)
    }
  ],
  "kioskCustomization": {
    object (KioskCustomization)
  },
  "advancedSecurityOverrides": {
    object (AdvancedSecurityOverrides)
  },
  "personalUsagePolicies": {
    object (PersonalUsagePolicies)
  },
  "autoDateAndTimeZone": enum (AutoDateAndTimeZone),
  "oncCertificateProviders": [
    {
      object (OncCertificateProvider)
    }
  ],
  "crossProfilePolicies": {
    object (CrossProfilePolicies)
  },
  "preferentialNetworkService": enum (PreferentialNetworkService),
  "usageLog": {
    object (UsageLog)
  },
  "cameraAccess": enum (CameraAccess),
  "microphoneAccess": enum (MicrophoneAccess),
  "deviceConnectivityManagement": {
    object (DeviceConnectivityManagement)
  },
  "deviceRadioState": {
    object (DeviceRadioState)
  },
  "credentialProviderPolicyDefault": enum (CredentialProviderPolicyDefault),
  "printingPolicy": enum (PrintingPolicy),
  "displaySettings": {
    object (DisplaySettings)
  },
  "assistContentPolicy": enum (AssistContentPolicy),
  "workAccountSetupConfig": {
    object (WorkAccountSetupConfig)
  },
  "wipeDataFlags": [
    enum (WipeDataFlag)
  ],
  "enterpriseDisplayNameVisibility": enum (EnterpriseDisplayNameVisibility),
  "appFunctions": enum (AppFunctions),
  "defaultApplicationSettings": [
    {
      object (DefaultApplicationSetting)
    }
  ]
}
欄位
name

string

政策名稱,格式為 enterprises/{enterpriseId}/policies/{policyId}

version

string (int64 format)

政策版本。這是唯讀欄位。每次更新政策時,版本都會遞增。

applications[]

object (ApplicationPolicy)

套用至應用程式的政策。最多可有 3,000 個元素。

maximumTimeToLock

string (int64 format)

裝置鎖定前使用者活動的最長時間 (以毫秒為單位)。如果值為 0,表示沒有限制。

screenCaptureDisabled

boolean

是否已停用擷取螢幕畫面的功能。

cameraDisabled
(deprecated)

boolean

如果 camera_access 設為 CAMERA_ACCESS_UNSPECIFIED 以外的值,則不會有任何效果。否則這個欄位會控管攝影機是否停用:如果為 true,所有攝影機都會停用,否則攝影機可正常使用。如果是全代管裝置,這個欄位會套用至裝置上的所有應用程式。如果是工作資料夾,這個欄位只會套用至工作資料夾中的應用程式,工作資料夾外的應用程式相機存取權不會受到影響。

keyguardDisabledFeatures[]

enum (KeyguardDisabledFeature)

停用螢幕鎖定自訂功能,例如小工具。

defaultPermissionPolicy

enum (PermissionPolicy)

執行階段權限要求的預設權限政策。

persistentPreferredActivities[]

object (PersistentPreferredActivity)

預設意圖處理常式活動。

openNetworkConfiguration

object (Struct format)

裝置的網路設定。詳情請參閱「設定網路」。

systemUpdate

object (SystemUpdate)

系統更新政策,可控管作業系統更新的套用方式。如果更新類型為 WINDOWED,更新時段也會自動套用至 Play 應用程式更新。

注意: Google Play 系統更新 (也稱為 Mainline 更新) 會自動下載,但需要重新啟動裝置才能安裝。詳情請參閱「管理系統更新」一文中的「主線」一節。

accountTypesWithManagementDisabled[]

string

使用者無法管理的帳戶類型。

addUserDisabled

boolean

是否停用新增使用者和設定檔的功能。如果裝置的 managementModeDEVICE_OWNER,系統會忽略這個欄位,且使用者一律無法新增或移除使用者。

adjustVolumeDisabled

boolean

是否停用調整主音量功能。也會將裝置設為靜音。這項設定只會影響全代管裝置。

factoryResetDisabled

boolean

是否停用從設定恢復原廠設定。

installAppsDisabled

boolean

是否停用使用者安裝應用程式的功能。

mountPhysicalMediaDisabled

boolean

是否停用使用者掛載實體外部媒體的功能。

modifyAccountsDisabled

boolean

是否停用新增或移除帳戶的功能。

safeBootDisabled
(deprecated)

boolean

是否停用將裝置重新啟動為安全模式。

uninstallAppsDisabled

boolean

是否停用使用者解除安裝應用程式的功能。這樣一來,即使使用 applications 移除應用程式,使用者也無法解除安裝

statusBarDisabled
(deprecated)

boolean

狀態列是否已停用。這會停用通知、快速設定和其他可退出全螢幕模式的螢幕重疊功能。已淘汰。如要在 Kiosk 裝置上停用狀態列,請使用 InstallType KIOSKkioskCustomLauncherEnabled

keyguardDisabled

boolean

如果設為 true,系統會停用主要和/或次要螢幕的鎖定畫面。這項政策僅適用於專用裝置管理模式。

minimumApiLevel

integer

允許的最低 Android API 級別。

statusReportingSettings

object (StatusReportingSettings)

狀態報告設定

bluetoothContactSharingDisabled

boolean

藍牙聯絡人共用功能是否已停用。

shortSupportMessage

object (UserFacingMessage)

在管理員停用功能的設定畫面中向使用者顯示訊息。如果訊息長度超過 200 個半形字元,系統可能會截斷訊息。

longSupportMessage

object (UserFacingMessage)

使用者會在裝置管理員設定畫面看到這則訊息。

passwordRequirements
(deprecated)

object (PasswordRequirements)

密碼規定。不得設定 password_requirements.require_password_unlock 欄位。已淘汰 - 請改用 passwordPolicies

注意:

這裡無法使用以複雜度為準的 PasswordQuality 值,也就是 COMPLEXITY_LOWCOMPLEXITY_MEDIUMCOMPLEXITY_HIGHunified_lock_settings無法在此使用。

wifiConfigsLockdownEnabled
(deprecated)

boolean

這項功能已淘汰。

bluetoothConfigDisabled

boolean

是否停用藍牙設定。

cellBroadcastsConfigDisabled

boolean

是否停用設定區域廣播功能。

credentialsConfigDisabled

boolean

是否停用設定使用者憑證。

mobileNetworksConfigDisabled

boolean

是否停用設定行動網路。

tetheringConfigDisabled
(deprecated)

boolean

是否停用網路共用和可攜式無線基地台設定。如果 tetheringSettings 設為 TETHERING_SETTINGS_UNSPECIFIED 以外的值,系統會忽略這項設定。

vpnConfigDisabled

boolean

是否停用 VPN 設定。

wifiConfigDisabled
(deprecated)

boolean

是否停用設定 Wi-Fi 網路。支援全代管裝置,以及公司裝置上的工作資料夾。如果是全代管裝置,將這項政策設為 true 會移除所有已設定的網路,只保留使用 openNetworkConfiguration 設定的網路。如果是公司擁有的裝置,工作資料夾不會受到影響,使用者也無法新增、移除或修改 Wi-Fi 網路。如果 configureWifi 設為 CONFIGURE_WIFI_UNSPECIFIED 以外的值,系統會忽略這項設定。注意:如果開機時無法建立網路連線,且 Wi-Fi 設定已停用,系統會顯示網路緊急出口,以便重新整理裝置政策 (請參閱 networkEscapeHatchEnabled)。

createWindowsDisabled

boolean

是否停用建立應用程式視窗以外的視窗。

networkResetDisabled

boolean

是否停用重設網路設定。

outgoingBeamDisabled

boolean

是否停用使用 NFC 從應用程式傳輸資料。

outgoingCallsDisabled

boolean

是否停用撥出電話。

removeUserDisabled

boolean

是否停用移除其他使用者的功能。

shareLocationDisabled

boolean

位置資訊分享功能是否已停用。

smsDisabled

boolean

是否停用收發簡訊功能。

unmuteMicrophoneDisabled
(deprecated)

boolean

如果 microphone_access 設為 MICROPHONE_ACCESS_UNSPECIFIED 以外的值,則不會有任何效果。否則,這個欄位會控管麥克風是否停用:如果為 true,所有麥克風都會停用;如果為 false,麥克風則可使用。這項功能僅適用於全代管裝置。

usbFileTransferDisabled
(deprecated)

boolean

是否已停用透過 USB 傳輸檔案的功能。這項功能僅適用於公司擁有的裝置。

ensureVerifyAppsEnabled
(deprecated)

boolean

是否強制啟用應用程式驗證功能。

permittedInputMethods

object (PackageNameList)

如果存在,則只允許使用此清單中套件提供的輸入法。如果這個欄位存在,但清單為空白,則只允許使用系統輸入法。

stayOnPluggedModes[]

enum (BatteryPluggedMode)

裝置接上電源時會保持開啟的模式。使用這項設定時,建議清除 maximum_time_to_lock,以免裝置在開啟電源時自行鎖定。

recommendedGlobalProxy

object (ProxyInfo)

與網路無關的全域 HTTP Proxy。通常應在 open_network_configuration 中為每個網路設定 Proxy。不過,對於一般內部篩選等異常設定,全域 HTTP Proxy 可能很有用。如果無法存取 Proxy,網路存取權可能會中斷。全域 Proxy 只是建議,部分應用程式可能會忽略這項設定。

setUserIconDisabled

boolean

是否停用變更使用者圖示的功能。這項功能僅適用於搭載 Android 7 以上版本的裝置。

setWallpaperDisabled

boolean

是否停用變更桌布的功能。

choosePrivateKeyRules[]

object (ChoosePrivateKeyRule)

判斷應用程式私密金鑰存取權的規則。詳情請參閱 ChoosePrivateKeyRule。如果任何應用程式具有 CERT_SELECTION 委派範圍,這個欄位就必須留空。

alwaysOnVpnPackage

object (AlwaysOnVpnPackage)

永久連線 VPN 連線的設定。與 vpn_config_disabled 搭配使用,可防止修改這項設定。

frpAdminEmails[]

string

恢復原廠設定保護機制的裝置管理員電子郵件地址。裝置恢復原廠設定後,必須由其中一位管理員使用 Google 帳戶電子郵件地址和密碼登入,才能解鎖裝置。如果未指定任何管理員,裝置就不會提供恢復原廠設定保護機制。

deviceOwnerLockScreenInfo

object (UserFacingMessage)

要在螢幕鎖定畫面上顯示的裝置擁有者資訊。

dataRoamingDisabled

boolean

是否停用漫遊數據傳輸服務。

locationMode

enum (LocationMode)

已啟用位置偵測的程度。

networkEscapeHatchEnabled

boolean

網路逃生艙是否已啟用。如果開機時無法建立網路連線,緊急出口會提示使用者暫時連線至網路,以便重新整理裝置政策。套用政策後,系統會清除臨時網路,裝置會繼續啟動。如果裝置在上次政策中沒有合適的網路,且啟動時進入鎖定工作模式的應用程式,或使用者無法存取裝置設定,這項設定可避免裝置無法連上網路。

注意:在特定情況下,將 wifiConfigDisabled 設為 true 會覆寫這項設定。詳情請參閱 wifiConfigDisabled。在特定情況下,將 configureWifi 設為 DISALLOW_CONFIGURING_WIFI 會覆寫這項設定。詳情請參閱 DISALLOW_CONFIGURING_WIFI

bluetoothDisabled

boolean

藍牙是否已停用。建議您使用這項設定,而非 bluetooth_config_disabled,因為使用者可以略過 bluetooth_config_disabled

complianceRules[]
(deprecated)

object (ComplianceRule)

規則:聲明裝置不符合政策時應採取的補救措施。如果符合多項規則的條件,系統會採取所有規則的緩解措施。最多只能有 100 項規則。請改用政策強制執行規則。

blockApplicationsEnabled
(deprecated)

boolean

是否禁止安裝「applications」中設定的應用程式以外的應用程式。如果設定這項政策,系統會自動解除安裝依據先前政策安裝的應用程式,但這些應用程式不會再顯示在政策中。

installUnknownSourcesAllowed
(deprecated)

boolean

此欄位無效。

debuggingFeaturesAllowed
(deprecated)

boolean

使用者是否可以啟用偵錯功能。

funDisabled

boolean

使用者是否可以享受樂趣。控管是否要停用「設定」中的彩蛋遊戲。

autoTimeRequired
(deprecated)

boolean

是否必須自動設定時間,禁止使用者手動設定日期和時間。如果已設定 autoDateAndTimeZone,系統會忽略這個欄位。

permittedAccessibilityServices

object (PackageNameList)

指定允許的無障礙服務。如未設定這個欄位,則可使用任何無障礙服務。如果設定這個欄位,就只能使用這份清單中的無障礙服務和系統內建的無障礙服務。具體來說,如果將這個欄位設為空白,就只能使用系統內建的無障礙服務。這項設定適用於全代管裝置和工作資料夾。如果套用至工作資料夾,這項設定會同時影響個人資料夾和工作資料夾。

appAutoUpdatePolicy

enum (AppAutoUpdatePolicy)

建議改用:autoUpdateMode,這項設定是針對每個應用程式設定,可更靈活地調整更新頻率。

如果將 autoUpdateMode 設為 AUTO_UPDATE_POSTPONEDAUTO_UPDATE_HIGH_PRIORITY,這個欄位就不會生效。

應用程式自動更新政策,可控管自動更新應用程式的時間。

kioskCustomLauncherEnabled

boolean

是否啟用資訊站自訂啟動器。這會取代主畫面,並將裝置鎖定為透過 applications 設定安裝的應用程式。應用程式會依字母順序顯示在單一頁面上。使用 kioskCustomization 進一步設定資訊站裝置行為。

androidDevicePolicyTracks[]
(deprecated)

enum (AppTrack)

系統不支援這項設定。系統會忽略任何值。

skipFirstUseHintsEnabled

boolean

首次使用時略過提示的旗標。企業管理員可以啟用系統建議,讓應用程式在首次啟動時略過使用者教學和其他入門提示。

privateKeySelectionEnabled

boolean

如果 ChoosePrivateKeyRules 中沒有相符的規則,允許在裝置上顯示 UI,供使用者選擇私密金鑰別名。如果裝置搭載 Android P 以下版本,設定這項旗標可能會導致企業金鑰遭到盜用。如果任何應用程式具有 CERT_SELECTION 委派範圍,這個值就不會生效。

encryptionPolicy

enum (EncryptionPolicy)

是否啟用加密功能

usbMassStorageEnabled
(deprecated)

boolean

是否已啟用 USB 儲存空間。已淘汰。

permissionGrants[]

object (PermissionGrant)

所有應用程式的明確權限或群組授予/拒絕。這些值會覆寫 default_permission_policy

playStoreMode

enum (PlayStoreMode)

這個模式可控管使用者在 Play 商店中可使用的應用程式,以及從政策中移除應用程式時裝置的行為。

setupActions[]

object (SetupAction)

在設定過程中應採取的行動。最多只能指定一個動作。

passwordPolicies[]

object (PasswordRequirements)

密碼規定政策。如要為工作資料夾或全代管裝置設定不同政策,請在政策中設定 password_scope 欄位。

policyEnforcementRules[]

object (PolicyEnforcementRule)

定義特定政策無法套用至裝置時的行為規則

kioskCustomization

object (KioskCustomization)

控制裝置在 Kiosk 模式下行為的設定。如要啟用資訊站模式,請將 kioskCustomLauncherEnabled 設為 true,或在政策中指定應用程式 (使用 installType KIOSK)。

advancedSecurityOverrides

object (AdvancedSecurityOverrides)

進階安全性設定。在大多數情況下,您不需要設定這些項目。

personalUsagePolicies

object (PersonalUsagePolicies)

管理公司裝置個人用途的政策。

autoDateAndTimeZone

enum (AutoDateAndTimeZone)

公司裝置是否已啟用自動判斷日期、時間和時區。如果設定這項屬性,系統會忽略 autoTimeRequired

oncCertificateProviders[]

object (OncCertificateProvider)

這項功能尚未全面開放使用。

crossProfilePolicies

object (CrossProfilePolicies)

裝置上套用的跨設定檔政策。

preferentialNetworkService

enum (PreferentialNetworkService)

控制是否要在工作資料夾或全代管裝置上啟用優先網路服務。舉例來說,機構可能與電信業者簽訂協議,規定員工裝置的所有工作資料都必須透過企業專用的網路服務傳送。支援的偏好網路服務範例包括 5G 網路上的企業切片。如果搭載 Android 13 以上版本的裝置已設定 preferentialNetworkServiceSettingsApplicationPolicy.preferentialNetworkId,這項政策就不會生效。

usageLog

object (UsageLog)

設定裝置活動記錄功能。

cameraAccess

enum (CameraAccess)

控管攝影機的使用情形,以及使用者是否可以存取攝影機存取權切換鈕。

microphoneAccess

enum (MicrophoneAccess)

控管麥克風的使用方式,以及使用者是否可以存取麥克風存取權切換鈕。這項設定僅適用於全代管裝置。

deviceConnectivityManagement

object (DeviceConnectivityManagement)

涵蓋裝置連線控制項,例如 Wi-Fi、USB 資料存取權、鍵盤/滑鼠連線等。

deviceRadioState

object (DeviceRadioState)

涵蓋無線電狀態的控制項,例如 Wi-Fi、藍牙等。

credentialProviderPolicyDefault

enum (CredentialProviderPolicyDefault)

控管哪些應用程式可在 Android 14 以上版本中做為憑證提供者。這些應用程式會儲存憑證,詳情請參閱這篇文章這篇文章。另請參閱 credentialProviderPolicy

printingPolicy

enum (PrintingPolicy)

(選用步驟) 控管是否允許列印。這項功能適用於搭載 Android 9 以上版本的裝置。。

displaySettings

object (DisplaySettings)

(選用步驟) 顯示設定的控制項。

assistContentPolicy

enum (AssistContentPolicy)

(選用步驟) 控管是否允許將 AssistContent 傳送至助理應用程式等具備特殊權限的應用程式。AssistContent 包含螢幕截圖和應用程式相關資訊,例如套件名稱。這項功能適用於搭載 Android 15 以上版本的裝置。

workAccountSetupConfig

object (WorkAccountSetupConfig)

(選用步驟) 控管工作帳戶設定,例如是否需要 Google 驗證帳戶。

wipeDataFlags[]

enum (WipeDataFlag)

(選用步驟) 清除標記,指出因任何原因 (例如不符規定) 觸發裝置或設定檔清除作業時,要清除哪些資料。這不適用於 enterprises.devices.delete 方法。。這份清單不得有重複項目。

enterpriseDisplayNameVisibility

enum (EnterpriseDisplayNameVisibility)

(選用步驟) 控制裝置上是否顯示 enterpriseDisplayName (例如公司擁有裝置的螢幕鎖定畫面訊息)。

appFunctions

enum (AppFunctions)

(選用步驟) 控制全代管裝置上的應用程式,或具有工作資料夾的裝置中工作資料夾內的應用程式,是否可公開應用程式功能。

defaultApplicationSettings[]

object (DefaultApplicationSetting)

(選用步驟) 支援類型的預設應用程式設定。如果設定檔中至少有一種應用程式類型已成功設定預設應用程式,使用者就無法變更該設定檔的任何預設應用程式。

每個 DefaultApplicationType 只能使用一個 DefaultApplicationSetting

詳情請參閱「預設應用程式設定」指南。

ApplicationPolicy

JSON 表示法
{
  "packageName": string,
  "installType": enum (InstallType),
  "lockTaskAllowed": boolean,
  "defaultPermissionPolicy": enum (PermissionPolicy),
  "permissionGrants": [
    {
      object (PermissionGrant)
    }
  ],
  "managedConfiguration": {
    object
  },
  "disabled": boolean,
  "minimumVersionCode": integer,
  "delegatedScopes": [
    enum (DelegatedScope)
  ],
  "managedConfigurationTemplate": {
    object (ManagedConfigurationTemplate)
  },
  "accessibleTrackIds": [
    string
  ],
  "connectedWorkAndPersonalApp": enum (ConnectedWorkAndPersonalApp),
  "autoUpdateMode": enum (AutoUpdateMode),
  "extensionConfig": {
    object (ExtensionConfig)
  },
  "alwaysOnVpnLockdownExemption": enum (AlwaysOnVpnLockdownExemption),
  "workProfileWidgets": enum (WorkProfileWidgets),
  "credentialProviderPolicy": enum (CredentialProviderPolicy),
  "customAppConfig": {
    object (CustomAppConfig)
  },
  "installConstraint": [
    {
      object (InstallConstraint)
    }
  ],
  "installPriority": integer,
  "userControlSettings": enum (UserControlSettings),
  "preferentialNetworkId": enum (PreferentialNetworkId),
  "signingKeyCerts": [
    {
      object (ApplicationSigningKeyCert)
    }
  ],
  "roles": [
    {
      object (Role)
    }
  ]
}
欄位
packageName

string

應用程式的套件名稱。例如,YouTube 應用程式的套件名稱為 com.google.android.youtube

installType

enum (InstallType)

要執行的安裝類型。

lockTaskAllowed
(deprecated)

boolean

應用程式是否可自行鎖定為全螢幕模式。已淘汰。使用 InstallType KIOSKkioskCustomLauncherEnabled 設定專用裝置。

defaultPermissionPolicy

enum (PermissionPolicy)

應用程式要求的所有權限的預設政策。如果指定這項政策,系統會覆寫套用至所有應用程式的政策層級 default_permission_policy。這不會覆寫適用於所有應用程式的 permission_grants

permissionGrants[]

object (PermissionGrant)

明確授予或拒絕應用程式的權限。這些值會覆寫套用至所有應用程式的 default_permission_policypermission_grants

managedConfiguration

object (Struct format)

套用至應用程式的受管理設定。設定的格式取決於應用程式支援的 ManagedProperty 值。受管理設定中的每個欄位名稱都必須與 ManagedPropertykey 欄位相符。欄位值必須與 ManagedPropertytype 相容:

typeJSON 值
BOOLtruefalse
STRING字串
INTEGER數字
CHOICE字串
MULTISELECT字串陣列
HIDDEN字串
BUNDLE_ARRAY物件陣列
注意:字串值長度不得超過 65535 個字元。

disabled

boolean

應用程式是否已停用。停用後,應用程式資料仍會保留。

minimumVersionCode

integer

裝置上執行的應用程式最低版本。如果設定了這項條件,裝置會嘗試將應用程式更新至至少這個版本代碼。如果應用程式不是最新版本,裝置會包含 NonComplianceDetail,且 non_compliance_reason 會設為 APP_NOT_UPDATED。應用程式必須已發布至 Google Play,且版本代碼大於或等於這個值。每項政策最多可為 20 個應用程式指定最低版本代碼。

delegatedScopes[]

enum (DelegatedScope)

從 Android Device Policy 委派給應用程式的範圍。這些權限可為套用的應用程式提供額外權限。

managedConfigurationTemplate

object (ManagedConfigurationTemplate)

應用程式的受管理設定範本,從受管理設定 iframe 儲存。如果已設定 managed_configuration,系統會忽略這個欄位。

accessibleTrackIds[]

string

企業裝置可存取的應用程式測試群組 ID 清單。如果清單包含多個曲目 ID,裝置會收到所有可存取曲目中的最新版本。如果清單中沒有任何測試群組 ID,裝置就只能存取應用程式的正式版測試群組。如要進一步瞭解每個軌道,請參閱 AppTrackInfo

connectedWorkAndPersonalApp

enum (ConnectedWorkAndPersonalApp)

控管應用程式是否可在裝置的工作和個人資料夾之間進行通訊,但須取得使用者同意。

autoUpdateMode

enum (AutoUpdateMode)

控制應用程式的自動更新模式。

extensionConfig
(deprecated)

object (ExtensionConfig)

設定啟用這個應用程式做為擴充功能應用程式,並具備離線與 Android Device Policy 互動的功能。

這個欄位最多只能為一個應用程式設定。如有任何應用程式具有 COMPANION_APP 角色,就無法設定這個欄位。

裝置上應用程式的簽署金鑰憑證指紋,必須與 ApplicationPolicy.signingKeyCertsExtensionConfig.signingKeyFingerprintsSha256 (已淘汰) 中的其中一個項目相符,或是與從 Play 商店取得的應用程式簽署金鑰憑證指紋相符,應用程式才能與 Android 裝置政策通訊。如果應用程式不在 Play 商店,且未設定 ApplicationPolicy.signingKeyCertsExtensionConfig.signingKeyFingerprintsSha256 (已淘汰),系統會回報含有 INVALID_VALUENonComplianceDetail

alwaysOnVpnLockdownExemption

enum (AlwaysOnVpnLockdownExemption)

指定在 VPN 未連線且 alwaysOnVpnPackage.lockdownEnabled 已啟用時,是否允許應用程式連線網路。如果設為 VPN_LOCKDOWN_ENFORCED,應用程式就無法連線;如果設為 VPN_LOCKDOWN_EXEMPTION,應用程式就能連線。僅支援搭載 Android 10 以上版本的裝置。如果裝置不支援這項功能,裝置會包含 NonComplianceDetail,且 non_compliance_reason 會設為 API_LEVEL 和 fieldPath。如果應用程式不適用,裝置會包含 NonComplianceDetail,其中 non_compliance_reason 設為 UNSUPPORTED 和 fieldPath。fieldPath 會設為 applications[i].alwaysOnVpnLockdownExemption,其中 iapplications 政策中套件的索引。

workProfileWidgets

enum (WorkProfileWidgets)

指定是否允許工作資料夾中安裝的應用程式將小工具新增至主畫面。

credentialProviderPolicy

enum (CredentialProviderPolicy)

(選用步驟) 應用程式是否可在 Android 14 以上版本中做為憑證提供者。

customAppConfig

object (CustomAppConfig)

(選用步驟) 這個自訂應用程式的設定。

如要設定這項屬性,install_type 必須設為 CUSTOM

installConstraint[]

object (InstallConstraint)

(選用步驟) 安裝應用程式的限制。您最多可以指定一個 InstallConstraint。多項限制遭拒。

installPriority

integer

(選用步驟) 在設為以下狀態的應用程式中:installType

  • FORCE_INSTALLED
  • PREINSTALLED

這項設定可控管安裝作業的相對優先順序。值為 0 (預設值) 表示這個應用程式的優先順序與其他應用程式相同。如果值介於 1 到 10,000 之間,值越低代表優先順序越高。如果值超出 0 到 10,000 (含) 的範圍,系統會拒絕。

userControlSettings

enum (UserControlSettings)

(選用步驟) 指定是否允許使用者控管應用程式。使用者控管包括強制停止及清除應用程式資料等使用者動作。特定類型的應用程式會受到特殊待遇,詳情請參閱 USER_CONTROL_SETTINGS_UNSPECIFIEDUSER_CONTROL_ALLOWED

preferentialNetworkId

enum (PreferentialNetworkId)

(選用步驟) 應用程式使用的優先網路 ID。preferentialNetworkServiceConfigs 中必須有指定網路 ID 的設定。如果設為 PREFERENTIAL_NETWORK_ID_UNSPECIFIED,應用程式會使用 defaultPreferentialNetworkId 中指定的預設網路 ID。如需預設設定排除的應用程式清單,請參閱 defaultPreferentialNetworkId 的說明文件。這項功能適用於搭載 Android 13 以上版本的裝置,包括工作資料夾和全代管裝置。

signingKeyCerts[]

object (ApplicationSigningKeyCert)

(選用步驟) 應用程式的簽署金鑰憑證。

在下列情況中,這個欄位為必填欄位:

  • 應用程式已將 installType 設為 CUSTOM (即自訂應用程式)。
  • 應用程式已將 roles 設為非空白清單,但應用程式並未在 Play 商店上架。
  • 應用程式已設定 extensionConfig (即擴充應用程式),但未設定 ExtensionConfig.signingKeyFingerprintsSha256 (已淘汰),且應用程式不存在於 Play 商店。

如果未針對自訂應用程式設定這個欄位,系統會拒絕該政策。如果非自訂應用程式需要設定,但您未設定,系統就會回報 NonComplianceDetailINVALID_VALUE

如果是其他情況,這個欄位為選填,系統會使用從 Play 商店取得的簽署金鑰憑證。

請參閱下列政策設定,瞭解這個欄位的使用方式:

  • choosePrivateKeyRules
  • ApplicationPolicy.InstallType.CUSTOM
  • ApplicationPolicy.extensionConfig
  • ApplicationPolicy.roles
roles[]

object (Role)

(選用步驟) 應用程式的角色。

在 Android 14 以上版本中,具有特定角色的應用程式可免除電源和背景執行限制、暫停和休眠。在 Android 11 以上版本中,如果應用程式具有特定角色,使用者也可能無法控管。詳情請參閱各 RoleType 的說明文件。

如果應用程式有 <meta-data android:name="com.google.android.managementapi.notification.NotificationReceiverService.SERVICE_APP_ROLES" android:value="" /> 的通知接收器服務,系統會通知應用程式已設定的角色。如果應用程式的角色清單不為空白,系統會在更新角色或安裝應用程式後通知應用程式。應用程式可使用這項通知,在安裝後自行啟動。如要進一步瞭解服務規定,請參閱「整合 AMAPI SDK」和「管理應用程式角色」指南。

如要套用豁免條款並讓應用程式收到角色通知,裝置上應用程式的簽署金鑰憑證指紋必須與從 Play 商店取得的簽署金鑰憑證指紋相符,或是與 ApplicationPolicy.signingKeyCerts 中的其中一個項目相符。否則,系統會回報含有 APP_SIGNING_CERT_MISMATCHNonComplianceDetail

不得有 roleType 相同的重複角色。多個應用程式不得持有相同 roleType 的角色。不允許使用類型為 ROLE_TYPE_UNSPECIFIED 的角色。

PermissionGrant

JSON 表示法
{
  "permission": string,
  "policy": enum (PermissionPolicy)
}
欄位
permission

string

Android 權限或群組,例如 android.permission.READ_CALENDARandroid.permission_group.CALENDAR

policy

enum (PermissionPolicy)

授予權限的政策。

結構

JSON 表示法
{
  "fields": {
    string: value,
    ...
  }
}
欄位
fields

map (key: string, value: value (Value format))

動態型別值的無序對應。

這個物件中包含 "key": value 組合的清單,範例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

FieldsEntry

JSON 表示法
{
  "key": string,
  "value": value
}
欄位
key

string

value

value (Value format)

JSON 表示法
{

  // Union field kind can be only one of the following:
  "nullValue": null,
  "numberValue": number,
  "stringValue": string,
  "boolValue": boolean,
  "structValue": {
    object
  },
  "listValue": array
  // End of list of possible types for union field kind.
}
欄位
聯集欄位 kind。值的類型。kind 只能是下列其中一項:
nullValue

null

表示空值。

numberValue

number

代表雙精度浮點數值。

stringValue

string

代表字串值。

boolValue

boolean

表示布林值。

structValue

object (Struct format)

代表結構化值。

listValue

array (ListValue format)

代表重複的 Value

ListValue

JSON 表示法
{
  "values": [
    value
  ]
}
欄位
values[]

value (Value format)

動態型別值的重複欄位。

ManagedConfigurationTemplate

JSON 表示法
{
  "templateId": string,
  "configurationVariables": {
    string: string,
    ...
  }
}
欄位
templateId

string

受管理設定範本的 ID。

configurationVariables

map (key: string, value: string)

選用,包含為設定定義的 <鍵, 值> 設定變數的地圖。

這個物件中包含 "key": value 組合的清單,範例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

ConfigurationVariablesEntry

JSON 表示法
{
  "key": string,
  "value": string
}
欄位
key

string

value

string

ExtensionConfig

JSON 表示法
{
  "signingKeyFingerprintsSha256": [
    string
  ],
  "notificationReceiver": string
}
欄位
signingKeyFingerprintsSha256[]
(deprecated)

string

擴充應用程式簽署金鑰憑證的十六進位編碼 SHA-256 雜湊。只有 64 個字元的十六進位字串表示法有效。

簽署金鑰憑證指紋一律從 Play 商店取得,這個欄位則用於提供額外的簽署金鑰憑證指紋。不過,如果應用程式未在 Play 商店上架,則必須設定這個欄位。如果應用程式未在 Play 商店上架,且未設定這個欄位,系統會回報 NonComplianceDetailINVALID_VALUE

裝置上擴充應用程式的簽署金鑰憑證指紋,必須與從 Play 商店取得的簽署金鑰憑證指紋相符,或是與這個欄位中提供的指紋相符,應用程式才能與 Android 裝置政策通訊。

在實際工作環境中,建議您將這個欄位留空。

notificationReceiver
(deprecated)

string

Android Device Policy 用來通知擴充應用程式所有本機指令狀態更新的接收器服務類別完整合格名稱。服務必須匯出至擴充功能應用程式的 AndroidManifest.xml,並擴充 NotificationReceiverService (詳情請參閱「整合 AMAPI SDK」指南)。

CustomAppConfig

JSON 表示法
{
  "userUninstallSettings": enum (UserUninstallSettings)
}
欄位
userUninstallSettings

enum (UserUninstallSettings)

(選用步驟) 使用者解除安裝自訂應用程式。

InstallConstraint

JSON 表示法
{
  "networkTypeConstraint": enum (NetworkTypeConstraint),
  "chargingConstraint": enum (ChargingConstraint),
  "deviceIdleConstraint": enum (DeviceIdleConstraint)
}
欄位
networkTypeConstraint

enum (NetworkTypeConstraint)

(選用步驟) 網路類型限制。

chargingConstraint

enum (ChargingConstraint)

(選用步驟) 充電限制。

deviceIdleConstraint

enum (DeviceIdleConstraint)

(選用步驟) 裝置閒置限制。

ApplicationSigningKeyCert

JSON 表示法
{
  "signingKeyCertFingerprintSha256": string
}
欄位
signingKeyCertFingerprintSha256

string (bytes format)

必填。應用程式簽署金鑰憑證的 SHA-256 雜湊值。這必須是有效的 SHA-256 雜湊值,也就是 32 個位元組。否則政策會遭到拒絕。

Base64 編碼字串。

角色

JSON 表示法
{
  "roleType": enum (RoleType)
}
欄位
roleType

enum (RoleType)

必填。應用程式可擁有的角色類型。

PersistentPreferredActivity

JSON 表示法
{
  "receiverActivity": string,
  "actions": [
    string
  ],
  "categories": [
    string
  ]
}
欄位
receiverActivity

string

應做為預設意圖處理常式的活動。這應該是 Android 元件名稱,例如 com.android.enterprise.app/.MainActivity。或者,值也可以是應用程式的套件名稱,這會導致 Android 裝置原則從應用程式中選擇適當的活動來處理意圖。

actions[]

string

篩選器中要比對的意圖動作。如果篩選器中包含任何動作,意圖的動作就必須是其中一個值,才能相符。如果未加入任何動作,系統會忽略意圖動作。

categories[]

string

篩選器中要比對的意圖類別。意圖包含所需類別,所有類別都必須納入篩選器,才能相符。換句話說,除非意圖中指定了類別,否則在篩選器中新增類別不會影響比對。

SystemUpdate

JSON 表示法
{
  "type": enum (SystemUpdateType),
  "startMinutes": integer,
  "endMinutes": integer,
  "allowedDaysWithoutUpdate": integer,
  "freezePeriods": [
    {
      object (FreezePeriod)
    }
  ]
}
欄位
type

enum (SystemUpdateType)

要設定的系統更新類型。

startMinutes

integer

如果類型為 WINDOWED,則維護期間的開始時間會以裝置當地時間午夜過後的分鐘數計算。這個值必須介於 0 到 1439 (含首尾)。

endMinutes

integer

如果類型為 WINDOWED,則為維護時間的結束時間,以裝置當地時間午夜過後的分鐘數計算。這個值必須介於 0 到 1439 (含首尾)。如果這個值小於 start_minutes,維護期間就會跨越午夜。如果指定的維護時間範圍小於 30 分鐘,實際時間範圍會延長至開始時間後的 30 分鐘。

allowedDaysWithoutUpdate

integer

如果這個值大於零,表示裝置在待處理更新發布後,仍可維持合規狀態的天數 (不更新)。否則不會有任何效果。

freezePeriods[]

object (FreezePeriod)

每年重複出現的時間範圍,在此期間,無線 (OTA) 系統更新會延後,以凍結裝置執行的 OS 版本。為避免裝置無限期凍結,每個凍結期間之間必須間隔至少 60 天。

FreezePeriod

JSON 表示法
{
  "startDate": {
    object (Date)
  },
  "endDate": {
    object (Date)
  }
}
欄位
startDate

object (Date)

凍結期的開始日期 (含此日期)。注意:必須設定 daymonth。請勿設定 year,因為系統不會使用此屬性。例如:{"month": 1,"date": 30}

endDate

object (Date)

凍結期的結束日期 (含此日期)。不得晚於開始日期後的 90 天。如果結束日期早於開始日期,則凍結期會跨年。注意:必須設定 daymonth。請勿設定 year,因為系統不會使用此屬性。例如:{"month": 1,"date": 30}

日期

JSON 表示法
{
  "year": integer,
  "month": integer,
  "day": integer
}
欄位
year

integer

日期年份。必須為 1 到 9999;如要指定不含年份的日期,請輸入 0。

month

integer

一年中的月份。必須為 1 到 12;如要指定不含日期的年份,請輸入 0。

day

integer

當月第幾日。必須為 1 到 31,並屬於有效的年和月;如果只指定年份,或只指定年份和月份,而不指定當月第幾日的話,請輸入 0。

StatusReportingSettings

JSON 表示法
{
  "applicationReportsEnabled": boolean,
  "deviceSettingsEnabled": boolean,
  "softwareInfoEnabled": boolean,
  "memoryInfoEnabled": boolean,
  "networkInfoEnabled": boolean,
  "displayInfoEnabled": boolean,
  "powerManagementEventsEnabled": boolean,
  "hardwareStatusEnabled": boolean,
  "systemPropertiesEnabled": boolean,
  "applicationReportingSettings": {
    object (ApplicationReportingSettings)
  },
  "commonCriteriaModeEnabled": boolean,
  "defaultApplicationInfoReportingEnabled": boolean
}
欄位
applicationReportsEnabled

boolean

是否啟用應用程式報表

deviceSettingsEnabled

boolean

是否啟用裝置設定回報功能。

softwareInfoEnabled

boolean

是否啟用軟體資訊回報功能。

memoryInfoEnabled

boolean

是否啟用記憶體事件回報功能。

networkInfoEnabled

boolean

是否啟用網路資訊回報功能。

displayInfoEnabled

boolean

是否啟用顯示報表功能。如果裝置設有工作資料夾,系統不會提供報表資料。

powerManagementEventsEnabled

boolean

是否啟用電源管理事件回報功能。如果裝置設有工作資料夾,系統不會提供報表資料。

hardwareStatusEnabled

boolean

是否啟用硬體狀態回報功能。如果裝置設有工作資料夾,系統不會提供報表資料。

systemPropertiesEnabled

boolean

是否啟用系統屬性回報功能。

applicationReportingSettings

object (ApplicationReportingSettings)

應用程式報表設定。只有在 application_reports_enabled 為 True 時才適用。

commonCriteriaModeEnabled

boolean

是否啟用「Common Criteria Mode」回報功能。這項功能僅適用於公司擁有的裝置。

defaultApplicationInfoReportingEnabled

boolean

(選用步驟) 是否啟用「defaultApplicationInfo」報表。

ApplicationReportingSettings

JSON 表示法
{
  "includeRemovedApps": boolean
}
欄位
includeRemovedApps

boolean

是否要在應用程式報告中納入已移除的應用程式。

UserFacingMessage

JSON 表示法
{
  "localizedMessages": {
    string: string,
    ...
  },
  "defaultMessage": string
}
欄位
localizedMessages

map (key: string, value: string)

包含 <語言代碼, 訊息> 配對的地圖,其中語言代碼是格式正確的 BCP 47 語言代碼,例如 en-US、es-ES 或 fr。

這個物件中包含 "key": value 組合的清單,範例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

defaultMessage

string

如果未指定任何本地化訊息,或使用者的語言代碼與任何本地化訊息都不相符,系統就會顯示預設訊息。如果提供任何本地化訊息,就必須提供預設訊息。

LocalizedMessagesEntry

JSON 表示法
{
  "key": string,
  "value": string
}
欄位
key

string

value

string

PasswordRequirements

JSON 表示法
{
  "passwordMinimumLength": integer,
  "passwordMinimumLetters": integer,
  "passwordMinimumLowerCase": integer,
  "passwordMinimumNonLetter": integer,
  "passwordMinimumNumeric": integer,
  "passwordMinimumSymbols": integer,
  "passwordMinimumUpperCase": integer,
  "passwordQuality": enum (PasswordQuality),
  "passwordHistoryLength": integer,
  "maximumFailedPasswordsForWipe": integer,
  "passwordExpirationTimeout": string,
  "passwordScope": enum (PasswordPolicyScope),
  "requirePasswordUnlock": enum (RequirePasswordUnlock),
  "unifiedLockSettings": enum (UnifiedLockSettings)
}
欄位
passwordMinimumLength

integer

密碼長度下限。如果值為 0,表示沒有限制。只有在 password_qualityNUMERICNUMERIC_COMPLEXALPHABETICALPHANUMERICCOMPLEX 時,才會強制執行這項規定。

passwordMinimumLetters

integer

密碼中必須包含的字母數量下限。只有在 password_qualityCOMPLEX 時才會強制執行。

passwordMinimumLowerCase

integer

密碼中必須包含的小寫字母數量下限。只有在 password_qualityCOMPLEX 時才會強制執行。

passwordMinimumNonLetter

integer

密碼中非英文字母字元 (數字或符號) 的下限。只有在 password_qualityCOMPLEX 時才會強制執行。

passwordMinimumNumeric

integer

密碼中必須包含的數字位數下限。只有在 password_qualityCOMPLEX 時才會強制執行。

passwordMinimumSymbols

integer

密碼中符號的數量下限。只有在 password_qualityCOMPLEX 時才會強制執行。

passwordMinimumUpperCase

integer

密碼中大寫字母的數量下限。只有在 password_qualityCOMPLEX 時才會強制執行。

passwordQuality

enum (PasswordQuality)

密碼品質規定。

passwordHistoryLength

integer

密碼記錄的長度。設定這個欄位後,使用者就無法輸入與歷程記錄中任何密碼相同的新密碼。如果值為 0,表示沒有限制。

maximumFailedPasswordsForWipe

integer

裝置解鎖密碼輸入錯誤次數上限 (一旦超出限制,即抹除裝置內容)。如果值為 0,表示沒有限制。

passwordExpirationTimeout

string (Duration format)

密碼到期逾時。

時間長度以秒為單位,最多可有 9 個小數位數,並應以「s」結尾,例如:"3.5s"

passwordScope

enum (PasswordPolicyScope)

密碼規定適用的範圍。

requirePasswordUnlock

enum (RequirePasswordUnlock)

裝置或工作設定檔透過高強度驗證方式 (密碼、PIN 碼、解鎖圖案) 解鎖後,可使用任何其他驗證方式 (例如指紋、信任代理程式、臉部) 解鎖的時間長度。指定時間過後,只有高強度驗證方法才能解鎖裝置或工作資料夾。

unifiedLockSettings

enum (UnifiedLockSettings)

如果裝置搭載 Android 9 以上版本並設有工作資料夾,這個設定可控管裝置和工作資料夾是否允許使用統一鎖定功能。只有在 password_scope 設為 SCOPE_PROFILE 時,才能設定這個值,否則系統會拒絕這項政策。如果使用者未設定其他工作應用程式鎖定方式,且這個欄位設為 REQUIRE_SEPARATE_WORK_LOCK,系統會回報 NonComplianceDetail,並將 nonComplianceReason 設為 USER_ACTION

時間長度

JSON 表示法
{
  "seconds": string,
  "nanos": integer
}
欄位
seconds

string (int64 format)

時間範圍的簽署秒數。必須介於 -315,576,000,000 至 +315,576,000,000 之間 (含這兩個值)。注意:這些界限是根據以下計算得出:60 秒/分鐘 * 60 分鐘/小時 * 24 小時/天 * 365.25 天/年 * 10000 年

nanos

integer

時間跨度的小數部分 (以奈秒為單位),可為正數或負數。如果時間長度不到一秒,系統會以 0 seconds 欄位和正數或負數 nanos 欄位表示。如果時間長度為一秒以上,nanos 欄位的非零值必須與 seconds 欄位相同。值必須介於 -999,999,999 到 +999,999,999 之間 (含)。

PackageNameList

JSON 表示法
{
  "packageNames": [
    string
  ]
}
欄位
packageNames[]

string

套件名稱清單。

ProxyInfo

JSON 表示法
{
  "host": string,
  "port": integer,
  "excludedHosts": [
    string
  ],
  "pacUri": string
}
欄位
host

string

直接 Proxy 的主機。

port

integer

直接 Proxy 的通訊埠。

excludedHosts[]

string

如果是直接 Proxy,則為 Proxy 略過的主機。主機名稱可包含萬用字元,例如 *.example.com。

pacUri

string

用來設定 Proxy 的 PAC 指令碼 URI。

ChoosePrivateKeyRule

JSON 表示法
{
  "urlPattern": string,
  "packageNames": [
    string
  ],
  "privateKeyAlias": string
}
欄位
urlPattern

string

要與要求網址比對的網址模式。如未設定或空白,則會比對所有網址。這會使用 java.util.regex.Pattern 的規則運算式語法。

packageNames[]

string

適用此規則的套件名稱。系統會根據 Play 商店和 ApplicationPolicy.signingKeyCerts 提供的簽署金鑰憑證指紋,驗證應用程式的簽署金鑰憑證指紋。如未指定套件名稱,別名會提供給所有呼叫 KeyChain.choosePrivateKeyAlias 或任何多載的應用程式 (但不會在未呼叫 KeyChain.choosePrivateKeyAlias 的情況下提供,即使是在 Android 11 以上版本也是如此)。如果應用程式的 Android UID 與這裡指定的套件相同,在呼叫 KeyChain.choosePrivateKeyAlias 時就會取得存取權。

privateKeyAlias

string

要使用的私密金鑰別名。

AlwaysOnVpnPackage

JSON 表示法
{
  "packageName": string,
  "lockdownEnabled": boolean
}
欄位
packageName

string

VPN 應用程式的套件名稱。

lockdownEnabled

boolean

在 VPN 未連線時禁止網路連線。

ComplianceRule

JSON 表示法
{
  "disableApps": boolean,
  "packageNamesToDisable": [
    string
  ],

  // Union field condition can be only one of the following:
  "nonComplianceDetailCondition": {
    object (NonComplianceDetailCondition)
  },
  "apiLevelCondition": {
    object (ApiLevelCondition)
  }
  // End of list of possible types for union field condition.
}
欄位
disableApps

boolean

如果設為 true,規則會包含停用應用程式的緩解措施,以便有效停用裝置,但會保留應用程式資料。如果裝置在鎖定工作模式下執行應用程式,系統會關閉該應用程式,並顯示不符規定的原因。

packageNamesToDisable[]

string

如果設定這項規則,系統會採取緩解措施,停用清單中指定的應用程式,但會保留應用程式資料。

聯集欄位 condition。條件,如果符合條件,就會觸發規則中定義的緩解動作。必須設定其中一個條件。condition 只能是下列其中一項:
nonComplianceDetailCondition

object (NonComplianceDetailCondition)

如果裝置存在任何相符的 NonComplianceDetail,即滿足條件。

apiLevelCondition

object (ApiLevelCondition)

如果裝置上的 Android Framework API 級別不符合最低需求,就會滿足這項條件。

NonComplianceDetailCondition

JSON 表示法
{
  "settingName": string,
  "nonComplianceReason": enum (NonComplianceReason),
  "packageName": string
}
欄位
settingName

string

政策設定的名稱。這是頂層 Policy 欄位的 JSON 欄位名稱。如未設定,這項條件會比對任何設定名稱。

nonComplianceReason

enum (NonComplianceReason)

裝置不符合設定的原因。如未設定,則這項條件會符合任何原因。

packageName

string

不符規定的應用程式套件名稱。如未設定,則這項條件會比對任何套件名稱。

ApiLevelCondition

JSON 表示法
{
  "minApiLevel": integer
}
欄位
minApiLevel

integer

所需的最低 Android 架構 API 級別。如果裝置不符合最低需求,即符合這項條件。必須大於零。

SetupAction

JSON 表示法
{
  "title": {
    object (UserFacingMessage)
  },
  "description": {
    object (UserFacingMessage)
  },

  // Union field action can be only one of the following:
  "launchApp": {
    object (LaunchAppAction)
  }
  // End of list of possible types for union field action.
}
欄位
title

object (UserFacingMessage)

這項動作的標題。

description

object (UserFacingMessage)

這項動作的說明。

聯集欄位 action。設定期間要執行的動作。action 只能是下列其中一項:
launchApp

object (LaunchAppAction)

啟動應用程式的動作。應用程式啟動時,意圖會包含索引鍵為 com.google.android.apps.work.clouddpc.EXTRA_LAUNCHED_AS_SETUP_ACTION 的額外項目,並將布林值設為 true,表示這是設定動作流程。如果 SetupAction 參照應用程式,應用程式政策中對應的 installType 必須設為 REQUIRED_FOR_SETUP,否則設定會失敗。

LaunchAppAction

JSON 表示法
{

  // Union field launch can be only one of the following:
  "packageName": string
  // End of list of possible types for union field launch.
}
欄位

聯集欄位 launch

launch 只能是下列其中一項:

packageName

string

要啟動的應用程式套件名稱

PolicyEnforcementRule

JSON 表示法
{
  "blockAction": {
    object (BlockAction)
  },
  "wipeAction": {
    object (WipeAction)
  },

  // Union field trigger can be only one of the following:
  "settingName": string
  // End of list of possible types for union field trigger.
}
欄位
blockAction

object (BlockAction)

禁止存取公司裝置或工作資料夾中的應用程式和資料。系統也會向使用者顯示通知,盡可能提供修正法規遵循問題的資訊。注意:也必須指定 wipeAction

wipeAction

object (WipeAction)

重設公司裝置或刪除工作資料夾的動作。注意:也必須指定 blockAction

聯集欄位 trigger。觸發這項規則的條件。trigger 只能是下列其中一項:
settingName

string

要強制執行的頂層政策。例如 applicationspasswordPolicies

BlockAction

JSON 表示法
{
  "blockAfterDays": integer,
  "blockScope": enum (BlockScope)
}
欄位
blockAfterDays

integer

裝置或工作設定檔遭封鎖前,政策不符規定的天數。如要立即封鎖存取權,請設為 0。blockAfterDays 必須小於 wipeAfterDays

blockScope

enum (BlockScope)

指定這個 BlockAction 的範圍。僅適用於公司擁有的裝置。

WipeAction

JSON 表示法
{
  "wipeAfterDays": integer,
  "preserveFrp": boolean
}
欄位
wipeAfterDays

integer

裝置或工作設定檔違反政策的天數。wipeAfterDays 必須大於 blockAfterDays

preserveFrp

boolean

裝置是否保留恢復原廠設定保護機制資料。這項設定不適用於工作資料夾。

KioskCustomization

JSON 表示法
{
  "powerButtonActions": enum (PowerButtonActions),
  "systemErrorWarnings": enum (SystemErrorWarnings),
  "systemNavigation": enum (SystemNavigation),
  "statusBar": enum (StatusBar),
  "deviceSettings": enum (DeviceSettings)
}
欄位
powerButtonActions

enum (PowerButtonActions)

設定使用者按住電源鍵時,裝置在資訊站模式下的行為。

systemErrorWarnings

enum (SystemErrorWarnings)

指定是否要在 Kiosk 模式中封鎖當機或無回應應用程式的系統錯誤對話方塊。封鎖後,系統會強制停止應用程式,就像使用者在 UI 上選擇「關閉應用程式」選項一樣。

systemNavigation

enum (SystemNavigation)

指定要在 Kiosk 模式中啟用的導覽功能 (例如「主畫面」和「總覽」按鈕)。

statusBar

enum (StatusBar)

指定是否要在 Kiosk 模式中停用系統資訊和通知。

deviceSettings

enum (DeviceSettings)

指定是否允許在 Kiosk 模式中使用「設定」應用程式。

AdvancedSecurityOverrides

JSON 表示法
{
  "untrustedAppsPolicy": enum (UntrustedAppsPolicy),
  "googlePlayProtectVerifyApps": enum (GooglePlayProtectVerifyApps),
  "developerSettings": enum (DeveloperSettings),
  "commonCriteriaMode": enum (CommonCriteriaMode),
  "personalAppsThatCanReadWorkNotifications": [
    string
  ],
  "mtePolicy": enum (MtePolicy),
  "contentProtectionPolicy": enum (ContentProtectionPolicy)
}
欄位
untrustedAppsPolicy

enum (UntrustedAppsPolicy)

裝置上強制執行的不受信任應用程式 (來源不明的應用程式) 政策。取代 install_unknown_sources_allowed (deprecated).

googlePlayProtectVerifyApps

enum (GooglePlayProtectVerifyApps)

是否強制執行 Google Play 安全防護驗證。取代已淘汰的 ensureVerifyAppsEnabled

developerSettings

enum (DeveloperSettings)

控管開發人員設定的存取權:開發人員選項和安全模式。取代 safeBootDisabled (已淘汰) 和 debuggingFeaturesAllowed (已淘汰)。如果是設有工作資料夾的個人裝置,設定這項政策不會停用安全啟動。在此情況下,系統會回報 NonComplianceDetailMANAGEMENT_MODE

commonCriteriaMode

enum (CommonCriteriaMode)

控管共同準則模式:資訊技術安全評估共同準則 (CC) 中定義的安全標準。啟用 Common Criteria 模式會增加裝置上的特定安全元件,詳情請參閱CommonCriteriaMode

警告:共同準則模式會強制執行嚴格的安全模式,通常只有用於國家安全系統和其他高度機密機構的 IT 產品才需要此模式。裝置的標準使用體驗可能會受到影響。請視需要啟用。如果先前已啟用 Common Criteria 模式,但之後關閉,所有使用者設定的 Wi-Fi 網路可能會遺失,且任何需要使用者輸入的企業設定 Wi-Fi 網路可能需要重新設定。

personalAppsThatCanReadWorkNotifications[]

string

可使用 NotificationListenerService 讀取工作資料夾通知的個人應用程式。根據預設,除了系統應用程式外,任何個人應用程式都無法讀取工作通知。清單中的每個值都必須是套件名稱。

mtePolicy

enum (MtePolicy)

(選用步驟) 控管裝置上的 Memory Tagging Extension (MTE)。裝置必須重新啟動,才能套用 MTE 政策變更。在 Android 15 以上版本中,如果政策變更需要重新啟動裝置才能生效,系統會回報 NonComplianceDetailPENDING

contentProtectionPolicy

enum (ContentProtectionPolicy)

(選用步驟) 控管是否啟用內容保護功能 (掃描是否有欺騙性應用程式)。這項功能適用於搭載 Android 15 以上版本的裝置。

PersonalUsagePolicies

JSON 表示法
{
  "cameraDisabled": boolean,
  "screenCaptureDisabled": boolean,
  "accountTypesWithManagementDisabled": [
    string
  ],
  "maxDaysWithWorkOff": integer,
  "personalPlayStoreMode": enum (PlayStoreMode),
  "personalApplications": [
    {
      object (PersonalApplicationPolicy)
    }
  ],
  "privateSpacePolicy": enum (PrivateSpacePolicy),
  "bluetoothSharing": enum (BluetoothSharing)
}
欄位
cameraDisabled

boolean

如果為 true,個人設定檔會停用攝影機。

screenCaptureDisabled

boolean

如果設為 true,所有使用者都無法擷取螢幕畫面。

accountTypesWithManagementDisabled[]

string

使用者無法管理的帳戶類型。

maxDaysWithWorkOff

integer

控制工作資料夾可保持關閉狀態的時間長度。最短時間必須至少為 3 天。其他詳細資料如下:

  • 如果將時間長度設為 0,這項功能就會關閉。
  • 如果將時間長度設為小於最短時間長度的值,這項功能會傳回錯誤。
注意:如要避免個人設定檔在長時間休息期間遭到停權,可以暫時為這個參數設定較大的值。

personalPlayStoreMode

enum (PlayStoreMode)

personalApplications 搭配使用,可控制允許或封鎖個人設定檔中的應用程式。

personalApplications[]

object (PersonalApplicationPolicy)

個人資料夾中的應用程式適用的政策。

privateSpacePolicy

enum (PrivateSpacePolicy)

(選用步驟) 控制裝置是否允許私人空間。

bluetoothSharing

enum (BluetoothSharing)

(選用步驟) 是否允許藍牙分享。

PersonalApplicationPolicy

JSON 表示法
{
  "packageName": string,
  "installType": enum (InstallType)
}
欄位
packageName

string

應用程式的套件名稱。

installType

enum (InstallType)

要執行的安裝類型。

OncCertificateProvider

JSON 表示法
{
  "certificateReferences": [
    string
  ],

  // Union field endpoint can be only one of the following:
  "contentProviderEndpoint": {
    object (ContentProviderEndpoint)
  }
  // End of list of possible types for union field endpoint.
}
欄位
certificateReferences[]

string

這項功能尚未全面開放使用。

聯集欄位 endpoint

這項功能尚未全面開放使用。endpoint 只能是下列其中一項:

contentProviderEndpoint

object (ContentProviderEndpoint)

這項功能尚未全面開放使用。

ContentProviderEndpoint

JSON 表示法
{
  "uri": string,
  "packageName": string,
  "signingCertsSha256": [
    string
  ]
}
欄位
uri

string

這項功能尚未全面開放使用。

packageName

string

這項功能尚未全面開放使用。

signingCertsSha256[]

string

必填。這項功能尚未全面開放使用。

CrossProfilePolicies

JSON 表示法
{
  "showWorkContactsInPersonalProfile": enum (ShowWorkContactsInPersonalProfile),
  "crossProfileCopyPaste": enum (CrossProfileCopyPaste),
  "crossProfileDataSharing": enum (CrossProfileDataSharing),
  "workProfileWidgetsDefault": enum (WorkProfileWidgetsDefault),
  "crossProfileAppFunctions": enum (CrossProfileAppFunctions),
  "exemptionsToShowWorkContactsInPersonalProfile": {
    object (PackageNameList)
  }
}
欄位
showWorkContactsInPersonalProfile

enum (ShowWorkContactsInPersonalProfile)

個人應用程式是否可以存取儲存在工作資料夾中的聯絡人。

另請參閱 exemptions_to_show_work_contacts_in_personal_profile

crossProfileCopyPaste

enum (CrossProfileCopyPaste)

是否允許將從某個設定檔 (個人或工作) 複製的文字貼到另一個設定檔。

crossProfileDataSharing

enum (CrossProfileDataSharing)

是否可將一個設定檔 (個人或工作) 的資料分享給另一個設定檔的應用程式。專門控制透過 Intent 分享簡單資料。其他跨設定檔通訊管道 (例如聯絡人搜尋、複製/貼上,或連結工作和個人應用程式) 的管理方式,則會另外設定。

workProfileWidgetsDefault

enum (WorkProfileWidgetsDefault)

指定工作資料夾小工具的預設行為。如果政策未針對特定應用程式指定 work_profile_widgets,系統會根據此處指定的值運作。

crossProfileAppFunctions

enum (CrossProfileAppFunctions)

(選用步驟) 控管個人資料夾應用程式是否可叫用工作資料夾應用程式公開的應用程式函式。

exemptionsToShowWorkContactsInPersonalProfile

object (PackageNameList)

ShowWorkContactsInPersonalProfile 設定排除的應用程式清單。如要設定這項屬性,ShowWorkContactsInPersonalProfile 必須設為下列其中一個值:

  • SHOW_WORK_CONTACTS_IN_PERSONAL_PROFILE_ALLOWED。在這種情況下,這些豁免項目會做為封鎖清單。
  • SHOW_WORK_CONTACTS_IN_PERSONAL_PROFILE_DISALLOWED。在這種情況下,這些豁免項目會做為許可清單。
  • SHOW_WORK_CONTACTS_IN_PERSONAL_PROFILE_DISALLOWED_EXCEPT_SYSTEM。在這種情況下,除了已加入許可清單的系統應用程式外,這些豁免項目也會做為許可清單。

支援 Android 14 以上版本。如果 Android 版本低於 14,系統會回報 NonComplianceDetailAPI_LEVEL

UsageLog

JSON 表示法
{
  "enabledLogTypes": [
    enum (LogType)
  ],
  "uploadOnCellularAllowed": [
    enum (LogType)
  ]
}
欄位
enabledLogTypes[]

enum (LogType)

指定要啟用的記錄類型。請注意,啟用使用記錄功能後,使用者會在裝置上收到訊息。

uploadOnCellularAllowed[]

enum (LogType)

指定可透過行動數據上傳的已啟用記錄類型。根據預設,裝置連上 Wi-Fi 時,系統會將記錄排入上傳佇列。

DeviceConnectivityManagement

JSON 表示法
{
  "usbDataAccess": enum (UsbDataAccess),
  "configureWifi": enum (ConfigureWifi),
  "wifiDirectSettings": enum (WifiDirectSettings),
  "tetheringSettings": enum (TetheringSettings),
  "wifiSsidPolicy": {
    object (WifiSsidPolicy)
  },
  "wifiRoamingPolicy": {
    object (WifiRoamingPolicy)
  },
  "bluetoothSharing": enum (BluetoothSharing),
  "preferentialNetworkServiceSettings": {
    object (PreferentialNetworkServiceSettings)
  },
  "apnPolicy": {
    object (ApnPolicy)
  }
}
欄位
usbDataAccess

enum (UsbDataAccess)

控管可透過 USB 傳輸的檔案和/或資料。僅適用於公司擁有的裝置。

configureWifi

enum (ConfigureWifi)

控制 Wi-Fi 設定權限。根據設定的選項,使用者可完全控管、有限控管或無法控管 Wi-Fi 網路設定。

wifiDirectSettings

enum (WifiDirectSettings)

控制項,用於設定及使用 Wi-Fi Direct 設定。支援搭載 Android 13 以上版本的公司自有裝置。

tetheringSettings

enum (TetheringSettings)

控管網路共用設定。根據設定的值,使用者會部分或完全無法使用不同的網路共用形式。

wifiSsidPolicy

object (WifiSsidPolicy)

限制裝置可連線的 Wi-Fi SSID。請注意,這不會影響裝置上可設定的網路。支援搭載 Android 13 以上版本的公司自有裝置。

wifiRoamingPolicy

object (WifiRoamingPolicy)

(選用步驟) Wi-Fi 漫遊政策。

bluetoothSharing

enum (BluetoothSharing)

(選用步驟) 控管是否允許藍牙分享。

preferentialNetworkServiceSettings

object (PreferentialNetworkServiceSettings)

(選用步驟) 偏好的網路服務設定。設定這個欄位會覆寫 preferentialNetworkService。這項設定適用於 Android 13 以上版本的工作資料夾和全代管裝置。詳情請參閱 5G 網路切片指南。

apnPolicy

object (ApnPolicy)

(選用步驟) 存取點名稱 (APN) 政策。存取點名稱 (APN) 設定,可能會覆寫裝置上的任何其他 APN。詳情請參閱 OVERRIDE_APNS_ENABLEDoverrideApns

WifiSsidPolicy

JSON 表示法
{
  "wifiSsidPolicyType": enum (WifiSsidPolicyType),
  "wifiSsids": [
    {
      object (WifiSsid)
    }
  ]
}
欄位
wifiSsidPolicyType

enum (WifiSsidPolicyType)

要套用的 Wi-Fi SSID 政策類型。

wifiSsids[]

object (WifiSsid)

(選用步驟) 政策中應套用的 Wi-Fi SSID 清單。如果 WifiSsidPolicyType 設為 WIFI_SSID_ALLOWLIST,這個欄位就不得留空。如果設為非空白清單,當 Android 版本低於 13 時,系統會回報 NonComplianceDetail 詳細資料和 API_LEVEL,並針對非公司擁有的裝置回報 NonComplianceDetailMANAGEMENT_MODE

WifiSsid

JSON 表示法
{
  "wifiSsid": string
}
欄位
wifiSsid

string

必填。以字串表示的 Wi-Fi SSID。

WifiRoamingPolicy

JSON 表示法
{
  "wifiRoamingSettings": [
    {
      object (WifiRoamingSetting)
    }
  ]
}
欄位
wifiRoamingSettings[]

object (WifiRoamingSetting)

(選用步驟) Wi-Fi 漫遊設定。這個清單中提供的 SSID 不得重複,否則系統會拒絕這項政策。

WifiRoamingSetting

JSON 表示法
{
  "wifiSsid": string,
  "wifiRoamingMode": enum (WifiRoamingMode)
}
欄位
wifiSsid

string

必填。Wi-Fi 網路的 SSID。

wifiRoamingMode

enum (WifiRoamingMode)

必填。指定 SSID 的 Wi-Fi 漫遊模式。

PreferentialNetworkServiceSettings

JSON 表示法
{
  "preferentialNetworkServiceConfigs": [
    {
      object (PreferentialNetworkServiceConfig)
    }
  ],
  "defaultPreferentialNetworkId": enum (PreferentialNetworkId)
}
欄位
preferentialNetworkServiceConfigs[]

object (PreferentialNetworkServiceConfig)

必填。優先網路服務設定,可啟用多個企業切片。不得有多個設定具有相同的 preferentialNetworkId。如果沒有任何應用程式透過設定 ApplicationPolicy.preferentialNetworkIddefaultPreferentialNetworkId 參照設定,系統就會忽略該設定。如果裝置使用 4G 網路,您還需要設定企業 APN,才能為優先網路服務設定數據通話。您可以使用 apnPolicy 新增這些 APN。

defaultPreferentialNetworkId

enum (PreferentialNetworkId)

必填。如果應用程式不在 applications 中,或 ApplicationPolicy.preferentialNetworkId 設為 PREFERENTIAL_NETWORK_ID_UNSPECIFIED,則預設優先網路 ID 為 applications。除非設定為 NO_PREFERENTIAL_NETWORK,否則 preferentialNetworkServiceConfigs 中必須有指定網路 ID 的設定。如果設為 PREFERENTIAL_NETWORK_ID_UNSPECIFIED 或未設定,則預設為 NO_PREFERENTIAL_NETWORK。注意:如果預設偏好網路設定錯誤,沒有設定 ApplicationPolicy.preferentialNetworkId 的應用程式就無法存取網際網路。這項設定不適用於下列重要應用程式:

  • com.google.android.apps.work.clouddpc
  • com.google.android.gms

ApplicationPolicy.preferentialNetworkId 仍可設定偏好網路。

PreferentialNetworkServiceConfig

JSON 表示法
{
  "preferentialNetworkId": enum (PreferentialNetworkId),
  "fallbackToDefaultConnection": enum (FallbackToDefaultConnection),
  "nonMatchingNetworks": enum (NonMatchingNetworks)
}
欄位
preferentialNetworkId

enum (PreferentialNetworkId)

必填。偏好網路 ID。不得設為 NO_PREFERENTIAL_NETWORKPREFERENTIAL_NETWORK_ID_UNSPECIFIED,否則政策會遭到拒絕。

fallbackToDefaultConnection

enum (FallbackToDefaultConnection)

(選用步驟) 是否允許回復為裝置通用的預設網路。如果設為 FALLBACK_TO_DEFAULT_CONNECTION_ALLOWED,則 nonMatchingNetworks 不得設為 NON_MATCHING_NETWORKS_DISALLOWED,否則系統會拒絕這項政策。注意:如果設為 FALLBACK_TO_DEFAULT_CONNECTION_DISALLOWED,應用程式就無法存取網際網路 (如果沒有 5G 切片)。

nonMatchingNetworks

enum (NonMatchingNetworks)

(選用步驟) 這項設定適用的應用程式是否無法使用偏好服務以外的網路。如果設為 NON_MATCHING_NETWORKS_DISALLOWED,則 fallbackToDefaultConnection 必須設為 FALLBACK_TO_DEFAULT_CONNECTION_DISALLOWED

ApnPolicy

JSON 表示法
{
  "overrideApns": enum (OverrideApns),
  "apnSettings": [
    {
      object (ApnSetting)
    }
  ]
}
欄位
overrideApns

enum (OverrideApns)

(選用步驟) 是否停用或啟用覆寫 APN。詳情請參閱 DevicePolicyManager.setOverrideApnsEnabled

apnSettings[]

object (ApnSetting)

(選用步驟) 覆寫 APN 的 APN 設定。提供的任何 APN 設定不得有衝突,否則政策會遭到拒絕。如果兩個 ApnSetting 的下列所有欄位都相符,系統就會視為衝突:numericOperatorIdapnproxyAddressproxyPortmmsProxyAddressmmsProxyPortmmscmvnoTypeprotocolroamingProtocol。如果部分 APN 設定導致 INVALID_VALUE 不符規定,系統會忽略這些設定。這項設定適用於搭載 Android 10 以上版本的全代管裝置。這項設定也可以在 Android 13 以上版本的工作資料夾中設定,但僅適用於 ApnSetting,且必須使用 ENTERPRISE APN 類型。如果 Android 版本低於 10,系統會回報 NonComplianceDetail (含 API_LEVEL)。如果 Android 版本低於 13,系統會針對工作資料夾回報 NonComplianceDetailMANAGEMENT_MODE

ApnSetting

JSON 表示法
{
  "apnTypes": [
    enum (ApnType)
  ],
  "apn": string,
  "displayName": string,
  "alwaysOnSetting": enum (AlwaysOnSetting),
  "authType": enum (AuthType),
  "carrierId": integer,
  "mmsProxyAddress": string,
  "mmsProxyPort": integer,
  "mmsc": string,
  "mtuV4": integer,
  "mtuV6": integer,
  "mvnoType": enum (MvnoType),
  "networkTypes": [
    enum (NetworkType)
  ],
  "username": string,
  "password": string,
  "numericOperatorId": string,
  "protocol": enum (Protocol),
  "roamingProtocol": enum (Protocol),
  "proxyAddress": string,
  "proxyPort": integer
}
欄位
apnTypes[]

enum (ApnType)

必填。APN 的使用類別。如果這個欄位空白、含有 APN_TYPE_UNSPECIFIED 或重複內容,系統會拒絕政策。全代管裝置可以設定多個 APN 類型。工作資料夾只允許使用 ENTERPRISE 類型的 APN。如果工作資料夾中的其他值為 NonComplianceDetail,系統會回報 NonComplianceDetailMANAGEMENT_MODE系統會忽略裝置或管理模式不支援的 APN 類型。如果結果是空白清單,系統會忽略 APN 設定,因為 apnTypes 是必填欄位。如果裝置或管理模式不支援任何 APN 類型,系統會回報 NonComplianceDetail (INVALID_VALUE)。

apn

string

必填。APN 名稱。如果這個欄位留空,系統會拒絕政策。

displayName

string

必填。使用者容易理解的 APN 說明名稱。如果這個欄位留空,系統會拒絕政策。

alwaysOnSetting

enum (AlwaysOnSetting)

(選用步驟) 這個 APN 從 CM-IDLE 模式轉換為 CM-CONNECTED 狀態時,是否必須啟動使用者平面資源。請參閱 3GPP TS 23.501 第 5.6.13 節。

authType

enum (AuthType)

(選用步驟) APN 的驗證類型。

carrierId

integer

(選用步驟) APN 的電信業者 ID。值為 0 (預設) 表示未設定,負值則會遭到拒絕。

mmsProxyAddress

string

(選用步驟) APN 的 MMS (多媒體訊息服務) Proxy 位址,可以是 IP 位址或主機名稱 (不是網址)。

mmsProxyPort

integer

(選用步驟) APN 的 MMS (多媒體訊息服務) Proxy 連接埠。值為 0 (預設) 表示未設定,負值則會遭到拒絕。

mmsc

string

(選用步驟) 存取點的 MMSC (多媒體訊息服務中心) URI。

mtuV4

integer

(選用步驟) 這個 APN 設定帶來的 IPv4 路由預設 MTU (最大傳輸單位) 大小 (以位元組為單位)。值為 0 (預設值) 表示未設定,負值則會遭到拒絕。支援 Android 13 以上版本。如果 Android 版本低於 13,系統會回報 NonComplianceDetailAPI_LEVEL

mtuV6

integer

(選用步驟) APN 連線的 IPv6 行動介面 MTU (最大傳輸單位) 大小。值為 0 (預設值) 表示未設定,負值則會遭到拒絕。支援 Android 13 以上版本。如果 Android 版本低於 13,系統會回報 NonComplianceDetailAPI_LEVEL

mvnoType

enum (MvnoType)

(選用步驟) APN 的 MVNO 比對類型。

networkTypes[]

enum (NetworkType)

(選用步驟) APN 可能使用的無線電技術 (網路類型)。如果這個欄位含有 NETWORK_TYPE_UNSPECIFIED 或重複內容,系統會拒絕政策。

username

string

(選用步驟) APN 的 APN 使用者名稱。

password

string

(選用步驟) APN 的 APN 密碼。

numericOperatorId

string

(選用步驟) APN 的數字運算子 ID。數字運算子 ID 定義為 MCC (行動裝置國家/地區代碼) + MNC (行動網路識別碼)。

protocol

enum (Protocol)

(選用步驟) 用來連線至這個 APN 的通訊協定。

roamingProtocol

enum (Protocol)

(選用步驟) 裝置漫遊時,用來連線至這個 APN 的通訊協定。

proxyAddress

string

(選用步驟) APN 的 Proxy 位址。

proxyPort

integer

(選用步驟) APN 的 Proxy 通訊埠。值為 0 (預設) 表示未設定,負值則會遭到拒絕。

DeviceRadioState

JSON 表示法
{
  "wifiState": enum (WifiState),
  "airplaneModeState": enum (AirplaneModeState),
  "ultraWidebandState": enum (UltraWidebandState),
  "cellularTwoGState": enum (CellularTwoGState),
  "minimumWifiSecurityLevel": enum (MinimumWifiSecurityLevel),
  "userInitiatedAddEsimSettings": enum (UserInitiatedAddEsimSettings)
}
欄位
wifiState

enum (WifiState)

控制 Wi-Fi 的目前狀態,以及使用者是否可以變更狀態。

airplaneModeState

enum (AirplaneModeState)

控管使用者是否可以切換飛航模式。

ultraWidebandState

enum (UltraWidebandState)

控管超寬頻設定的狀態,以及使用者是否可以開啟或關閉這項設定。

cellularTwoGState

enum (CellularTwoGState)

控管使用者是否可以切換行動網路 2G 設定。

minimumWifiSecurityLevel

enum (MinimumWifiSecurityLevel)

裝置可連線的 Wi-Fi 網路最低安全等級。

userInitiatedAddEsimSettings

enum (UserInitiatedAddEsimSettings)

(選用步驟) 控管使用者是否可以新增 eSIM 卡設定檔。

DisplaySettings

JSON 表示法
{
  "screenBrightnessSettings": {
    object (ScreenBrightnessSettings)
  },
  "screenTimeoutSettings": {
    object (ScreenTimeoutSettings)
  }
}
欄位
screenBrightnessSettings

object (ScreenBrightnessSettings)

(選用步驟) 控制螢幕亮度設定。

screenTimeoutSettings

object (ScreenTimeoutSettings)

(選用步驟) 控管螢幕自動關閉設定。

ScreenBrightnessSettings

JSON 表示法
{
  "screenBrightnessMode": enum (ScreenBrightnessMode),
  "screenBrightness": integer
}
欄位
screenBrightnessMode

enum (ScreenBrightnessMode)

(選用步驟) 控制螢幕亮度模式。

screenBrightness

integer

(選用步驟) 螢幕亮度介於 1 到 255 之間,1 為最低亮度,255 為最高亮度。值為 0 (預設值) 表示未設定螢幕亮度。其他值則會遭拒。如要設定這項屬性,screenBrightnessMode 必須是 BRIGHTNESS_AUTOMATICBRIGHTNESS_FIXED。完全受管理裝置須搭載 Android 9 以上版本,才能使用這項功能。如果 Android 版本低於 9,系統會回報 NonComplianceDetail (含 API_LEVEL)。適用於搭載 Android 15 以上版本的公司裝置工作資料夾。

ScreenTimeoutSettings

JSON 表示法
{
  "screenTimeoutMode": enum (ScreenTimeoutMode),
  "screenTimeout": string
}
欄位
screenTimeoutMode

enum (ScreenTimeoutMode)

(選用步驟) 控管使用者是否可以設定螢幕逾時。

screenTimeout

string (Duration format)

(選用步驟) 控制螢幕自動關閉時間長度。螢幕自動關閉時間必須大於 0,否則系統會拒絕。此外,這個值不得大於 maximumTimeToLock,否則螢幕逾時會設為 maximumTimeToLock,並回報 NonComplianceDetail,其中 INVALID_VALUE 原因和 SCREEN_TIMEOUT_GREATER_THAN_MAXIMUM_TIME_TO_LOCK 特定原因。如果螢幕關閉時間低於特定下限,系統會將其設為下限。下限可能因裝置而異。如果設定這項政策,screenTimeoutMode 必須為 SCREEN_TIMEOUT_ENFORCED。完全受管理裝置須搭載 Android 9 以上版本,才能使用這項功能。如果 Android 版本低於 9,系統會回報 NonComplianceDetail (含 API_LEVEL)。適用於搭載 Android 15 以上版本的公司裝置工作資料夾。

時間長度以秒為單位,最多可有 9 個小數位數,並應以「s」結尾,例如:"3.5s"

WorkAccountSetupConfig

JSON 表示法
{
  "authenticationType": enum (AuthenticationType),
  "requiredAccountEmail": string
}
欄位
authenticationType

enum (AuthenticationType)

(選用步驟) 裝置上使用者的驗證類型。

requiredAccountEmail

string

(選用步驟) 要新增的特定 Google 工作帳戶電子郵件地址。只有在 authenticationTypeGOOGLE_AUTHENTICATED 時,這個欄位才有意義。這必須是企業帳戶,而非消費者帳戶。設定完成後,只要將 Google 驗證帳戶新增至裝置,變更這個欄位就不會生效,因此建議只設定一次。

DefaultApplicationSetting

JSON 表示法
{
  "defaultApplicationType": enum (DefaultApplicationType),
  "defaultApplications": [
    {
      object (DefaultApplication)
    }
  ],
  "defaultApplicationScopes": [
    enum (DefaultApplicationScope)
  ]
}
欄位
defaultApplicationType

enum (DefaultApplicationType)

必填。要設定預設應用程式的應用程式類型。

defaultApplications[]

object (DefaultApplication)

必填。可設為特定類型預設應用程式的應用程式清單。這份清單不得為空或包含重複項目。系統會將清單中第一個已安裝且符合 defaultApplicationType 資格的應用程式 (例如 DEFAULT_SMS 的簡訊應用程式) 設為預設應用程式。此外,裝置上應用程式的簽署金鑰憑證指紋,也必須與從 Play 商店取得的簽署金鑰憑證指紋相符,或是與 ApplicationPolicy.signingKeyCerts 中的其中一個項目相符,才能設為預設應用程式。

如果 defaultApplicationScopes 包含 SCOPE_FULLY_MANAGEDSCOPE_WORK_PROFILE,應用程式必須在 applications 中有項目,且 installType 設為 BLOCKED 以外的值。

如果清單中的應用程式「皆未」安裝,系統會回報 NonComplianceDetailAPP_NOT_INSTALLED」原因和「DEFAULT_APPLICATION_SETTING_FAILED_FOR_SCOPE」特定原因。如果已安裝至少一個應用程式,但由於其他原因 (例如應用程式類型不正確) 導致政策無法套用,系統會回報 NonComplianceDetailINVALID_VALUE 原因是 DEFAULT_APPLICATION_SETTING_FAILED_FOR_SCOPE

在公司擁有的裝置上,如果裝置設有工作資料夾,則只能將預先安裝的系統應用程式設為預設應用程式。SCOPE_PERSONAL_PROFILE如果政策無法套用至個人設定檔,系統會回報 NonComplianceDetail,並提供 INVALID_VALUE 原因和 DEFAULT_APPLICATION_SETTING_FAILED_FOR_SCOPE 特定原因。

defaultApplicationScopes[]

enum (DefaultApplicationScope)

必填。政策應套用的範圍。這份清單不得為空或包含重複項目。

如果指定範圍無法套用至管理模式 (例如全代管裝置收到只有 SCOPE_PERSONAL_PROFILE 的政策),系統會回報 NonComplianceDetail 且原因為 MANAGEMENT_MODEDEFAULT_APPLICATION_SETTING_UNSUPPORTED_SCOPES

DefaultApplication

JSON 表示法
{
  "packageName": string
}
欄位
packageName

string

必填。應設為預設應用程式的套件名稱。如果套件名稱無效,系統會拒絕該政策。

工具註解

破壞性提示:❌ | 等冪提示:✅ | 唯讀提示:✅ | 開放世界提示:❌