อุปกรณ์ที่จัดการโดย DPC ที่กำหนดเองอยู่แล้วสามารถย้ายข้อมูลไปยังอุปกรณ์ Android ได้ นโยบาย (ADP) และใช้ประโยชน์จาก Android Management API
ข้อกำหนดเบื้องต้น
- EMM จัดการอุปกรณ์ด้วย DPC ที่กำหนดเองอยู่แล้ว
- DPC ที่กำหนดเองจะผสานรวมกับ AMAPI SDK
- อุปกรณ์ลงทะเบียนด้วย Google Play EMM API
- อุปกรณ์เป็นของกลุ่มบัญชี Managed Google Play สำหรับองค์กร
- อุปกรณ์ใช้ Android 9 ขึ้นไป
- ในกรณีที่ใช้โปรไฟล์งานในอุปกรณ์ของบริษัท อุปกรณ์จะต้องทำงาน Android 11 ขึ้นไป
ผสานรวมกับ AMAPI SDK ใน DPC ที่กำหนดเอง
กระบวนการย้ายข้อมูลต้องใช้แอปพลิเคชัน DPC ที่กำหนดเองเพื่อผสานรวม AMAPI SDK คุณดูข้อมูลเพิ่มเติมเกี่ยวกับคลังนี้และวิธีเพิ่มคลังได้ ในแอปพลิเคชันได้ในคู่มือการผสานรวม AMAPI SDK
ขั้นตอนการย้ายข้อมูลอุปกรณ์
- ตั้งนโยบายที่อุปกรณ์จะใช้หลังจากย้ายข้อมูลแล้ว กับ AMAPI เพื่อให้ผู้ใช้ได้รับประสบการณ์ที่ดีที่สุด นโยบายนี้ควรเทียบเท่ากับนโยบาย DPC ของคุณบังคับใช้ในอุปกรณ์อยู่แล้ว
- สร้างโทเค็นการย้ายข้อมูลสำหรับอุปกรณ์โดยการเรียกใช้
enterprises.migrationTokens.create
- ส่ง
value
ของโทเค็นการย้ายข้อมูลนี้ให้ DPC ที่กำหนดเอง - ตรวจสอบว่าได้ติดตั้ง Android Device Policy ในอุปกรณ์แล้วโดยใช้ Play EMM API
- ใช้
DpcMigrationClientFactory
เพื่อสร้างDpcMigrationClient
- ใน
DpcMigrationClient
ให้เรียกmigrateDeviceManagementToAndroidManagementApi
การดำเนินการนี้จะทำให้การย้ายข้อมูลเสร็จสมบูรณ์ 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
หากมีเครือข่าย Wi-Fi ที่จัดการโดย DPC ที่กำหนดเอง นโยบาย AMAPI ONC ควรตรงกับการกำหนดค่าของเครือข่ายเหล่านี้เพื่อให้ AMAPI เริ่มจัดการ อย่างราบรื่น การโต้ตอบของการย้ายข้อมูล DPC กับการจัดการ Wi-Fi จะแตกต่างกันไป โดยขึ้นอยู่กับโหมดการจัดการ
อุปกรณ์ที่มีการจัดการเต็มรูปแบบและโปรไฟล์งานในอุปกรณ์ของบริษัท
ในระหว่างการย้ายข้อมูล Android Device Policy จะถือว่าเครือข่าย Wi-Fi ใดก็ตาม กำหนดค่าไว้ในนโยบายโดยมี SSID และประเภทการรักษาความปลอดภัยที่เหมือนกัน เครือข่าย Wi-Fi ที่กำหนดค่าไว้ในอุปกรณ์เหมือนกับเครือข่ายที่ตรงกันที่กำหนดค่าไว้ เครือข่าย Wi-Fi ดังนั้น เครือข่าย Wi-Fi ที่กำหนดค่าโดย DPC ที่กำหนดเองจะไม่ได้รับผลกระทบ หลังจากการย้ายข้อมูล จนกว่าจะมีการเปลี่ยนแปลงนโยบาย ONC ที่สอดคล้องกับ เครือข่าย แต่ถ้าถอนการติดตั้ง DPC ที่กำหนดเองหลังจากการย้ายข้อมูล ระบบจะดำเนินการ เครือข่าย Wi-Fi ที่กำหนดค่าโดย DPC ที่กำหนดเองจะถูกนำออกโดยอัตโนมัติ Android Device Policy จะยังคงบังคับใช้นโยบายต่อไป และหากมีเครือข่ายเหล่านี้ มีการกำหนดค่าในนโยบาย เครือข่ายตามที่กำหนดค่าไว้ในนโยบายจะถูกเพิ่มเป็น ตามปกติ
โปรไฟล์งานในอุปกรณ์ส่วนตัว
ด้วยเหตุผลทางเทคนิค เครือข่าย Wi-Fi ที่กำหนดค่าโดย DPC ที่กำหนดเองจะต้อง
นำออกโดย DPC ที่กำหนดเองสำหรับ Android Device Policy เพื่อเริ่มจัดการฟีเจอร์เหล่านี้
เครือข่าย Wi-Fi AMAPI SDK จะดูแลเรื่องนี้และนำเครือข่าย Wi-Fi ดังกล่าวออก
ก่อนโอนการเป็นเจ้าของจาก DPC ที่กำหนดเองไปยัง Android Device Policy
แต่จำเป็นต้องใช้ DPC ที่กำหนดเองเพื่อส่งข้อมูลเกี่ยวกับเครือข่ายเหล่านี้ใน
DpcMigrationRequest
หลังจากย้ายข้อมูล เครือข่าย
ที่กำหนดค่าในนโยบายจะเพิ่มตามปกติ เราจึงขอแนะนำให้
คุณควรกำหนดค่าเครือข่ายที่ DPC ที่กำหนดเองเพิ่มเข้ามาในนโยบายด้วย
มีบางเรื่องที่คุณควรทราบ:
- หากเครือข่ายที่ใช้งานอยู่เป็นเครือข่าย Wi-Fi ที่กำหนดค่าโดย DPC ที่กำหนดเอง อุปกรณ์ อาจออฟไลน์เป็นเวลาสั้นๆ ระหว่างการย้ายข้อมูล
- เฉพาะเครือข่าย Wi-Fi ที่กำหนดค่าโดย DPC ที่กำหนดเองเท่านั้นที่ควรส่งใน
DpcMigrationRequest
มิฉะนั้นการย้ายข้อมูลจะล้มเหลวหาก AMAPI SDK ไม่สามารถนำเครือข่ายออกได้ (เช่น เครือข่าย Wi-Fi ที่ผู้ใช้เพิ่ม) - ควรส่งเครือข่าย Wi-Fi ใน
DpcMigrationRequest
เฉพาะเมื่อ DPC ที่กำหนดเอง เจ้าของโปรไฟล์ในอุปกรณ์ส่วนตัว ไม่เช่นนั้นการย้ายข้อมูลจะไม่สำเร็จ - ด้วยเหตุผลทางเทคนิค Android 12 เป็นกรณีที่ยอดเยี่ยมที่เครือข่ายต่างๆ
ระบบจะไม่สนใจที่ส่งผ่านใน
DpcMigrationRequest
และ Wi-Fi ทั้งหมด เครือข่ายที่กำหนดค่าไว้โดย DPC ที่กำหนดเองจะถูกนำออกโดยอัตโนมัติ นอกจากนั้น เป็นข้อกำหนดสำหรับ DPC ที่กำหนดเองต้องมีACCESS_WIFI_STATE
สิทธิ์ใน Android 12 สำหรับโปรไฟล์งานในอุปกรณ์ส่วนตัว ไม่เช่นนั้น การย้ายข้อมูลจะไม่สำเร็จ
คำเตือน
ข้อควรระวังบางประการเกี่ยวกับฟีเจอร์นี้มีดังนี้
รหัสเฉพาะองค์กร
สำหรับโปรไฟล์งานใน Android 12 ขึ้นไป ระบบจะใช้รหัสเฉพาะองค์กร
ซึ่งเข้าถึงได้จาก DevicePolicyManager.getEnrollmentSpecificId
ไม่เปลี่ยนแปลงขณะย้ายข้อมูล อย่างไรก็ตาม หากโปรไฟล์งาน
ระบบจะสร้างอุปกรณ์ที่จัดการโดย Android Device Policy อีกครั้ง (ตัวอย่างเช่น
หลังจากลบอุปกรณ์ก่อนหน้าหรือหลังจากรีเซ็ตอุปกรณ์เป็นค่าเริ่มต้น)
รหัสเฉพาะองค์กรจะเปลี่ยนไป
โปรไฟล์งานในอุปกรณ์ที่มีการจัดการเต็มรูปแบบ
อุปกรณ์ที่มีการจัดการครบวงจรซึ่งมีงานไม่รองรับฟีเจอร์นี้ ที่ใช้ Android 9 หรือ 10 ต้องไม่พยายามย้ายข้อมูลอุปกรณ์เหล่านี้ และไม่ว่าจะมีข้อผิดพลาดเกิดขึ้นหรือไม่ก็ตาม จะไม่รองรับอุปกรณ์ดังกล่าว สำหรับการย้ายข้อมูล DPC