ฉันได้ทำการบำรุงรักษาแอพ Android แล้วและมีปัญหาบางอย่างที่ฉันได้รับการแก้ไขไม่มากก็น้อย แต่ก็ยังมีปัญหาอยู่เนื่องจาก Android OS เวอร์ชันต่าง ๆ
ตัวอย่างเช่นการส่งคำขอเว็บด้วยคลาส MediaPlayer มีส่วนหัว HTTP ที่กำหนดเองที่ถูกตัดออกโดยระบบปฏิบัติการก่อนที่จะส่งคำขอ แต่เฉพาะใน Android 4.X (ฉันทดสอบอย่างละเอียด) และนั่นทำให้คุณสมบัตินี้ล้มเหลวเพราะต้องอาศัย บนส่วนหัวเหล่านั้น
นี่เป็นปัญหาที่ทราบกันแล้วและฉันพยายามที่จะหลีกเลี่ยงมัน แต่มันจะเป็นการดีหรือไม่ที่จะมีการตรวจสอบตามเงื่อนไข
if (OS.VERSION == 4) {
knownIssueDialog(This feature will not work on your Android version... etc.");
}
เห็นได้ชัดว่าเราจะมีสิ่งนี้บันทึกไว้ในช่องทางการสนับสนุนของเรา แต่ฉันสงสัยว่ามันจะเป็นความคิดที่ดี (สมมติว่าทุกอย่างติดตาม) เพื่อให้ทราบปัญหาเหล่านี้ยังฝังอยู่ในซอฟต์แวร์และนำเสนอเมื่อใดก็ตามที่จำเป็น เช่นสิ่งที่ฉันอธิบายไว้ข้างต้น
เราได้รับการวิจารณ์ที่ไม่ดีหลายครั้งและอีเมลสนับสนุนมากมายจากปัญหาเหล่านี้ดังนั้นในใจของฉันมันจะช่วยให้ทุกคนประหยัดเวลาและปวดหัวได้เพียงแค่ปิดกั้นคุณสมบัติที่ทราบว่าไม่ทำงานอย่างถูกต้อง
ฉันเห็นปัญหาที่อาจเกิดขึ้นสองประการ:
- ผู้ใช้อาจไม่เคยเห็นอะไรแบบโต้ตอบ "ปัญหาที่ทราบ" มาก่อน; ผู้ใช้จำนวนมากอาจไม่เข้าใจความหมาย
- มีค่าใช้จ่ายในการพัฒนาอยู่เล็กน้อย - เราต้องตรวจสอบให้แน่ใจว่าได้ติดตามปัญหาเหล่านี้ในรหัส โชคดีที่มีคำอธิบายประกอบ Java การตรวจสอบตามเงื่อนไขใด ๆ ที่สามารถนำหน้าด้วย
@KnownIssue
หรืออะไรทำนองนั้นทำให้การค้นหา / แก้ไขได้ง่ายมาก
'ปัญหาที่ทราบแล้ว' จะทำให้ซอฟต์แวร์ใช้งานได้หรือไม่
แก้ไข : ฉันจะเพิ่มว่านี่เป็นปัญหาที่เพิ่งเกิดขึ้นเมื่อประมาณหนึ่งสัปดาห์ที่แล้ว ฉันได้แก้ไขปัญหาไปแล้วครึ่งหนึ่งและไม่น่าจะแก้ไข 4.X ได้เพราะเป็นระบบปฏิบัติการที่ทำให้เกิดปัญหา ฉันสามารถปล่อยเวอร์ชั่นใหม่พร้อมการแก้ไขและทำให้ผู้ใช้ 50% มีความสุขอีกครั้งและเตือนผู้ใช้อีก 50% (ผู้ใช้ 4.X) ว่าปัญหาจะยังคงอยู่ใน 4.X และแนะนำการอัปเกรด (หรือบางอย่าง ) คำถามคือว่าจะทำเช่นนั้นในซอฟต์แวร์ (เช่นแสดงข้อความโต้ตอบกับผู้ใช้ 4.X) หรือปล่อยให้พวกเขาสแปมเราสนับสนุนอีเมลที่บอกว่า "การแก้ไขของคุณใช้งานไม่ได้ !!!" จากนั้นนำพวกเขาไปยังหน้าสนับสนุนที่กล่าวถึงปัญหาในรายละเอียดเพิ่มเติม