คู่มือนักพัฒนาซอฟต์แวร์

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

สิ่งที่ต้องมีก่อน

  1. คุณสร้างแอป Android แล้ว
  2. คุณพร้อมแก้ไขแอปให้ทำงานได้ดีที่สุดสำหรับองค์กรแล้ว
  3. เวอร์ชันขั้นต่ำ: เวอร์ชัน Android 5.0 Lollipop ที่แนะนำ: Android 6.0 Marshmallow ขึ้นไป

หมายเหตุ: คุณลักษณะสำหรับองค์กรของ Android มีอยู่ใน อุปกรณ์ Android 5.0 Android 6.0 ขึ้นไปนำเสนอ ฟีเจอร์เพิ่มเติม โดยเฉพาะในอุปกรณ์เฉพาะ

โปรไฟล์งาน

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

ฟีเจอร์หลักของโปรไฟล์งาน

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

ประโยชน์ของโปรไฟล์งานบน Android 5.0 ขึ้นไป

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

ข้อควรพิจารณาเกี่ยวกับโปรไฟล์งาน

ป้องกันไม่ให้ Intent ต่างๆ ทำงานล้มเหลวระหว่างโปรไฟล์

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

  • หากแสดงผล null คำขอนั้นไม่ได้รับการแก้ไข
  • หากมีผลลัพธ์บางอย่างเกิดขึ้น ก็แสดงว่าความตั้งใจได้รับการแก้ไขแล้ว และคุณก็สามารถส่งความตั้งใจไปได้

หมายเหตุ: ดูวิธีการทดสอบโดยละเอียดได้ที่ ป้องกัน Intent ที่ล้มเหลว

แชร์ไฟล์ระหว่างโปรไฟล์

นักพัฒนาแอปบางรายใช้ URI เพื่อทำเครื่องหมายเส้นทางของไฟล์ใน Android อย่างไรก็ตาม เพราะมีระบบไฟล์แยกต่างหาก เมื่อมีโปรไฟล์งานอยู่ แนะนำ:

ใช้:
URI เนื้อหา
  • URL เนื้อหามีสิทธิ์ เส้นทาง และรหัสสำหรับ ไฟล์นั้นๆ คุณสามารถสร้าง คลาสย่อย FileProvider ดูข้อมูลเพิ่มเติม
  • แชร์และให้สิทธิ์เข้าถึง URI เนื้อหาโดยใช้ ความตั้งใจ สามารถส่งได้ข้ามโปรไฟล์เท่านั้น โดยใช้ Intent หากคุณให้สิทธิ์เข้าถึงแก่แอปอื่น ลงในไฟล์โดยใช้ Context.grantUriPermission() ได้รับอนุญาตให้ แอปนั้นในโปรไฟล์เดียวกัน
ไม่ใช้
URI ของไฟล์
  • มีเส้นทางสัมบูรณ์ของไฟล์ใน พื้นที่เก็บข้อมูล
  • URI เส้นทางของไฟล์ที่ใช้ได้ในโปรไฟล์หนึ่งจะใช้กับโปรไฟล์ไม่ได้ อีกอย่างหนึ่ง
  • หากคุณแนบ URI ของไฟล์ไปยัง Intent ตัวจัดการจะไม่สามารถ เพื่อเข้าถึงไฟล์ในโปรไฟล์อื่น

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

ใช้การกำหนดค่าที่มีการจัดการ

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

หากคุณกำลังพัฒนาแอปสำหรับธุรกิจหรือรัฐบาล คุณอาจต้อง เพื่อทำตามชุดข้อกำหนดเฉพาะของอุตสาหกรรม การใช้ ที่มีการจัดการโดยผู้ดูแลระบบไอที สามารถระบุจากระยะไกล และบังคับใช้นโยบายกับแอป Android ของผู้ใช้ สำหรับ ตัวอย่าง:

  • กำหนดค่าว่าแอปสามารถซิงค์ข้อมูลผ่านเครือข่ายมือถือ/3G หรือเฉพาะ Wi-Fi เท่านั้น
  • อนุญาตหรือบล็อก URL ในเว็บเบราว์เซอร์
  • กำหนดการตั้งค่าอีเมลของแอป
  • เปิดหรือปิดใช้การพิมพ์
  • จัดการบุ๊กมาร์ก

แนวทางปฏิบัติแนะนำสำหรับการใช้การกำหนดค่าที่มีการจัดการ

การตั้งค่าการกำหนดค่าที่มีการจัดการ คือแหล่งข้อมูลสำคัญในการสร้างและทำให้ใช้งานได้ การกำหนดค่าที่มีการจัดการ หลังจากอ่านเอกสารประกอบนี้แล้ว โปรดดู คำแนะนำด้านล่างเพื่อดูคำแนะนำเพิ่มเติม

เมื่อเปิดแอปครั้งแรก

ทันทีที่เปิดแอปพลิเคชัน คุณสามารถดูได้ว่ามีการจัดการหรือไม่ มีการกำหนดค่าสำหรับแอปนี้ใน onStart() แล้ว หรือ onResume() นอกจากนี้ คุณยังดูได้ว่า แอปพลิเคชันมีการจัดการหรือไม่มีการจัดการ ตัวอย่างเช่น หาก getApplicationRestrictions() ส่งคืนผลลัพธ์:

  • ชุดข้อจํากัดเฉพาะแอปพลิเคชัน - คุณ สามารถกำหนดค่าที่มีการจัดการโดยไม่ต้องแจ้งให้ทราบ (โดยไม่ต้อง ข้อมูลจากผู้ใช้)
  • แพ็กเกจเปล่า - แอปพลิเคชันจะทำหน้าที่ดังนี้ ไม่มีการจัดการ (เช่น ลักษณะการทำงานของแอปใน )
  • แพ็กเกจที่มีคู่คีย์-ค่าเดี่ยวพร้อม ตั้งค่า KEY_RESTRICTIONS_PENDING เป็น "จริง" - แอปพลิเคชันกำลังได้รับการจัดการ แต่ยังไม่ได้กำหนดค่า DPC อย่างถูกต้อง คุณควรบล็อกผู้ใช้รายนี้จากแอปของคุณ และ ให้กับผู้ดูแลระบบไอที

ฟังการเปลี่ยนแปลงการกำหนดค่าที่มีการจัดการ

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

  • ข้อจํากัดการดึงข้อมูลเมื่อเปิดตัว - แอปของคุณควร โทรหา getApplicationRestrictions() ใน onStart() และ onResume() รวมถึงเปรียบเทียบกับข้อจำกัดเดิม เพื่อดูว่าจำเป็นต้องเปลี่ยนแปลงไหม
  • ฟังขณะวิ่ง - ลงทะเบียนแบบไดนามิก ACTION_APPLICATION_RESTRICTIONS_CHANGED ใน กิจกรรมหรือบริการอยู่ หลังจากที่ตรวจสอบ ข้อจำกัด ระบบจะส่งความตั้งใจนี้ไปยังผู้ฟังที่ ลงทะเบียนแบบไดนามิก ไม่ใช่ Listener ที่ประกาศในแอป ไฟล์ Manifest
  • ยกเลิกการลงทะเบียนขณะที่ไม่ได้ทำงาน - ใน onPause() คุณควรยกเลิกการลงทะเบียนออกอากาศ ACTION_APPLICATION_RESTRICTIONS_CHANGED

อุปกรณ์เฉพาะ

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

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

โปรดดูวิธีการที่หัวข้อ อุปกรณ์เฉพาะ

ตั้งค่าการลงชื่อเพียงครั้งเดียวด้วยแท็บที่กำหนดเองของ Chrome

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

  1. ผู้ใช้มักต้องลงชื่อเข้าใช้หลายครั้งด้วย ข้อมูลเข้าสู่ระบบ โซลูชัน WebView มักไม่ใช่โซลูชันหลัก การลงชื่อเข้าใช้ (SSO) อย่างมีประสิทธิภาพ
  2. อาจมีความเสี่ยงด้านความปลอดภัย ซึ่งรวมถึงแอปพลิเคชันที่เป็นอันตราย การตรวจสอบคุกกี้หรือการแทรก JavaScript® เพื่อเข้าถึง ข้อมูลเข้าสู่ระบบ แม้แต่นักพัฒนาแอปที่เชื่อถือได้ก็อาจมีความเสี่ยงหากต้องพึ่งพา SDK ของบุคคลที่สามที่อาจเป็นอันตราย

วิธีแก้ปัญหาทั้ง 2 อย่างคือการตรวจสอบสิทธิ์ผู้ใช้โดยใช้เบราว์เซอร์ ใช้แท็บที่กำหนดเองแทน WebView ซึ่งจะช่วยให้มั่นใจว่าการตรวจสอบสิทธิ์มีลักษณะดังนี้

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

ข้อกำหนด

รองรับแท็บที่กำหนดเองใน API ระดับ 15 (Android 4.0.3) หากต้องการใช้แท็บที่กำหนดเอง คุณต้องมีเบราว์เซอร์ที่รองรับ เช่น Chrome Chrome 45 ขึ้นไปใช้ฟีเจอร์นี้เป็น แท็บที่กำหนดเองของ Chrome

ฉันจะใช้ SSO กับแท็บที่กำหนดเองได้อย่างไร

Google ได้เปิดไลบรารีของไคลเอ็นต์ OAuth แบบโอเพนซอร์สซึ่งใช้ตัวเลือก แท็บต่างๆ ซึ่งสนับสนุนการทำงานให้กับกลุ่มทำงานของ OpenID Connect ของ รากฐานของ OpenID วิธีตั้งค่าแท็บที่กําหนดเองสําหรับ SSO ด้วย โปรดดูไลบรารี AppAuth เอกสารประกอบและโค้ดตัวอย่าง ใน GitHub

ทดสอบแอป

หลังจากที่พัฒนาแอปแล้ว คุณจะต้องทดสอบแอป ทั้งในโปรไฟล์งานและใน อุปกรณ์ที่มีการจัดการ ดูคำแนะนำด้านล่าง

ใช้ Test DPC เพื่อทดสอบแอป Android

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

  • ติดตั้ง DPC ทดสอบจาก GooglePlay
  • สร้างจากต้นทางบน GitHub

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีกำหนดค่า DPC ทดสอบ โปรดดูวิธีการด้านล่างและ ผู้ใช้ทดสอบ DPC คำแนะนำ

จัดสรรโปรไฟล์งาน

หากต้องการทดสอบแอปในโปรไฟล์งาน คุณต้องจัดสรรโปรไฟล์งานในอุปกรณ์ก่อนโดยใช้ ทดสอบแอป DPC ดังนี้

  1. ติดตั้ง DPC ทดสอบในอุปกรณ์
  2. แตะไอคอนแอปตั้งค่า DPC ทดสอบใน Android Launcher
  3. ทำตามวิธีการบนหน้าจอ
  4. ติดตั้งแอปของคุณในอุปกรณ์และทดสอบเพื่อดูการทำงานในโปรไฟล์งาน

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

จัดสรรอุปกรณ์ที่มีการจัดการครบวงจร

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

  1. ติดตั้ง DPC ทดสอบในอุปกรณ์
  2. ตรวจสอบว่าไม่มีผู้ใช้คนอื่นหรือโปรไฟล์งานอยู่ในอุปกรณ์
  3. ยืนยันว่าไม่มีบัญชีในอุปกรณ์
  4. เรียกใช้คำสั่ง Android Debug Bridge (adb) ต่อไปนี้ใน เทอร์มินัล:
    adb shell dpm set-device-owner com.afwsamples.testdpc/.DeviceAdminReceiver
  5. เมื่อจัดสรรเจ้าของอุปกรณ์เสร็จสิ้นแล้ว คุณสามารถทดสอบแอปในอุปกรณ์นั้นได้ คุณ ควรทดสอบวิธีทดสอบ การกำหนดค่าที่มีการจัดการ และ ความตั้งใจที่ใช้ได้ในอุปกรณ์นั้น

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

การทดสอบแบบเอนด์ทูเอนด์

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

  • การเผยแพร่แอปผ่าน Play
  • การกําหนดค่าที่มีการจัดการฝั่งเซิร์ฟเวอร์
  • การควบคุมนโยบายโปรไฟล์ฝั่งเซิร์ฟเวอร์

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

  1. สร้างเวอร์ชันทดสอบของแอปพลิเคชันที่มี ApplicationId ใหม่
  2. อ้างสิทธิ์โดเมน Google ที่มีการจัดการและเชื่อมโยงกับ EMM หากคุณ มีโดเมนทดสอบที่เชื่อมโยงกับ EMM อยู่แล้ว คุณอาจต้อง เพื่อยกเลิกการเชื่อมโยงเพื่อทดสอบกับ EMM ที่ต้องการ โปรดศึกษา EMM สำหรับขั้นตอนการยกเลิกการเชื่อมโยงที่เฉพาะเจาะจง
  3. เผยแพร่แอปพลิเคชันของคุณไปยังช่องส่วนตัวสำหรับ โดเมน Google ที่มีการจัดการ
  4. ใช้คอนโซล EMM และแอปพลิเคชัน EMM เพื่อทำสิ่งต่อไปนี้
    1. ตั้งค่าอุปกรณ์การทำงาน
    2. แจกจ่ายแอปพลิเคชันของคุณ
    3. กำหนดค่าที่มีการจัดการ
    4. ตั้งค่านโยบายอุปกรณ์

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