將現有裝置遷移至 AMAPI

由自訂 DPC 所管理的裝置可以遷移至 Android 裝置 政策 (ADP),並利用 Android Management API。

必要條件

  • 該裝置已由您的 EMM 管理,含有自訂 DPC。
  • 您的自訂 DPC 已經整合 AMAPI SDK
  • 裝置已註冊 Google Play EMM API
  • 裝置屬於 Google Play 管理版帳戶企業
  • 裝置搭載 Android 9 以上版本。
  • 如果是公司裝置上的工作資料夾,則必須在裝置上執行 Android 11 以上版本。

在自訂 DPC 中與 AMAPI SDK 整合

遷移程序需要自訂的 DPC 應用程式,以整合 AMAPI SDK你可以進一步瞭解這個程式庫及其新增方式 AMAPI SDK 整合指南中所述的應用程式至應用程式。

裝置遷移步驟

  1. 設定裝置在遷移後要使用的政策 至 AMAPI為提供最佳使用者體驗,這項政策應與政策相同 已對裝置強制執行 Chrome 政策
  2. 呼叫以下方法,為裝置建立遷移權杖 enterprises.migrationTokens.create
  3. 將這個遷移權杖的 value 傳送至 或是共用 DPC
  4. 使用以下方式,確保裝置已安裝 Android Device Policy: Play EMM API
  5. 使用 DpcMigrationClientFactory建立 DpcMigrationClient
  6. DpcMigrationClient 上,呼叫 migrateDeviceManagementToAndroidManagementApi 方法。 遷移完畢。
  7. deviceState 會變更為 ACTIVE,您會收到 STATUS_REPORT 訊息,並透過 Pub/Sub 管道傳送。

遷移完成後,呼叫應用程式就會失去裝置擁有者或設定檔 擁有者權限,因為這些權限會轉移至 Android Device Policy。

注意:裝置必須連上網際網路才能開始遷移。 這項程序的設計可恢復運作期間的網路中斷 確保需要網路連線的金鑰作業 轉移完成後,再實際轉移裝置擁有者或設定檔擁有者權限 從您的 DPC 到 Android Device Policy。

遷移權杖

EMM 伺服器會要求遷移權杖,表明想 遷移由自訂 DPC 管理的特定裝置。 您可在遷移作業順利完成前使用遷移權杖,或是 直到到期為止

自訂裝置政策控制器 (DPC) 整合

首先,您必須建立 DpcMigrationRequest,傳遞 並視需求列出已設定的 Wi-Fi 網路清單 建構工具:

// Create a DpcMigrationRequest
DpcMigrationRequest request =
        DpcMigrationRequest.builder()
            .setMigrationToken(token)
            .build();

這樣您就可以使用 DpcMigrationClient,並啟動 遷移程序 migrateDeviceManagementToAndroidManagementApi:

// Create a DpcMigrationClient
DpcMigrationClient dpcMigrationClient = DpcMigrationClientFactory.create(context);
try {
  // Use helper function to retrieve Admin component name
  var adminComponentName = getAdminComponent(context);

  ListenableFuture<DpcMigrationAttempt> futureAttempt =
          dpcMigrationClient.migrateDeviceManagementToAndroidManagementApi(
              new ComponentName(context, DpcMigrationNotificationReceiver.class),
              adminComponentName,
              request);
  // handle futureAttempt
} catch (RuntimeException e) {
  // send failure feedback: "Error: " + e
}

追蹤遷移進度

裝置上的遷移程序是透過 DpcMigrationAttempt

您可以直接使用 migrateDeviceManagementToAndroidManagementApi 或使用 getMigrationAttempt。 和 listMigrationAttempts 方法,讓 並列出遷移嘗試

// Passing an empty name, we retrieve the last attempt 
var request = GetDpcMigrationAttemptRequest.builder().build();

var attempt = client.getMigrationAttempt(request);

您可以選擇使用以下程式碼設定 DpcMigrationListener: 你的NotificationReceiverService,正在聆聽 DpcMigrationAttempt 的狀態更新。

// DpcMigrationNotificationReceiver for callback handling
public class DpcMigrationNotificationReceiver extends NotificationReceiverService
    implements DpcMigrationListener {

  @Override
  protected DpcMigrationListener getDpcMigrationListener() {
    // getDpcMigrationListener"
    return this;
  }

  @Override
  public void onMigrationStateChanged(DpcMigrationAttempt migrationAttempt) {
    // send success feedback
  }
}

處理 Wi-Fi 網路

如果擁有由自訂 DPC 管理的 Wi-Fi 網路,請參閱 AMAPI ONC 政策 必須符合這些網路的設定,以便 AMAPI 管理這些網路 DPC 遷移與 Wi-Fi 管理的方式不同 則會因管理模式而異

公司擁有裝置上的全代管裝置和工作資料夾

在遷移期間,Android Device Policy 會假設所有 Wi-Fi 網路 政策中設定的 SSID 和安全性類型 裝置上設定的 Wi-Fi 網路與已設定的 Wi-Fi 網路相同 Wi-Fi 網路。因此,自訂 DPC 設定的 Wi-Fi 網路不會受到影響 調整後,與 ONC 政策相應的 更是如此不過,若自訂 DPC 在遷移後解除安裝,則 系統會自動移除自訂 DPC 設定的 Wi-Fi 網路。 Android Device Policy 會持續強制執行政策,並控管其中任一網路 系統會將政策中設定的網路新增為 正常工作。

個人裝置上的工作資料夾

基於技術原因,自訂裝置政策控制器設定的 Wi-Fi 網路必須 已由 Android Device Policy 自訂的 DPC 移除以開始管理這些 Wi-Fi 網路。AMAPI SDK 會處理這項問題,並移除這類 Wi-Fi 網路 ,再將擁有權從自訂的裝置政策控制器 (DPC) 轉移至 Android Device Policy 但您需要自訂的 DPC 才能將這些網路的相關資訊 DpcMigrationRequest。遷移完成後 系統會正常新增政策中設定的值,因此建議您 由自訂 DPC 新增的網路也應在政策中設定。

請注意以下幾點:

  • 如果使用中的網路是自訂 DPC 設定的 Wi-Fi 網路,則裝置 在遷移期間可能會暫時處於離線狀態
  • 只能傳入由自訂 DPC 設定的 Wi-Fi 網路 DpcMigrationRequest,否則遷移作業失敗, AMAPI SDK 無法移除網路 (例如使用者新增了 Wi-Fi 網路)。
  • 應傳入 Wi-Fi 網路 DpcMigrationRequest 只有在自訂 DPC 為 設定檔擁有者轉移到個人裝置,否則遷移失敗。
  • 基於技術因素,Android 12 屬於例外情況,也就是 系統會忽略傳入 DpcMigrationRequest 的所有 Wi-Fi 網路 系統會自動移除由自訂 DPC 設定的網路。另外 自訂裝置政策控制器 (DPC) 必須採用 ACCESS_WIFI_STATE 在 Android 12 上授予個人裝置上的工作資料夾權限 否則遷移作業就會失敗

注意事項

以下是與這項功能相關的注意事項。

企業專屬 ID

如果是搭載 Android 12 以上版本的工作資料夾,請提供企業專屬 ID, 網址為 DevicePolicyManager.getEnrollmentSpecificId 遷移期間不會有任何改變。不過,如果工作資料夾 系統會在裝置上再次建立由 Android Device Policy 所管理 (例如 刪除舊裝置後或將裝置恢復原廠設定後, 企業專屬 ID 則會在變更後變更。

完全受管理裝置上的工作資料夾

這項功能不支援全代管裝置,且只具備安全功能 搭載 Android 9 或 10 的設定檔請勿嘗試遷移這些裝置 請注意,無論錯誤是否引發錯誤 遷移至 DPC 遷移作業