หลักเกณฑ์ UX สำหรับการนำส่งแบบออนดีมานด์

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

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

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

หน้านี้อธิบายแนวทางปฏิบัติแนะนำที่จะช่วยคุณทำสิ่งต่อไปนี้

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

หลังจากอ่านคู่มือนี้แล้ว โปรดดูแนวทางปฏิบัติแนะนำเหล่านี้ที่นำไปใช้จริงโดยลองใช้แอปตัวอย่าง Play Core API

แจ้งให้ผู้ใช้ทราบอยู่เสมอ

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

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

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

รูปที่ 1 การแสดงข้อความและแถบความคืบหน้าเมื่อดาวน์โหลดและติดตั้งฟีเจอร์แบบออนดีมานด์

แจ้งให้ผู้ใช้ทราบถึงความล่าช้าและความล้มเหลวในการติดตั้งอย่างเหมาะสม

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

รูปที่ 2 แจ้งให้ผู้ใช้ทราบสาเหตุที่ไม่สามารถติดตั้งฟีเจอร์ได้ในขณะนี้

รูปที่ 3 อธิบายให้ผู้ใช้ทราบถึงสาเหตุที่ฟีเจอร์อาจใช้เวลาดาวน์โหลดนานกว่าที่คาดไว้

แสดงค่าก่อนที่จะขอสิทธิ์สำหรับการดาวน์โหลดขนาดใหญ่

หากโมดูลแบบออนดีมานด์มีขนาดใหญ่ (> 150 MB) Google Play กำหนดให้ผู้ใช้ต้องให้ความยินยอมก่อนดาวน์โหลด

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

ตัวอย่างเช่น สมมติว่าคุณกำลังสร้างแอปอีคอมเมิร์ซและฟีเจอร์หนึ่งอนุญาตให้ผู้ใช้วางเฟอร์นิเจอร์ในอพาร์ตเมนต์ของตนโดยตรงโดยใช้เทคโนโลยีความจริงเสริม (AR) คุณอาจใส่ข้อความ เช่น "คุณต้องการดูโซฟาใหม่ใน Living Room ไหม ติดตั้งโปรแกรมดูเทคโนโลยีความจริงเสริม (AR) เลย"

ดาวน์โหลดและติดตั้งในเบื้องหลัง

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

ดังที่แสดงในรูปที่ 5 ผู้ใช้จะใช้แอปต่อไปและได้รับการแจ้งเตือนเมื่อการติดตั้งฟีเจอร์แบบออนดีมานด์เสร็จสมบูรณ์

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

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

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

เพิ่มพื้นที่เก็บข้อมูลของอุปกรณ์เมื่อไม่จำเป็นต้องใช้โมดูลอีกต่อไป

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

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

เคล็ดลับขั้นสูง

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

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

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

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

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