บางแอปที่ออกแบบมาเพื่อองค์กรจะมีการตั้งค่าในตัวที่เรียกว่าการกำหนดค่าที่มีการจัดการ ซึ่งผู้ดูแลระบบไอทีสามารถกำหนดค่าจากระยะไกลได้ เช่น แอปอาจมีตัวเลือกให้ซิงค์ข้อมูลเฉพาะเมื่ออุปกรณ์เชื่อมต่อกับ Wi-Fi เท่านั้น ชุดโซลูชันทั้งหมดกำหนดให้ผู้ดูแลระบบไอทีระบุการกำหนดค่าที่มีการจัดการและนำไปใช้กับอุปกรณ์ได้
แผนภาพด้านล่างแสดงขั้นตอนสำคัญบางส่วนในการจัดการการกำหนดค่าที่มีการจัดการพร้อมภาพรวมของตัวเลือกที่ใช้ได้ผ่าน Google Play EMM API
ตรวจสอบว่าแอปรองรับการกำหนดค่าที่มีการจัดการหรือไม่
ใช้ Products.getAppRestrictionsSchema
เพื่อดูว่าแอปรองรับการกำหนดค่าที่มีการจัดการหรือไม่ นี่คือตัวอย่างที่ใช้ไลบรารีของไคลเอ็นต์ Google Play EMM API สำหรับ Java
public AppRestrictionsSchema getAppRestrictionsSchema(String enterpriseId,
String productId, String language) throws IOException {
return androidEnterprise
.product()
.getAppRestrictionsSchema(enterpriseId, productId, language)
.execute();
}
แอปทั้งหมดจะแสดงสคีมาข้อจำกัดของแอป (การกำหนดค่าที่มีการจัดการ) หากการเรียกแสดงสคีมาที่ว่างเปล่า แสดงว่าแอปไม่รองรับการจัดการการกำหนดค่า หากการเรียกแสดงสคีมาที่มีชุดข้อจำกัด แสดงว่าแอปรองรับการกำหนดค่าที่มีการจัดการ เช่น แอปที่มีพร็อพเพอร์ตี้สำหรับ
การเปิดใช้การพิมพ์ระยะไกลผ่าน VPN อาจส่งการตอบกลับต่อไปนี้ไปยัง
Products.getAppRestrictionsSchema
{
"kind": "androidenterprise#appRestrictionsSchema",
"restrictions": [
{
"key": "printing_enabled",
"title": "Enable printing",
"restrictionType": "bool",
"description": "Allow user to print from the app",
"defaultValue": {
"type": "bool",
"valueBool": true,
}
},
{
"key": "vpn_configurations",
"title": "VPN configurations",
"restrictionType": "bundle_array",
"description": "List of VPN configurations",
"nestedRestriction": [
{
"key": "vpn_configuration",
"title": "VPN configuration",
"restrictionType": "bundle",
"nestedRestrictions": [
{
"key": "server",
"title": "VPN server host",
"restrictionType": "string"
},
{
"key": "username",
"title": "VPN account username",
"restrictionType": "string"
}
]
}
]
}
]
}
ระบุการกำหนดค่าที่มีการจัดการ
สำหรับแอปที่รองรับการกำหนดค่าที่มีการจัดการ คุณจะอนุญาตให้ผู้ดูแลระบบไอทีตั้งค่าได้จากคอนโซล EMM โดยการฝัง iframe การกำหนดค่าที่มีการจัดการหรือการพัฒนา UI ของคุณเอง
ตัวเลือกที่ 1: ฝัง iframe การกำหนดค่าที่มีการจัดการ
วิธีที่ง่ายที่สุดในการรองรับการกำหนดค่าที่มีการจัดการคือการฝัง iframe ของการกำหนดค่าที่มีการจัดการในคอนโซล EMM iframe จะดึงสคีมาการกำหนดค่าที่มีการจัดการสำหรับแอปที่ระบุ และอนุญาตให้ผู้ดูแลระบบไอทีบันทึก แก้ไข และลบโปรไฟล์การกำหนดค่าที่กำหนดเองได้ คุณสามารถใช้ Play EMM API เพื่อนำ โปรไฟล์ที่กำหนดเองไปใช้กับอุปกรณ์ของผู้ใช้ ดูข้อมูลเพิ่มเติมเกี่ยวกับ iframe และวิธีเพิ่มลงในคอนโซลได้ที่ iframe การกำหนดค่าที่มีการจัดการ
ตัวเลือกที่ 2: สร้าง UI ของคุณเอง
เมื่อใช้การกำหนดค่าที่ได้จาก Products.getAppRestrictionsSchema
คุณจะสร้าง UI ของคุณเองที่อนุญาตให้ผู้ดูแลระบบไอทีจัดการการกำหนดค่าแอปได้
ใช้การกำหนดค่าที่มีการจัดการ
ในการนำการกำหนดค่าที่มีการจัดการไปใช้กับอุปกรณ์ จะต้องผสานรวม DPC ของคุณกับไลบรารีการสนับสนุน DPC ตามรายละเอียดในสร้างตัวควบคุมนโยบายด้านอุปกรณ์ ไลบรารีการสนับสนุน DPC จะจัดการการมอบสิทธิ์ไปยัง Google Play อย่างโปร่งใสเพื่อนำการกำหนดค่าที่มีการจัดการไปใช้
คุณจะใช้การกำหนดค่าที่มีการจัดการกับอุปกรณ์ได้โดยการตั้งค่า policy.productPolicy.managedConfiguration
ใน policy
ของ Device
การใช้รหัส mcmId
ทุกครั้งที่ผู้ดูแลระบบไอทีบันทึกโปรไฟล์การกำหนดค่าใหม่จาก iframe การกำหนดค่าที่มีการจัดการ iframe จะแสดงผลตัวระบุที่ไม่ซ้ำกันชื่อ mcmId
mcmId
ไม่มีการจำกัดจำนวนอุปกรณ์ซึ่งใช้ได้และไม่มีเวลาหมดอายุ
หากต้องการใช้โปรไฟล์การกำหนดค่ากับอุปกรณ์ ให้ตั้งค่า policy.productPolicy.managedConfiguration.configurationVariables.mcmId
ใน policy
ของ Device
หากต้องการอนุญาตให้ผู้ดูแลระบบไอทีใช้ตัวแปรใน iframe การกำหนดค่าที่มีการจัดการ (เช่น $FirstName, $LastName) คุณจะต้องกำหนดตัวแปรที่อยู่ในโปรไฟล์โดยใช้ policy.productPolicy[].managedConfiguration.configurationVariables.mcmId.variableSet[]
การใช้รายการพร็อพเพอร์ตี้ที่มีการจัดการ
คุณยังรวมชุดพร็อพเพอร์ตี้ที่มีการจัดการได้โดยการตั้งค่า policy.productPolicy.managedConfiguration.managedProperty[]
ใน policy
ของ Device
ตัวอย่างด้านล่างแสดงวิธีระบุการกำหนดค่า การกำหนดค่านี้มี bundle_array
(รายการ) ที่ประกอบด้วยพร็อพเพอร์ตี้แพ็กเกจ 2 รายการ (กลุ่มของพร็อพเพอร์ตี้ที่เกี่ยวข้อง ซึ่งในกรณีนี้คือพร็อพเพอร์ตี้สำหรับ VPN)
ManagedConfiguration managedConfiguration = new ManagedConfiguration()
.setManagedProperty(
ImmutableList.of(
new ManagedProperty()
.setKey("printing_enabled")
.setValueBool(true),
new ManagedProperty()
.setKey("vpn_configurations")
.setValueBundleArray(
ImmutableList.of(
new ManagedPropertyBundle().setManagedProperty(
ImmutableList.of(
new ManagedProperty()
.setKey("server")
.setValueString("vpn1.example.com"),
new ManagedProperty()
.setKey("username")
.setValueString("john.doe"))),
new ManagedPropertyBundle().setManagedProperty(
ImmutableList.of(
new ManagedProperty()
.setKey("server")
.setValueString("vpn2.example.com"),
new ManagedProperty()
.setKey("username")
.setValueString("jane.doe")))))));
ดูข้อมูลเพิ่มเติมเกี่ยวกับพร็อพเพอร์ตี้การกำหนดค่าต่างๆ ที่แอปรองรับได้ที่กำหนดการกำหนดค่าที่มีการจัดการ
แสดงรายการโปรไฟล์การกำหนดค่าของแอป
คุณอาจต้องการแสดงรายการโปรไฟล์การกำหนดค่าที่บันทึกไว้สำหรับแอป ทั้งนี้ขึ้นอยู่กับวิธีการออกแบบโซลูชันของคุณ หากต้องการเรียกดูรายการนี้ ให้เรียกใช้ Managedconfigurationssettings.list