SalesMatrix เวอร์ชัน 1.13.0: บังคับให้พนักงานขายอัปเดตแอปพลิเคชันมือถือเป็นเวอร์ชันล่าสุดก่อนใช้งานต่อ
SalesMatrix เวอร์ชัน 1.13.0 แก้ปัญหาที่พนักงานขายบางส่วนยังคงใช้แอปพลิเคชันมือถือเวอร์ชันเก่าที่ขาดฟีเจอร์หรือการแก้ไขบั๊กล่าสุด ซึ่งก่อนหน้านี้ไม่มีกลไกใดบังคับให้ต้องอัปเดต เวอร์ชันนี้เพิ่มระบบบังคับอัปเดตแอปพลิเคชัน (Force App Update) รุ่นแรก โดยทีมงาน SalesMatrix กำหนดเวอร์ชันและเลข build ขั้นต่ำที่ยอมรับได้แยกต่อองค์กรผ่านคำสั่งเฉพาะที่รันจากฝั่งเซิร์ฟเวอร์เท่านั้น ไม่มีผู้ดูแลระบบระดับองค์กรคนใดแก้ไขค่านี้ได้แม้แต่ผู้ดูแลระบบสูงสุด เมื่อเปิดโหมดบังคับ แอปพลิเคชัน Android ที่มีเลข build ต่ำกว่าที่กำหนดจะแสดงหน้าจอบล็อกเต็มหน้าจอที่ไม่สามารถปิดหรือย้อนกลับได้ พร้อมปุ่มพาไปหน้า Play Store โดยตรงเพื่ออัปเดตทันที ระบบตรวจสอบเวอร์ชันทุกครั้งที่เปิดแอปและเมื่อกลับมาใช้งานจากพื้นหลัง และออกแบบให้ทำงานแบบ fail-open คือหากตรวจสอบไม่สำเร็จเนื่องจากออฟไลน์หรือเชื่อมต่อเซิร์ฟเวอร์ไม่ได้ จะไม่บล็อกผู้ใช้งานเพื่อไม่ให้กระทบพนักงานขายภาคสนามที่ออฟไลน์อยู่บ่อยครั้ง ระหว่างการพัฒนายังพบและแก้ไขช่องโหว่ที่อาจทำให้ผู้ใช้เข้าหน้าหลักได้ชั่วขณะก่อนระบบบล็อกทันหลังเข้าสู่ระบบครั้งแรกอีกด้วย
สปอตไลท์ฟีเจอร์
บังคับอัปเดตแอปพลิเคชันเวอร์ชันต่ำกว่าที่กำหนด (Force App Update)
การันตีว่าพนักงานขายทุกคนใช้แอปพลิเคชันเวอร์ชันล่าสุดที่รองรับฟีเจอร์และการแก้ไขบั๊กล่าสุดเสมอ โดยไม่กระทบผู้ใช้ที่ออฟไลน์อยู่หน้างาน
ทีมงาน SalesMatrix กำหนดเวอร์ชันแอปและเลข build ขั้นต่ำที่ยอมรับได้แยกต่อองค์กรผ่านคำสั่งเฉพาะฝั่งเซิร์ฟเวอร์ (Rake Task) เท่านั้น ไม่มีช่องทางในหน้าเว็บหรือ Control Panel ให้ผู้ดูแลระบบองค์กรแก้ไขค่านี้ได้ไม่ว่าระดับสิทธิ์ใดก็ตาม ระบบมีสองโหมดคือปิดการบังคับ (none) และบังคับเต็มรูปแบบ (force) โดยใช้เลข build number ของแอปเป็นตัวเปรียบเทียบหลักแทนเลขเวอร์ชัน เนื่องจากเลข build number เพิ่มขึ้นเสมอและตรวจสอบได้แน่นอนกว่า เมื่อเปิดโหมดบังคับและอุปกรณ์ Android มีเลข build ต่ำกว่าที่กำหนด แอปจะแสดงหน้าจอบล็อกเต็มหน้าจอทันทีที่เปิดแอปหรือกลับมาจากพื้นหลัง โดยไม่มีปุ่มปิดหรือย้อนกลับ พร้อมปุ่มเดียวที่พาไปหน้า Play Store เพื่ออัปเดตโดยตรง ระบบออกแบบให้ fail-open คือหากตรวจสอบเวอร์ชันไม่สำเร็จ เช่น ออฟไลน์หรือเซิร์ฟเวอร์ไม่ตอบสนอง จะยังคงใช้ค่าที่แคชไว้ล่าสุดและไม่บล็อกผู้ใช้งานเพิ่มเติม
อัปเดตทั่วไป
การกำหนดค่าเวอร์ชันขั้นต่ำฝั่งเซิร์ฟเวอร์ (Backend Configuration)
- เพิ่มฟิลด์กำหนดเวอร์ชันแอปขั้นต่ำแยกต่อองค์กร เพิ่มฟิลด์เวอร์ชันแอปขั้นต่ำ เลข build ขั้นต่ำ และโหมดการบังคับอัปเดต (ปิด/บังคับ) ในการตั้งค่าองค์กร พร้อมตรวจสอบรูปแบบเวอร์ชันและบังคับให้กรอกทั้งเวอร์ชันและเลข build คู่กันเสมอเพื่อป้องกันการตั้งค่าไม่ครบถ้วน
- จำกัดการแก้ไขค่าไว้เฉพาะทีมงาน SalesMatrix ผ่านคำสั่งเฉพาะ เพิ่มคำสั่งฝั่งเซิร์ฟเวอร์ (Rake Task) เป็นช่องทางเดียวในการตั้งค่าเวอร์ชันขั้นต่ำ รองรับการตั้งค่าทีละองค์กรหรือทุกองค์กรพร้อมกัน โดยการตั้งค่าทุกองค์กรพร้อมกันต้องยืนยันซ้ำอีกขั้นเพื่อป้องกันความผิดพลาด และปิดช่องทางแก้ไขผ่านฟอร์มเว็บหรือ API สำหรับผู้ดูแลระบบทุกระดับรวมถึงผู้ดูแลระบบสูงสุด
- ส่งค่าการบังคับอัปเดตเข้าสู่แอปมือถือผ่าน API เข้าสู่ระบบ เพิ่มโหมดการบังคับอัปเดตและเลข build ขั้นต่ำในผลลัพธ์ API เข้าสู่ระบบและซิงค์ข้อมูลผู้ใช้ ให้แอปมือถือรับค่าล่าสุดได้ทั้งตอนเปิดแอปครั้งแรกและทุกครั้งที่ซิงค์ข้อมูลสำเร็จ
หน้าจอบังคับอัปเดตบนแอปพลิเคชันมือถือ (Mobile Version Gate)
- แสดงหน้าจอบล็อกการใช้งานแบบเต็มหน้าจอเมื่อเวอร์ชันต่ำกว่าที่กำหนด เมื่อเปิดใช้งานโหมดบังคับและอุปกรณ์มีเลข build ต่ำกว่าที่กำหนด แอปพลิเคชันจะแสดงหน้าจอบล็อกเต็มหน้าจอครอบทุกหน้าในแอป ไม่สามารถปิด แตะออก หรือกดปุ่มย้อนกลับของ Android เพื่อออกจากหน้านี้ได้
- ตรวจสอบเวอร์ชันทุกครั้งที่เปิดแอปและเมื่อกลับมาใช้งานจากพื้นหลัง ระบบตรวจสอบเวอร์ชันแอปทันทีที่เปิดแอปครั้งแรกและทุกครั้งที่สลับกลับมาใช้งานจากพื้นหลัง โดยยังไม่รองรับการตรวจสอบระหว่างใช้งานอยู่กลางคัน ซึ่งเป็นขอบเขตที่ตั้งใจไว้สำหรับเวอร์ชันแรกนี้
- เปิดหน้า Play Store ให้อัปเดตได้ทันทีจากปุ่มเดียว หน้าจอบล็อกมีปุ่มเดียวคือ "อัปเดตเดี๋ยวนี้" ซึ่งพาผู้ใช้ไปยังหน้ารายการแอปบน Play Store โดยตรงเพื่อดำเนินการอัปเดต โดยไม่ต้องพึ่งพา Play Core SDK
- ออกแบบให้ไม่บล็อกผู้ใช้เมื่อออฟไลน์หรือเชื่อมต่อเซิร์ฟเวอร์ไม่ได้ หากการตรวจสอบเวอร์ชันล้มเหลว เช่น อุปกรณ์ออฟไลน์หรือเซิร์ฟเวอร์ไม่ตอบสนอง ระบบจะยังคงใช้สถานะที่แคชไว้ล่าสุดและไม่บล็อกผู้ใช้งานเพิ่มเติม เพื่อไม่ให้กระทบพนักงานขายภาคสนามที่ทำงานแบบออฟไลน์เป็นประจำ
การแก้ไขข้อบกพร่องด้านความน่าเชื่อถือของระบบตรวจสอบเวอร์ชัน (Sync Reliability Fix)
- แก้ไขช่องโหว่ที่อาจข้ามการบล็อกได้ชั่วขณะทันทีหลังเข้าสู่ระบบครั้งแรก แก้ไขจังหวะการซิงค์ข้อมูลผู้ใช้หลังเข้าสู่ระบบที่อาจทำให้อุปกรณ์เวอร์ชันต่ำกว่าที่กำหนดเข้าหน้าหลักได้ชั่วขณะก่อนหน้าจอบล็อกจะทำงานทัน รวมถึงแก้ไขจุดที่ค่าการบังคับอัปเดตอาจถูกรีเซ็ตกลับเป็นปิดใช้งานโดยไม่ได้ตั้งใจระหว่างขั้นตอนเข้าสู่ระบบ ซึ่งอาจทำให้อุปกรณ์ที่ควรถูกบล็อกหลุดออกจากการบังคับอัปเดตอย่างเงียบ ๆ หากขั้นตอนถัดไปล้มเหลว