ผู้ให้บริการ Enterprise Mobility Management (EMM) นำเสนอโซลูชันสำหรับองค์กร เพื่อจัดการอุปกรณ์ Android และแอปที่ติดตั้งในอุปกรณ์เหล่านั้น โซลูชันเหล่านี้ โดยทั่วไปจะใช้ได้เป็นเว็บคอนโซล ซึ่งเรียกว่าคอนโซล EMM ใช้ EMM รวมถึงผู้ดูแลระบบไอทีจะดำเนินการจัดการอุปกรณ์และแอปในนามของ องค์กร
แอปที่กำหนดเป้าหมายองค์กรองค์กรจะส่งความคิดเห็นไปยัง EMM ได้ในรูปแบบ สถานะแอปหลัก API พร้อมใช้งานสำหรับ EMM เพื่อเรียกข้อมูลสถานะแอปที่เข้ารหัส ซึ่งจะแสดงในคอนโซล EMM ของตนได้ ช่องทางการสื่อสารนี้ ช่วยให้ผู้ดูแลระบบไอทีสามารถรับความคิดเห็นเกี่ยวกับสถานะของแอปที่ติดตั้งใน อุปกรณ์ที่จัดการ
เช่น แอปโปรแกรมรับส่งอีเมลอาจใช้สถานะของแอปที่มีการคีย์เพื่อยืนยันว่า กำหนดค่าบัญชีสำเร็จแล้ว รายงานเมื่อเกิดข้อผิดพลาดในการซิงค์ หรือส่ง การอัปเดตสถานะอื่นๆ ที่นักพัฒนาแอปเห็นว่าเหมาะสม
องค์ประกอบของสถานะแอปคีย์
สถานะของแอปคีย์ประกอบด้วยข้อมูลต่อไปนี้
- คีย์: ตัวระบุที่ไม่ซ้ำกันสำหรับสถานะแอป สูงสุด 100 อักขระ
- ข้อความ: ข้อความที่ไม่บังคับซึ่งอธิบายสถานะของแอป สูงสุด 1,000 อักขระ หมายเหตุ: โดยปกติ ข้อความควรสั้นกว่านี้มาก
- ข้อมูล: ค่าที่ไม่บังคับซึ่งเครื่องอ่านได้สำหรับ EMM เพื่ออนุญาตผู้ดูแลระบบไอที
เพื่อตั้งค่าการแจ้งเตือนหรือตัวกรองตามค่า ตัวอย่างเช่น ผู้ดูแลระบบไอทีสามารถ
ตั้งค่าการแจ้งเตือนหากช่องข้อมูล
battery_percentage < 10
สูงสุด 1,000 อักขระ - ความรุนแรง: ความรุนแรงของสถานะแอป ค่าที่อนุญาตคือ
SEVERITY_ERROR
และSEVERITY_INFO
(ค่าเริ่มต้น) ตั้งค่าความรุนแรงเป็นSEVERITY_ERROR
เท่านั้น เพื่อดูเงื่อนไขข้อผิดพลาดที่แท้จริงซึ่งองค์กรต้องดำเนินการเพื่อแก้ไข - การประทับเวลา: เมื่อตั้งค่าสถานะแอปคีย์แล้ว ระบบจะส่งข้อมูลนี้พร้อม การประทับเวลาเป็นมิลลิวินาทีตั้งแต่ Epoch
ส่งความคิดเห็นเกี่ยวกับการกำหนดค่าที่มีการจัดการ
หากแอปรองรับการกำหนดค่าที่มีการจัดการ ขอแนะนำให้ส่งสถานะแอปที่สำคัญเป็นวิธีการอัปเดตผู้ดูแลระบบไอทีใน ของการกำหนดค่าไว้ เวิร์กโฟลว์ตัวอย่างต่อไปนี้จะอธิบาย วิธีการอย่างหนึ่งคือ
- ผู้ดูแลระบบไอทีใช้คอนโซล EMM เพื่อตั้งค่าและส่งการกำหนดค่าที่มีการจัดการสำหรับ
แอปที่ติดตั้งในอุปกรณ์ที่มีการจัดการครบวงจร
หรือในโปรไฟล์งาน
เช่น
- ระดับเสียง: "50%"
- สกุลเงิน: "USDD"
- แอปจะพยายามใช้การกำหนดค่าดังกล่าว ตั้งระดับเสียงเรียบร้อยแล้ว ถึง 50% แต่รหัสสกุลเงินไม่ถูกต้องและใช้ไม่ได้
- แอปจะตั้งสถานะแอปเป็นคีย์ตามสถานะของการกำหนดค่าแต่ละรายการ
สถานะแอปที่ถูกคีย์แต่ละสถานะจะมีคีย์ที่ไม่ซ้ำกันและข้อความที่มีรายละเอียด
เราขอแนะนำให้จับคู่คีย์การกำหนดค่าที่มีการจัดการหากเป็นไปได้
เช่น
คีย์ ข้อความ ความรุนแรง การประทับเวลา volume
ตั้งค่าเป็น 50% SEVERITY_INFO
1554461130
currency
สกุลเงิน "USDD" ไม่รู้จัก SEVERITY_ERROR
1554461130
- ผู้ให้บริการ EMM จะดึงข้อมูลสถานะของแอปคีย์ที่แอปกำหนดไว้และจอแสดงผล
ในคอนโซล EMM เช่น
การกำหนดค่า สถานะ ขอให้ดำเนินการ เวลา ระดับเสียง ตั้งค่าเป็น 50% ไม่ 5 เมษายน 2019 10:45:30 สกุลเงิน ข้อผิดพลาด: สกุลเงิน "USDD" ไม่รู้จัก ใช่ 5 เมษายน 2019 10:45:30 ผู้ให้บริการ EMM ควรแจ้งสถานะที่ได้รับให้ชัดเจนด้วย
SEVERITY_ERROR
กับผู้ดูแลระบบไอที ผู้ดูแลระบบไอทีจะดูข้อมูลได้ในคอนโซล EMM และ ดำเนินการเพื่อแก้ไขข้อผิดพลาดในการกำหนดค่าที่ตั้งไว้
รายงานข้อผิดพลาดที่แก้ไขแล้ว
หลังจากแก้ไขข้อผิดพลาดแล้ว ให้ส่งสถานะของแอปติดตามผลทันทีไปยัง ป้องกันไม่ให้ EMM แสดงข้อความแสดงข้อผิดพลาดนั้นโดยไม่มีกำหนดสิ้นสุด การติดตามผลนี้ สถานะควรประกอบด้วย:
- คีย์เดียวกัน เป็นข้อความแสดงข้อผิดพลาดเริ่มต้น
- ความรุนแรงระดับ
SEVERITY_INFO
ซึ่งระบุว่าสถานะไม่ได้อยู่ในสถานะที่ผิดพลาดและไม่ได้ องค์กรจะต้องดำเนินการเพิ่มเติม
เพิ่มการรองรับสถานะของแอปคีย์ลงในแอป
ขั้นตอนด้านล่างอธิบายวิธีผสานรวมสถานะของแอปหลักในแอป
ขั้นตอนที่ 1: เพิ่มที่เก็บ Maven ของ Google ลงในไฟล์ settings.gradle
เพิ่มที่เก็บ Maven ของ Google เป็นตำแหน่งที่เก็บใน settings.gradle
ของโปรเจ็กต์
ตามที่แสดงด้านล่าง
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() } }
ขั้นตอนที่ 2: เพิ่มไลบรารีความคิดเห็นขององค์กรลงในไฟล์ build.gradle
ระดับโมดูล
เพิ่มทรัพยากร Dependency ต่อไปนี้ในระดับโมดูล build.gradle
ไฟล์:
dependencies { implementation 'androidx.enterprise:enterprise-feedback:1.0.0' }
ขั้นตอนที่ 3: รับอินสแตนซ์ของ KeyedAppStatesReporter
ในเมธอด onCreate()
ให้รับและจัดเก็บอินสแตนซ์ของ
KeyedAppStatesReporter
การดำเนินการนี้จะเปิดใช้ช่องทางการสื่อสารระหว่างแอปและผู้ให้บริการ EMM
Kotlin
val reporter = KeyedAppStatesReporter.create(context)
Java
KeyedAppStatesReporter reporter = KeyedAppStatesReporter.create(context);
ขั้นตอนที่ 4: สร้างคอลเล็กชันสถานะของแอปหลัก
ทำตามแนวทางปฏิบัติแนะนำด้านล่างเมื่อสร้างสถานะของแอปที่มีคีย์
- ไม่ใส่ข้อมูลส่วนบุคคลที่ระบุตัวบุคคลนั้นได้ (PII) ในสถานะ สถานะของแอปที่ผูกกับดังกล่าวจะไม่ เหมาะสำหรับข้อมูลที่ละเอียดอ่อน
- ทำให้สถานะของแอปที่สำคัญอยู่ภายในขีดจำกัดที่กำหนดไว้ใน
MAX_KEY_LENGTH
MAX_MESSAGE_LENGTH
, และMAX_DATA_LENGTH
- การโทร
setStates
หรือsetStatesImmediate
ครั้งเดียวจะมีขีดจำกัดรวม 300 KB (ประมาณ 1/3 ของจำนวนทั้งหมดที่เก็บได้ต่อวัน) หากเกินค่านี้ จะทำให้ระบุลักษณะการทำงานไม่ได้ - ตั้งค่าเฉพาะความรุนแรงของรัฐเป็น
SEVERITY_ERROR
หากมีเงื่อนไขที่องค์กรต้องดำเนินการแก้ไข - เมื่อส่งสถานะแอปที่มีข้อผิดพลาด อย่าลืมส่ง สถานะติดตามผลเมื่อข้อผิดพลาดได้รับการแก้ไขแล้ว เพื่อให้ EMM หยุดการแจ้ง ในคอนโซลของผู้ใช้
- สำหรับสถานะการติดตามผล ให้ใช้
key เป็น
สถานะเริ่มต้นที่แสดงข้อผิดพลาดและตั้งค่าความรุนแรงเป็น
SEVERITY_INFO
ข้อมูลโค้ดด้านล่างสร้างคอลเล็กชันสถานะของแอปคีย์ต่างๆ
Kotlin
val states = hashSetOf(KeyedAppState.builder() .setKey("key") .setSeverity(KeyedAppState.SEVERITY_INFO) .setMessage("message") .setData("data") .build())
Java
Collectionstates = new HashSet<>(); states.add(KeyedAppState.builder() .setKey("key") .setSeverity(KeyedAppState.SEVERITY_INFO) .setMessage("message") .setData("data") .build());
ขั้นตอนที่ 5: ตั้งค่าสถานะแอปคีย์
setStates()
จะส่งสถานะของแอปที่เข้ารหัสไปยังแอป Play Store ทันที (ชื่อแพ็กเกจ:
com.android.vending
) หากติดตั้งไว้ในอุปกรณ์ รวมถึงผู้ดูแลระบบของ
อุปกรณ์หรือโปรไฟล์งาน
Kotlin
keyedAppStatesReporter.setStates(states)
Java
keyedAppStatesReporter.setStates(states);