สร้างเครื่องมือควบคุมนโยบายด้านอุปกรณ์

คำแนะนำนี้จะอธิบายวิธีพัฒนาเครื่องมือควบคุมนโยบายด้านอุปกรณ์ (DPC) สำหรับ อุปกรณ์ใน Android Enterprise ใช้งานได้ แอป DPC (ชื่อเดิมคือแอป DPC) เป็นเครื่องมือควบคุมนโยบายที่ทำงาน รวมถึงควบคุมนโยบายและอุปกรณ์ภายใน แอปพลิเคชันต่างๆ บนอุปกรณ์ได้

เกี่ยวกับ DPC

ในการทำให้ Android ใช้งานได้ องค์กรจะต้องรักษาการควบคุม ลักษณะต่างๆ ของอุปกรณ์ของผู้ใช้ เช่น การแยกส่วนที่เกี่ยวข้องกับงาน ข้อมูลจากผู้ใช้ ข้อมูลส่วนตัว, การกำหนดค่าแอปที่ได้รับอนุมัติล่วงหน้าสำหรับ สภาพแวดล้อม หรือปิดใช้งานความสามารถของอุปกรณ์ (เช่น กล้อง)

ในฐานะ EMM คุณพัฒนาแอป DPC ที่ลูกค้าใช้งานได้ใน ร่วมกับคอนโซล EMM ของคุณและ เซิร์ฟเวอร์ ลูกค้าของคุณทำให้ DPC ใช้งานได้ในอุปกรณ์ของผู้ใช้ที่ตนจัดการ DPC จะทำหน้าที่เป็นสะพานเชื่อมระหว่างคอนโซล EMM (และเซิร์ฟเวอร์) ของคุณกับอุปกรณ์ ผู้ดูแลระบบใช้คอนโซล EMM เพื่อทำงานต่างๆ ซึ่งรวมถึง การกำหนดค่าอุปกรณ์และแอป

DPC จะสร้างและจัดการโปรไฟล์งานในอุปกรณ์ที่ติดตั้งโปรไฟล์ดังกล่าว โปรไฟล์งานจะเข้ารหัสข้อมูลที่เกี่ยวข้องกับงานและแยกออกจาก ผู้ใช้ แอปและข้อมูลส่วนตัว ก่อนที่จะสร้างโปรไฟล์งาน DPC ยังสามารถ การจัดสรรบัญชี Managed Google Play สำหรับใช้ในอุปกรณ์

คู่มือนี้แสดงวิธีพัฒนา DPC ที่สามารถสร้างและจัดการโปรไฟล์งาน

ไลบรารีการสนับสนุน DPC สำหรับ EMM

ไลบรารีการสนับสนุน DPC สำหรับ EMM ประกอบด้วยคลาสยูทิลิตีและตัวช่วยที่ ช่วยอำนวยความสะดวกในการจัดสรรและการจัดการอุปกรณ์ Android ในองค์กร ของคุณ ไลบรารีทำให้คุณสามารถใช้ประโยชน์จาก คุณลักษณะที่สำคัญใน แอป DPC:

  • การสนับสนุนการจัดสรรบัญชี Managed Google Play: การจัดสรร ได้รับการจัดการ บัญชี Google Play จากแอป DPC กำหนดให้ Google Play และ Google แอปบริการ Google Play เป็นไปตามข้อกำหนดขั้นต่ำของเวอร์ชัน แต่การอัปเดต URL เหล่านี้ เป็นเรื่องซับซ้อน ไลบรารีการสนับสนุนของ DPC จะดำเนินการอัปเดต และรับรองความสามารถในการใช้งานร่วมกันกับการอัปเดต Google ที่มีการจัดการในอนาคต ขั้นตอนการจัดสรรบัญชี Play ดูบัญชี Managed Google Play การจัดสรรการสนับสนุนเพื่อดูรายละเอียด
  • การรองรับการกำหนดค่าที่มีการจัดการมีดังนี้ การใช้ Play EMM API เพื่อจัดการการกำหนดค่าที่มีการจัดการสำหรับแอปที่ได้รับอนุมัติคือการดำเนินการต่อไปนี้ วิธีที่ง่ายที่สุดในการนำการกำหนดค่าที่มีการจัดการไปใช้ใน DPC ทีมสนับสนุนของ DPC คลังช่วยให้คุณสามารถมอบสิทธิ์ให้กับ Google Play สำหรับงานที่ใช้การจัดการ การกำหนดค่า (ก่อนหน้านี้เรียกว่าการจำกัดแอป) ตามที่ผู้ดูแลระบบตั้งไว้โดยใช้ EMM คอนโซลผู้ดูแลระบบ การใช้ Play EMM API เพื่อจัดการการกำหนดค่าที่มีการจัดการจะทำให้ การกำหนดค่าแอปให้เป็นแบบอะตอมระหว่างการติดตั้ง โปรดดู ใช้การกำหนดค่าที่มีการจัดการ เพื่อใช้แอปทำงาน สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีเปิดใช้ความสามารถนี้ใน DPC

ทำตามขั้นตอนด้านล่างเพื่อดาวน์โหลดไลบรารี งานที่มีรายละเอียดในคู่มือนี้ ให้ถือว่าใช้ไลบรารีการสนับสนุน DPC

ดาวน์โหลดไลบรารีการสนับสนุนของ DPC

หากต้องการใช้ไลบรารีการสนับสนุน DPC ให้ดาวน์โหลดไลบรารีจากชุมชนผู้ให้บริการ EMM ของ Android Enterprise คุณต้องเพิ่มไลบรารีลงในไฟล์build.gradle ของคุณและดำเนินการ ทรัพยากร Dependency เมื่อสร้างแอป DPC ตัวอย่างเช่น ไลบรารีต้องใช้ 11.4.0 ไลบรารีของไคลเอ็นต์การตรวจสอบสิทธิ์บริการ Google Play

  1. เพิ่มไลบรารีลงในไฟล์ build.gradle:

    ดึงดูด

    implementation(name:'dpcsupport-yyyymmdd', ext:'aar')
    

    Kotlin

    implementation(name = "dpcsupport-yyyymmdd", ext = "aar")
    
  2. เพิ่ม 11.4.0 ไลบรารีของไคลเอ็นต์การตรวจสอบสิทธิ์ของบริการ Google Play ไปยังไฟล์build.gradle:

    ดึงดูด

    implementation 'com.google.android.gms:play-services-auth:11.4.0'
    

    Kotlin

    implementation("com.google.android.gms:play-services-auth:11.4.0")
    

ไลบรารีต้องการสิทธิ์บางอย่างในการเรียกใช้ คุณจึงต้องเพิ่มการอนุญาตเหล่านี้ลงใน ไฟล์ Manifest ของแอป DPC เมื่อคุณอัปโหลดไปยัง Google Play

  <uses-permission android:name=
      "android.permission.DOWNLOAD_WITHOUT_NOTIFICATION"/>
  <uses-permission android:name=
      "android.permission.GET_ACCOUNTS"/>
  <uses-permission android:name=
      "android.permission.MANAGE_ACCOUNTS"/>
  <uses-permission android:name=
      "android.permission.WRITE_SYNC_SETTINGS"/>
  <uses-permission android:name=
      "com.google.android.providers.gsf.permission.READ_GSERVICES"/>

นอกจากขั้นตอนการตั้งค่าและการติดตั้งใช้งานขั้นต้นเหล่านี้แล้ว คุณต้อง เริ่มต้นฟังก์ชันการทำงานของไลบรารีที่ต้องการในโค้ด DPC ความสามารถที่ต้องการนำไปใช้ได้ รายละเอียดจะรวมอยู่ใน ด้านล่าง

สร้าง DPC

สร้าง DPC บนโมเดลที่มีอยู่สำหรับแอปพลิเคชันการดูแลระบบอุปกรณ์ กล่าวโดยละเอียดคือ แอปของคุณต้องมีคลาสย่อย DeviceAdminReceiver (คลาสจาก android.app.admin ) ตามที่อธิบายไว้ใน การดูแลระบบอุปกรณ์

สร้างโปรไฟล์งาน

โปรดดูตัวอย่างที่แสดงวิธีการสร้างโปรไฟล์งานพื้นฐาน BasicManagedProfile ใน GitHub

หากต้องการสร้างโปรไฟล์งานในอุปกรณ์ที่มีโปรไฟล์ส่วนตัวอยู่แล้ว ก่อนอื่นให้ดูว่าอุปกรณ์รองรับโปรไฟล์งานหรือไม่ โดยตรวจสอบ การมีอยู่ของ ฟีเจอร์ของระบบ FEATURE_MANAGED_USERS:

Kotlin

if (!packageManager.hasSystemFeature(PackageManager.FEATURE_MANAGED_USERS)) {
    // This device does not support work profiles!
}

Java

PackageManager pm = getPackageManager();
if (!pm.hasSystemFeature(PackageManager.FEATURE_MANAGED_USERS)) {
    // This device does not support work profiles!
}

หากอุปกรณ์รองรับโปรไฟล์งาน ให้สร้างโปรไฟล์งานโดยการส่ง Intent กับ ACTION_PROVISION_MANAGED_PROFILE การดำเนินการ (ในเอกสารประกอบบางอย่าง โปรไฟล์ที่มีการจัดการเป็น คำทั่วไปที่หมายถึงสิ่งเดียวกับโปรไฟล์งาน สำหรับ Android ในองค์กร) ระบุชื่อแพ็กเกจผู้ดูแลอุปกรณ์ เป็นสิทธิพิเศษเพิ่มเติม:

Kotlin

val provisioningActivity = getActivity()

// You'll need the package name for the DPC app.
val myDPCPackageName = "com.example.myDPCApp"

// Set up the provisioning intent
val adminComponent = ComponentName(provisioningActivity.applicationContext, MyAdminReceiver::class.java)
provisioningIntent.putExtra(EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME, adminComponent.flattenToString())
if (provisioningIntent.resolveActivity(provisioningActivity.packageManager) == null) {
    // No handler for intent! Can't provision this device.
    // Show an error message and cancel.
} else {
    // REQUEST_PROVISION_MANAGED_PROFILE is defined
    // to be a suitable request code
    startActivityForResult(provisioningIntent,
            REQUEST_PROVISION_MANAGED_PROFILE)
    provisioningActivity.finish()
}

Java

Activity provisioningActivity = getActivity();
// You'll need the package name for the DPC app.
String myDPCPackageName = "com.example.myDPCApp";
// Set up the provisioning intent
Intent provisioningIntent =
        new Intent("android.app.action.PROVISION_MANAGED_PROFILE");
ComponentName adminComponent = new ComponentName(provisioningActivity.getApplicationContext(), MyAdminReceiver.class);
provisioningIntent.putExtra(EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME, adminComponent.flattenToString());
if (provisioningIntent.resolveActivity(provisioningActivity.getPackageManager())
         == null) {
    // No handler for intent! Can't provision this device.
    // Show an error message and cancel.
} else {
    // REQUEST_PROVISION_MANAGED_PROFILE is defined
    // to be a suitable request code
    startActivityForResult(provisioningIntent,
            REQUEST_PROVISION_MANAGED_PROFILE);
    provisioningActivity.finish();
}

ระบบจะตอบสนองต่อความตั้งใจนี้โดยทำสิ่งต่อไปนี้

  • ยืนยันว่าอุปกรณ์มีการเข้ารหัส หากไม่ใช่ จะมีข้อความแจ้งของระบบ ให้ผู้ใช้เข้ารหัสอุปกรณ์ก่อนดำเนินการต่อ
  • สร้างโปรไฟล์งาน
  • นำแอปพลิเคชันที่ไม่จำเป็นออกจากโปรไฟล์งาน
  • คัดลอกแอป DPC ลงในโปรไฟล์งานและตั้ง DPC เป็น เจ้าของโปรไฟล์

ลบล้าง onActivityResult() เพื่อ ดูว่าการจัดสรรสำเร็จหรือไม่

Kotlin

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent) {
    // Check if this is the result of the provisioning activity
    if (requestCode == REQUEST_PROVISION_MANAGED_PROFILE) {
        // If provisioning was successful, the result code is
        // Activity.RESULT_OK
        if (resultCode == Activity.RESULT_OK) {
            // Work profile created and provisioned.
        } else {
            // Provisioning failed.
        }
        return
    } else {
        // This is the result of some other activity. Call the superclass.
        super.onActivityResult(requestCode, resultCode, data)
    }
}

Java

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    // Check if this is the result of the provisioning activity
    if (requestCode == REQUEST_PROVISION_MANAGED_PROFILE) {
        // If provisioning was successful, the result code is
        // Activity.RESULT_OK
        if (resultCode == Activity.RESULT_OK) {
            // Work profile created and provisioned.
        } else {
            // Provisioning failed.
        }
        return;
    } else {
        // This is the result of some other activity. Call the superclass.
        super.onActivityResult(requestCode, resultCode, data);
    }
}

เปิดใช้โปรไฟล์งานให้เสร็จสิ้น

เมื่อจัดสรรโปรไฟล์แล้ว ระบบจะเรียกใช้ DPC เมธอด DeviceAdminReceiver.onProfileProvisioningComplete() ของแอป ลบล้าง วิธีติดต่อกลับนี้เพื่อเปิดใช้โปรไฟล์งานให้เสร็จสิ้น

DeviceAdminReceiver.onProfileProvisioningComplete() ปกติ การใช้งาน Callback จะส่งผลดังต่อไปนี้

เปิดใช้งานโปรไฟล์งาน

เมื่อคุณทำงานเหล่านี้เสร็จแล้ว ให้โทรหาหมายเลขของผู้จัดการนโยบายด้านอุปกรณ์ setProfileEnabled() วิธีเปิดใช้งานโปรไฟล์งาน:

Kotlin

// Get the device policy manager
val myDevicePolicyMgr = getSystemService(Context.DEVICE_POLICY_SERVICE) as DevicePolicyManager
val componentName = myDeviceAdminReceiver.getComponentName(this)
// Set the name for the newly created work profile.
myDevicePolicyMgr.setProfileName(componentName, "My New Work Profile")
// ...and enable the profile
myDevicePolicyMgr.setProfileEnabled(componentName)

Java

// Get the device policy manager
DevicePolicyManager myDevicePolicyMgr =
        (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
ComponentName componentName = myDeviceAdminReceiver.getComponentName(this);
// Set the name for the newly created work profile.
myDevicePolicyMgr.setProfileName(componentName, "My New Work Profile");
// ...and enable the profile
myDevicePolicyMgr.setProfileEnabled(componentName);

ตั้งค่านโยบายอุปกรณ์

แอป DPC จะใช้นโยบายด้านอุปกรณ์ตามที่ผู้ดูแลระบบกำหนดไว้เพื่อให้เป็นไปตาม ข้อกำหนดและข้อจำกัดขององค์กร ตัวอย่างเช่น นโยบายความปลอดภัยอาจ กำหนดให้อุปกรณ์ล็อกหลังจากป้อนรหัสผ่านผิดเป็นจำนวนครั้งที่กำหนด DPC จะค้นหานโยบายปัจจุบันจากคอนโซล EMM จากนั้นจึงใช้นโยบายนั้น โดยใช้อุปกรณ์ API การดูแลระบบ

โปรดดูข้อมูลเกี่ยวกับวิธีใช้นโยบายด้านอุปกรณ์ได้ที่ นโยบาย

ใช้การกำหนดค่าที่มีการจัดการ ไปยังแอปงาน

การกำหนดค่าที่มีการจัดการทำให้คุณทำให้ลูกค้าสามารถ กำหนดค่าแอปที่ผู้ใช้อนุมัติไว้สำหรับการติดตั้งใช้งานล่วงหน้า และอัปเดตแอปเหล่านั้น ได้ง่ายๆ เมื่อจำเป็นต้องเปลี่ยนการกำหนดค่า การกำหนดค่าแอปก่อน การติดตั้งใช้งานช่วยให้มั่นใจได้ว่าการรักษาความปลอดภัยและนโยบายอื่นๆ ขององค์กรเป็นไปตามข้อกำหนด เมื่อติดตั้งแอปบนอุปกรณ์เป้าหมาย

ความสามารถของแอปจะกำหนดโดยนักพัฒนาแอปในสคีมา XML ( สคีมาการกำหนดค่าที่มีการจัดการ) ที่มาพร้อมกับแอปเมื่ออัปโหลดไปยัง Google Play (นักพัฒนาแอปโปรดดูรายละเอียดที่หัวข้อตั้งค่าการกำหนดค่าที่มีการจัดการ)

คุณดึงสคีมานี้จากแอปเพื่อแสดงให้ผู้ดูแลระบบของลูกค้าเห็น ในคอนโซล EMM ให้ระบุ UI ที่มีตัวเลือกต่างๆ ที่ระบุใน แสดงสคีมา และเปิดให้ผู้ดูแลระบบกำหนดการตั้งค่าของแอปล่วงหน้าได้ โดยทั่วไป การกำหนดค่าที่มีการจัดการซึ่งผู้ดูแลระบบตั้งไว้จะเป็น ที่เก็บไว้บนเซิร์ฟเวอร์ EMM ซึ่งจะใช้ Play EMM API ที่จะตั้งค่า การกำหนดค่าที่มีการจัดการสำหรับอุปกรณ์ หรือ Managedconfigurationsforuser โปรดดู การกำหนดค่าที่มีการจัดการ ผ่าน Play เพื่อดูรายละเอียด

คุณใช้การกำหนดค่าที่มีการจัดการกับแอปได้โดยใช้ Play EMM API (วิธีการที่แนะนำ) หรือจาก DPC โดยตรง (ตามที่อธิบายไว้ในใช้การกำหนดค่าที่มีการจัดการ จาก DPC โดยตรง) ใช้ Play EMM API มีข้อดีหลายอย่าง รวมถึงการติดตั้งที่ง่ายดายเพราะคุณสามารถใช้ ไลบรารีการสนับสนุนของ DPC เพื่อทำให้งานของ DPC ง่ายขึ้น นอกจากนี้ Play EMM API ยังทำสิ่งต่อไปนี้ได้ด้วย

  • กำหนดค่าโดยอัตโนมัติเมื่อมีการติดตั้งแอปใหม่ เพื่อให้มั่นใจว่าแอปจะพร้อมใช้งานในครั้งแรกที่ผู้ใช้เปิดแอป
  • ช่วยให้คุณจัดการการกำหนดค่าสำหรับผู้ใช้แต่ละราย คุณจึงหลีกเลี่ยงการตรวจสอบการจัดสรรตามอุปกรณ์ได้

ใช้การกำหนดค่าที่มีการจัดการโดยใช้ API ของ Play EMM

หากต้องการใช้ Play EMM API สำหรับการกำหนดค่าที่มีการจัดการ DPC จะต้องอนุญาต Google Play เพื่อตั้งการกำหนดค่า DPC Support Library ดูแลเรื่องนี้ งานให้คุณโดยการพร็อกซีการกำหนดค่าที่ Google Play ส่งมา

วิธีใช้ Play EMM API โปรดดาวน์โหลดไลบรารีการสนับสนุน DPC จากนั้นเปิดใช้การสนับสนุนการกำหนดค่าที่มีการจัดการใน DPC

เปิดใช้การรองรับการกำหนดค่าที่มีการจัดการใน DPC ของคุณ

นำเข้าชั้นเรียนนี้ไปยัง DPC

com.google.android.apps.work.dpcsupport.ManagedConfigurationsSupport

เริ่มต้นไลบรารีการกำหนดค่าที่มีการจัดการ ในตัวอย่างนี้คือ "ผู้ดูแลระบบ" เท่ากับ ComponentName ของ DeviceAdminReceiver

Kotlin

var managedConfigurationsSupport = ManagedConfigurationsSupport(context, admin)

Java

ManagedConfigurationsSupport managedConfigurationsSupport =
    new ManagedConfigurationsSupport(context, admin);

เปิดใช้งานการกำหนดค่าที่มีการจัดการ:

Kotlin

managedConfigurationsSupport.enableManagedConfigurations()

Java

managedConfigurationsSupport.enableManagedConfigurations();

เมื่อไลบรารีนี้เริ่มต้นใน DPC คุณสามารถใช้ Google Play EMM API ใน EMM ของคุณ คอนโซลและเซิร์ฟเวอร์ที่จะใช้การกำหนดค่าที่มีการจัดการกับแอปที่อนุมัติ แทนการใช้ เขียนโค้ดงานเหล่านี้ได้โดยตรงใน DPC โปรดดู การกำหนดค่าที่มีการจัดการผ่าน Play

ใช้การกำหนดค่าที่มีการจัดการ จาก DPC โดยตรง

หากต้องการเปลี่ยนการตั้งค่ากำหนดของแอปจาก DPC โดยตรง ให้เรียกใช้ เมธอด DevicePolicyManager.setApplicationRestrictions() และบัตร พารามิเตอร์สำหรับแอป DPC DeviceAdminReceiver ชื่อแพ็กเกจของแอปเป้าหมาย และ Bundle ประกอบด้วย การกำหนดค่าที่มีการจัดการของแอปตามที่ผู้ดูแลระบบกำหนด โปรดดู ประสิทธิภาพ DPC และคอนโซล EMM จะทำงานร่วมกันและตั้งค่าการกำหนดค่าที่มีการจัดการเพื่อดูรายละเอียด อย่างไรก็ตาม โปรดทราบว่าวิธีการทางเลือกนี้ในการนำการจัดการ เราไม่แนะนำให้ใช้การกำหนดค่าในการติดตั้งใช้งานบัญชี Managed Google Play

การจัดสรรบัญชี Managed Google Play การสนับสนุน

ไลบรารีการสนับสนุนของ DPC รวมถึงการสนับสนุน สำหรับการจัดสรร บัญชี Managed Google Play หากต้องการใช้การสนับสนุนนี้ ขั้นแรกคุณต้องเริ่มต้น ทำให้คุณสามารถตรวจสอบ สภาพแวดล้อมในการทำงาน และเพิ่ม บัญชี Managed Google Play

เริ่มต้นบัญชี Managed Google Play การสนับสนุนใน DPC

นำเข้าชั้นเรียนนี้ไปยัง DPC

com.google.android.apps.work.dpcsupport.AndroidForWorkAccountSupport

เริ่มต้นไลบรารีความเข้ากันได้การจัดสรร ในตัวอย่างนี้ “ผู้ดูแลระบบ” คือ ComponentName ของ DeviceAdminReceiver

Kotlin

var androidForWorkAccountSupport = AndroidForWorkAccountSupport(context, admin)

Java

AndroidForWorkAccountSupport androidForWorkAccountSupport =
    new AndroidForWorkAccountSupport(context, admin);

ตรวจสอบสภาพแวดล้อมในการทำงานสำหรับ บัญชี Managed Google Play

หลังจาก DPC จัดสรรอุปกรณ์ในโหมดเจ้าของโปรไฟล์ (ACTION_PROVISION_MANAGED_PROFILE) หรืออุปกรณ์ โหมดเจ้าของ (ACTION_PROVISION_MANAGED_DEVICE) โปรดตรวจสอบว่าอุปกรณ์รองรับบัญชี Managed Google Play ได้โดยการโทรหา

Kotlin

androidForWorkAccountSupport.ensureWorkingEnvironment(callback)

Java

androidForWorkAccountSupport.ensureWorkingEnvironment(callback);

Callback จะรายงานความสำเร็จหรือความล้มเหลวของกระบวนการนี้ เมื่อการโทรกลับ การคืนสินค้าสำเร็จ คุณเพิ่มบัญชี Managed Google Play ได้ ถ้า Callback จะรายงานข้อผิดพลาด แจ้งให้ผู้ใช้ตรวจสอบ อุปกรณ์มีการเชื่อมต่อเครือข่าย (เช่น หากการดาวน์โหลดล้มเหลว) ในอีก ให้รายงานความผิดพลาดไปยัง Google

Kotlin

object : WorkingEnvironmentCallback() {
    override fun onSuccess() {
        // Can now provision the managed Google Play Account
    }
    override fun onFailure(error: Error) {
        // Notify user, handle error (check network connection)
    }
}

Java

new WorkingEnvironmentCallback() {
    @Override
    public void onSuccess() {
        // Can now provision the managed Google Play Account
    }

    @Override
    public void onFailure(Error error) {
        // Notify user, handle error (check network connection)
    }
}

เพิ่มบัญชี Managed Google Play

AccountManagerของเฟรมเวิร์ก Android เพิ่มบัญชี Managed Google Play ลงในอุปกรณ์ได้ ลดความซับซ้อนในการโต้ตอบกับ AccountManager ให้ใช้ฟังก์ชันตัวช่วย (แสดงในตัวอย่างด้านล่าง) จากไลบรารีการสนับสนุนของ DPC ฟังก์ชัน จัดการโทเค็นที่เซิร์ฟเวอร์ Google Play ส่งคืนและอำนวยความสะดวกในการจัดสรร บัญชี Managed Google Play ฟังก์ชันนี้จะแสดงเมื่อ Managed Google Play บัญชีอยู่ในสถานะที่ถูกต้อง:

Kotlin

androidForWorkAccountSupport.addAndroidForWorkAccount(token, accountAddedCallback)

Java

androidForWorkAccountSupport.addAndroidForWorkAccount(token, accountAddedCallback);
  • token - โทเค็นการตรวจสอบสิทธิ์ผู้ใช้ที่สร้างโดย Google เล่นการเรียก EMM API ระดับ Users.generateAuthenticationToken()
  • accountAddedCallback - คืนบัญชี Managed Google Play ที่เพิ่มลงในอุปกรณ์เรียบร้อยแล้ว การเรียกกลับนี้ควรมี onAccountReady() และ onFailure() เมธอด

Kotlin

val workAccountAddedCallback = object : WorkAccountAddedCallback() {
    override fun onAccountReady(account: Account, deviceHint: String) {
        // Device account was successfully added to the device
        // and is ready to be used.
    }

    override fun onFailure(error: Error) {
        // The account was not successfully added. Check that the token
        // provided was valid (it expires after a certain period of time).
    }
}

Java

WorkAccountAddedCallback workAccountAddedCallback =
    new WorkAccountAddedCallback() {
        @Override
        public void onAccountReady(Account account, String deviceHint) {
            // Device account was successfully added to the device
            // and is ready to be used.
        }

        @Override
        public void onFailure(Error error) {
            // The account was not successfully added. Check that the token
            // provided was valid (it expires after a certain period of time).
        }
};
  • หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ Device Administration API โปรดดู อุปกรณ์ การดูแลระบบ
  • ดูข้อมูลเกี่ยวกับวิธีการจัดสรร Android Enterprise ได้ที่ จัดสรรอุปกรณ์ใน คู่มือนักพัฒนาซอฟต์แวร์ Android Enterprise
  • สำหรับตัวอย่าง GitHub ที่สาธิตวิธีสร้างโปรไฟล์งานขั้นพื้นฐาน ดู BasicManagedProfile
  • สำหรับตัวอย่าง GitHub ที่สาธิตวิธีตั้งค่าการกำหนดค่าในแอปอื่นๆ เป็น เจ้าของโปรไฟล์ดูที่ AppRestrictionEnforcementr