ผสานรวมกับ AMAPI SDK

Android Management API (AMAPI) SDK ช่วยให้แอปที่เฉพาะเจาะจงสื่อสารกับ Android Device Policy (ADP) ได้โดยตรง ซึ่งรวมถึงการรองรับสิ่งต่อไปนี้

คุณต้องทำตามขั้นตอนต่อไปนี้เพื่อผสานรวม AMAPI SDK กับแอปพลิเคชัน

  1. เพิ่มไลบรารี AMAPI SDK
  2. เพิ่มองค์ประกอบการค้นหา หาก SDK เป้าหมาย >= 30

ข้อกำหนดเบื้องต้น

  • ยืนยันว่า minSdkVersion ของแอปตั้งค่าเป็น ระดับ API 21 เป็นอย่างน้อย
  • เพิ่มทรัพยากร Dependency สำหรับ AMAPI SDK เวอร์ชันล่าสุดลงในแอปพลิเคชัน คุณดูเวอร์ชันของไลบรารีล่าสุดที่พร้อมใช้งานและวิธีเพิ่มลงในแอปพลิเคชันได้ในหน้าบันทึกประจำรุ่นของ AMAPI SDK

เพิ่มองค์ประกอบคำค้นหา

หากแอปกำหนดเป้าหมายเป็น SDK 30 ขึ้นไป คุณต้องมีองค์ประกอบการค้นหาใน AndroidManifest.xml เพื่อระบุว่าจะโต้ตอบกับ ADP

<queries>
    <package android:name="com.google.android.apps.work.clouddpc" />
</queries>

ดูข้อมูลเพิ่มเติมได้ที่การกรองระดับการมองเห็นแพ็กเกจใน Android

ใช้ NotificationReceiverService

บางฟีเจอร์ต้องสร้าง NotificationReceiverService และบางฟีเจอร์ก็ใช้หรือไม่ใช้ก็ได้ หากต้องการใช้ ให้กำหนดคลาสที่ขยาย NotificationReceiverService เพิ่มเป็น service ใน AndroidManifest.xml และตรวจสอบว่าได้ส่งออกแล้ว


import com.google.android.managementapi.notification.NotificationReceiverService;

...

public final class MyAppNotificationReceiverService extends NotificationReceiverService {

  @Override
  protected void setupInjection() {
    // This method can be optionally used to inject dependencies at the
    // beginning of the service lifecycle.
  }
}

คุณต้องระบุ ComponentName ของคลาส NotificationReceiverService ให้กับแอป ADP ซึ่งทำได้ 2 วิธี เอกสารประกอบของแต่ละฟีเจอร์จะระบุแนวทางที่ควรใช้

Explicit API

ในกรณีนี้ ระบบจะส่ง ComponentName ไปยังแอป ADP ผ่าน API ที่เหมาะสม เอกสารประกอบของฟีเจอร์ที่เป็นปัญหาจะมีรายละเอียด ใน AndroidManifest.xml ให้เพิ่มข้อมูลต่อไปนี้

<service
 android:name = ".MyAppNotificationReceiverService"
 android:exported = "true" />

การค้นพบอัตโนมัติ

เมื่อใช้วิธีนี้ คุณต้องติดแท็กบริการเพื่อให้ระบบค้นพบบริการโดยอัตโนมัติ ใน AndroidManifest.xml ให้เพิ่มข้อมูลต่อไปนี้

<service
 android:name = ".MyAppNotificationReceiverService"
 android:exported = "true" >
    <meta-data android:name="Insert name here" android:value=""/>
</service>

สตริงที่เฉพาะเจาะจงที่จะใช้สำหรับ android:name ของ meta-data จะได้รับการบันทึกไว้สำหรับแต่ละฟีเจอร์ที่ใช้แนวทางนี้ (ดูตัวอย่างได้ที่จัดการบทบาทของแอปพลิเคชัน) เพื่อให้การติดแท็กนี้ถูกต้อง แอปของคุณต้องมีบริการที่เปิดใช้อยู่เพียงบริการเดียว และมี meta-data ซึ่งมี android:name เป็นสตริงที่เฉพาะเจาะจงนี้ และ android:value เป็นสตริงว่าง คุณสามารถเพิ่ม meta-data หลายรายการลงในบริการเดียวกันได้