หลักเกณฑ์ด้านคุณภาพแอปหลัก

ทำตามหลักเกณฑ์ด้านคุณภาพของแอปหลักเพื่อวางรากฐานที่มั่นคงสำหรับแอปที่มีคุณภาพ

หลักเกณฑ์เหล่านี้กำหนดคุณภาพขั้นต่ำที่แอปทั้งหมดควรมี

คุณภาพของแอปแบบปรับอัตโนมัติ

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

ทำตามหลักเกณฑ์คุณภาพของแอปที่ปรับเปลี่ยนได้ร่วมกับหลักเกณฑ์ด้านคุณภาพหลักของแอปเพื่อดำเนินการต่อไปนี้

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

หลักเกณฑ์

หลักเกณฑ์หลักต่อไปนี้จะช่วยคุณสร้างแอปพื้นฐานที่มีคุณภาพสูง

ประสบการณ์ของผู้ใช้

การออกแบบภาพและรูปแบบการโต้ตอบมาตรฐานของ Android มอบประสบการณ์การใช้งานที่สอดคล้องและใช้งานง่าย

ใช้คอมโพเนนต์ Material Design เพื่อสร้างอินเทอร์เฟซผู้ใช้ของแอปแทนคอมโพเนนต์แพลตฟอร์ม Android หากเป็นไปได้ Material Design มอบรูปลักษณ์ที่ทันสมัยของ Android พร้อมกับความสอดคล้องกันของ UI ใน Android เวอร์ชันต่างๆ

ความสามารถในการใช้งาน

รหัส การทดสอบ คำอธิบาย
Consistent_UX T-Consistent_UX,
T-SD_Card
แอปมอบประสบการณ์ของผู้ใช้ที่สอดคล้องกันสำหรับ Use Case ทั้งหมดของแอปในอุปกรณ์ทุกรูปแบบ
App_Switcher T-App_Switcher,
T-SD_Card
แอปจะทำงานอยู่เบื้องหลังเมื่อโฟกัสเปลี่ยนไปที่แอปอื่น แอปจะกลับมาทำงานอยู่เบื้องหน้าเมื่อเปิดใช้งานอีกครั้งจากฟีเจอร์สลับแอปล่าสุด
Sleep_Resume T-Sleep_Resume,
T-SD_Card
เมื่อแอปเป็นแอปที่ทำงานอยู่เบื้องหน้า แอปจะหยุดชั่วคราวเมื่ออุปกรณ์เข้าสู่โหมดสลีป และจะกลับมาทำงานอีกครั้งเมื่ออุปกรณ์กลับมาทำงาน
Lock_Resume T-Lock_Resume,
T-SD_Card
เมื่อแอปเป็นแอปที่ทำงานอยู่เบื้องหน้า แอปจะหยุดชั่วคราวเมื่ออุปกรณ์ล็อกอยู่ และจะกลับมาทำงานอีกครั้งเมื่อปลดล็อกอุปกรณ์

อินเทอร์เฟซผู้ใช้

รหัส การทดสอบ คำอธิบาย
Display_State_Parity T-Orientation_Transitions

การวางแนวการแสดงผลและสถานะการพับจะแสดงฟีเจอร์และการทำงานที่เหมือนกันเป็นหลัก และรักษาความเท่าเทียมกันของฟังก์ชันการทำงาน

Fullscreen_Display T-Orientation_Transitions

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

อนุญาตให้ใช้แถบดำด้านบน-ล่างของภาพเล็กน้อยเพื่อชดเชยความแตกต่างเล็กน้อยในรูปทรงเรขาคณิตของหน้าจอ

Orientation_Transitions T-Orientation_Transitions แอปจัดการการเปลี่ยนอย่างรวดเร็วระหว่างการวางแนวการแสดงผลและการพับและกางอุปกรณ์โดยไม่มีปัญหาการแสดงผลและไม่สูญเสียสถานะ

คุณภาพของภาพ

รหัส การทดสอบ คำอธิบาย
Graphic_Quality T-Graphic_Quality

แอปแสดงกราฟิก ข้อความ รูปภาพ และองค์ประกอบ UI อื่นๆ โดยไม่มีการบิดเบี้ยว การเบลอ หรือภาพแตกแบบพิกเซลที่สังเกตเห็นได้

  • แอปใช้ Vector Drawable หากเป็นไปได้
  • แอปใช้กราฟิกคุณภาพสูงสำหรับขนาดหน้าจอและรูปแบบของอุปกรณ์ที่กำหนดเป้าหมายทั้งหมด
  • ไม่มีการลดรอยหยักที่ขอบของเมนู ปุ่ม และองค์ประกอบ UI อื่นๆ
Line_Length T-Line_Length แอปช่วยให้อ่านข้อความและบล็อกข้อความได้ง่ายโดยจำกัดความยาวบรรทัดไว้ที่ 45-75 อักขระ (รวมเว้นวรรค) สำหรับแต่ละภาษาที่แอปสนับสนุน
Theme_Support T-Theme_Support เนื้อหาของแอปและเนื้อหาเว็บทั้งหมดที่แอปเข้าถึงรองรับทั้งธีมสว่างและธีมมืด
รหัส การทดสอบ คำอธิบาย
Back_Button_Nav T-Back_Nav แอปต้องรองรับการไปยังส่วนต่างๆ ด้วยปุ่มย้อนกลับมาตรฐาน และไม่ใช้ข้อความแจ้งปุ่มย้อนกลับบนหน้าจอที่กำหนดเอง
Back_Gesture_Nav T-Back_Nav แอปต้องรองรับการไปยังส่วนต่างๆ ด้วยท่าทางสัมผัสเพื่อย้อนกลับและไปยังหน้าจอหลัก
State_Preservation T-State_Preservation,
T-Back_Nav

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

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

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

การแจ้งเตือน

รหัส การทดสอบ คำอธิบาย
Notification_Quality T-Notification_Quality

การแจ้งเตือนจะให้ข้อมูลที่เกี่ยวข้องกับแอปของคุณ

Conversation_Quality T-Notification_Quality

สำหรับแอปรับส่งข้อความ แอปโซเชียล และการสนทนา

การช่วยเหลือพิเศษ

รหัส การทดสอบ คำอธิบาย
Touch_Target_Size T-Touch_Target_Size เป้าหมายการสัมผัสมีขนาดอย่างน้อย 48 dp ดูหลักเกณฑ์ขนาดเป้าหมายของ Material Design
Visual_Contrast T-Visual_Contrast

ข้อความและเนื้อหาเบื้องหน้าของแอปคงอัตราส่วนคอนทราสต์ต่อไปนี้กับพื้นหลังของแอป

  • 3:1 สำหรับข้อความและกราฟิกขนาดใหญ่
  • 4.5:1 สำหรับข้อความขนาดเล็ก (น้อยกว่า 18 pt หรือน้อยกว่า 14 pt หากข้อความเป็นตัวหนา)

ดูข้อมูลเพิ่มเติมเกี่ยวกับสีและคอนทราสต์

Content_Description T-Content_Description อธิบายองค์ประกอบ UI แต่ละรายการ ยกเว้น TextView โดยใช้ contentDescription

ฟังก์ชันการทำงาน

แอปของคุณควรใช้ลักษณะการทำงานต่อไปนี้

เสียง

รหัส การทดสอบ คำอธิบาย
Audio_Playback_Start T-Audio_Playback_Start

เมื่อผู้ใช้เริ่มเล่นเสียง แอปควรดำเนินการอย่างใดอย่างหนึ่งต่อไปนี้ภายใน 1 วินาที

  • เริ่มเล่นเสียง
  • แสดงสัญญาณบอกสถานะด้วยภาพว่ากำลังเตรียมข้อมูลเสียง
Audio_Focus_Request T-Audio_Focus_Request แอปควรขอโฟกัสเสียงเมื่อเสียงเริ่มเล่น และยกเลิกโฟกัสเสียงเมื่อการเล่นหยุดลง
Audio_Focus_Change T-Audio_Focus_Change แอปควรจัดการคำขอของแอปอื่นๆ สำหรับโฟกัสเสียง ตัวอย่างเช่น แอปอาจลดระดับเสียงการเล่นเมื่อแอปอื่นเล่นเสียงพูด
Audio_Playback_Background T-Audio_Playback_Background

แอปควรรองรับการเล่นขณะล็อกหน้าจอหรือขณะใช้แอปอื่น

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

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

Audio_Notification_Style T-Audio_Notification_Style เมื่อแอปเล่นเสียงในเบื้องหลัง แอปต้องสร้างการแจ้งเตือนที่มีสไตล์เป็น MediaStyle
Audio_Playback_Resume T-Audio_Playback_Resume หากแอปทำงานอยู่เบื้องหลังและเสียงหยุดชั่วคราว เสียงจะกลับมาเล่นอีกครั้งเมื่อแอปกลับมาทำงานอยู่เบื้องหน้า หรือแอปต้องระบุให้ผู้ใช้ทราบว่าการเล่นอยู่ในสถานะหยุดชั่วคราว

วิดีโอ

รหัส การทดสอบ คำอธิบาย
Video_PiP T-Video_PiP หากแอปเล่นวิดีโอ แอปควรจะรองรับการเล่นแบบภาพซ้อนภาพ
Video_Encoding T-Video_Encoding หากแอปเข้ารหัสวิดีโอ แอปควรดำเนินการโดยใช้มาตรฐานการบีบอัดวิดีโอ HEVC
Video_Playback_Background T-Video_Playback_Background

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

  • ลดขนาดเล็กสุด
  • อยู่หลังหน้าต่างอื่นๆ หรือ UI ของระบบ (เช่น หน้าต่างแจ้งเตือนหรือหน้าจอหลัก/หน้าจอล็อก)
  • อยู่นอกหน้าจอเดสก์ท็อปที่มองเห็นได้

การแชร์

รหัส การทดสอบ คำอธิบาย
System_Sharesheet T-System_Sharesheet แอปควรใช้ Android Sharesheet เมื่อแชร์เนื้อหา แอปสามารถแนะนำเป้าหมายที่ใช้ไม่ได้กับโซลูชันที่กำหนดเอง

บริการที่ทำงานอยู่เบื้องหลัง

รหัส การทดสอบ คำอธิบาย
Background_Service_Optimization T-Background_Service_Optimization

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

หมายเหตุ: ระบบจะใช้ข้อจำกัดต่างๆ กับบริการที่ทำงานอยู่เบื้องหลัง

ตัวอย่างการใช้บริการที่ทำงานอยู่เบื้องหลังอย่างไม่เหมาะสมมีดังนี้

  • การคงการเชื่อมต่อเครือข่ายไว้สำหรับการแจ้งเตือน
  • การคงการเชื่อมต่อบลูทูธ
  • เปิด GPS ไว้ตลอดเวลา

ดูข้อมูลเพิ่มเติมได้ที่ภาพรวมของงานที่ทำงานอยู่เบื้องหลัง

ประสิทธิภาพและความเสถียร

แอปควรมีประสิทธิภาพ ความเสถียร ความเข้ากันได้ และการตอบสนองอย่างรวดเร็วที่เหมาะสมที่สุด

ประสิทธิภาพ

รหัส การทดสอบ คำอธิบาย
App_Startup_Time T-App_Startup_Time แอปโหลดเร็วหรือแสดงความคิดเห็นบนหน้าจอแก่ผู้ใช้ (ตัวบ่งชี้ความคืบหน้าหรือสัญญาณที่คล้ายกัน) หากแอปใช้เวลาโหลดนานกว่า 2 วินาที
Rendering_Performance T-Rendering_Performance แอปแสดงผลเฟรมทุกๆ 16 มิลลิวินาที (หรือน้อยกว่า) เพื่อแสดงผลอย่างน้อย 60 เฟรมต่อวินาที หากต้องการความช่วยเหลือเกี่ยวกับปัญหาการแสดงผล โปรดดูหัวข้อการแสดงผลช้า
StrictMode_Compliance T-StrictMode_Compliance เมื่อเปิดใช้ StrictMode (ดูส่วนการทดสอบ StrictMode) จะไม่มีการกะพริบสีแดง (คำเตือนด้านประสิทธิภาพจาก StrictMode) ปรากฏขึ้นเมื่อทดสอบแอป

ความเสถียร

รหัส การทดสอบ คำอธิบาย
Stability_ANR T-Stability_ANR แอปไม่ขัดข้องหรือบล็อกเธรด UI ซึ่งทำให้เกิดข้อผิดพลาด ANR (Android ไม่ตอบสนอง) ใช้รายงานก่อนการเปิดตัวของ Google Play เพื่อระบุปัญหาด้านความเสถียรที่อาจเกิดขึ้น หลังจากการติดตั้งใช้งาน ให้ตรวจสอบหน้า Android Vitals ใน Google Play Console

SDK

รหัส การทดสอบ คำอธิบาย
Android_Platform_Compatibility T-Android_Platform_Compatibility แอปทำงานบนแพลตฟอร์ม Android เวอร์ชันสาธารณะล่าสุดโดยไม่ขัดข้องหรือส่งผลกระทบอย่างรุนแรงต่อฟังก์ชันหลัก
Target_SDK_Version T-Target_SDK_Version แอปกำหนดเป้าหมายเป็น Android SDK เวอร์ชันล่าสุดที่จำเป็นเพื่อให้สอดคล้องกับข้อกำหนดของ Google Play โดยการตั้งค่า targetSdk ในไฟล์ build.gradle ของโมดูลแอป
Compile_SDK_Version T-Target_SDK_Version แอปสร้างขึ้นด้วย Android SDK เวอร์ชันล่าสุดโดยการตั้งค่า compileSdk ในไฟล์ build.gradle ของโมดูลแอป
SDK_Maintenance T-SDK_Maintenance,
T-Non_SDK_Interfaces

SDK ของ Google หรือบุคคลที่สามที่ใช้เป็นเวอร์ชันล่าสุด การปรับปรุง SDK เหล่านี้ที่เกี่ยวข้องกับความเสถียร ความเข้ากันได้ หรือความปลอดภัยควรพร้อมให้บริการแก่ผู้ใช้อย่างทันท่วงที

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

Non_SDK_Interfaces T-Non_SDK_Interfaces แอปไม่ได้ใช้อินเทอร์เฟซที่ไม่ใช่ SDK
Production_Build_Quality T-Production_Build_Quality ไม่มีไลบรารีการแก้ไขข้อบกพร่องรวมอยู่ในแอปเวอร์ชันที่ใช้งานจริง ไลบรารีการแก้ไขข้อบกพร่องที่รวมอยู่ในแอปอาจทำให้เกิดปัญหาด้านประสิทธิภาพและความปลอดภัย

แบตเตอรี่

รหัส การทดสอบ คำอธิบาย
Power_Management T-Power_Management

แอปต้องรองรับฟีเจอร์การจัดการพลังงานDoze และสแตนด์บายแอปอย่างเหมาะสม

แอปสามารถขอการยกเว้นการบำรุงรักษาพลังงานได้ ดูการรองรับ Use Case อื่นๆ ในเพิ่มประสิทธิภาพสำหรับโหมด Doze และสแตนด์บายแอป

ความเป็นส่วนตัวและความปลอดภัย

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

แอปพลิเคชันที่เผยแพร่ใน Google Play Store ต้องเป็นไปตามนโยบายข้อมูลผู้ใช้ของ Google Play เพื่อปกป้องความเป็นส่วนตัวของผู้ใช้ด้วย

สิทธิ์

รหัส การทดสอบ คำอธิบาย
Minimize_Permissions T-Minimize_Permissions แอปขอเฉพาะสิทธิ์ขั้นต่ำที่จำเป็นเพื่อรองรับกรณีการใช้งานปัจจุบันเท่านั้น สำหรับสิทธิ์บางอย่าง เช่น ตำแหน่ง แอปจะใช้ข้อกำหนดคร่าวๆ แทนข้อกำหนดที่ละเอียด หากเป็นไปได้ ดูหัวข้อลดคำขอสิทธิ์
Sensitive_Permissions T-Sensitive_Permissions

แอปขอสิทธิ์เข้าถึงข้อมูลที่ละเอียดอ่อน (เช่น กลุ่มสิทธิ์ SMS หรือบันทึกการโทร หรือตำแหน่ง) หรือบริการที่มีค่าใช้จ่าย (เช่น Dialer หรือ SMS) เฉพาะเมื่อเกี่ยวข้องโดยตรงกับ Use Case หลักของแอปเท่านั้น ต้องเปิดเผยผลกระทบที่เกี่ยวข้องกับสิทธิ์เหล่านี้ให้ผู้ใช้ทราบอย่างชัดเจน

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

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

ข้อมูลและไฟล์

รหัส การทดสอบ คำอธิบาย
Sensitive_Data_Storage T-Sensitive_Data_Storage,
T-Sensitive_Data_Handling
ข้อมูลที่ละเอียดอ่อนทั้งหมดจะจัดเก็บไว้ในที่จัดเก็บข้อมูลภายในของแอป
Sensitive_Data_Logging T-Sensitive_Data_Logging ไม่มีข้อมูลส่วนบุคคลหรือข้อมูลที่ละเอียดอ่อนของผู้ใช้ที่บันทึกไว้ในบันทึกของระบบหรือบันทึกเฉพาะแอป
Hardware_IDs T-Hardware_IDs แอปไม่ได้ใช้รหัสฮาร์ดแวร์ที่รีเซ็ตไม่ได้ เช่น IMEI เพื่อวัตถุประสงค์ในการระบุตัวตน

การสำรองและกู้คืนข้อมูล

รหัส การทดสอบ คำอธิบาย
App_Data_Backup T-App_Data_Backup

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

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

App_Logins_Restoration T-App_Logins_Restoration

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

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

ข้อมูลระบุตัวตน

รหัส การทดสอบ คำอธิบาย
Autofill_Hints T-Autofill_Hints แอปมีคำแนะนำในการป้อนข้อมูลเข้าสู่ระบบของบัญชีโดยอัตโนมัติและข้อมูลที่ละเอียดอ่อนอื่นๆ เช่น ข้อมูลบัตรเครดิต ที่อยู่จริง และหมายเลขโทรศัพท์
Credential_Manager T-Credential_Manager แอปผสานรวม Credential Manager สำหรับ Android เพื่อประสบการณ์การลงชื่อเข้าใช้ที่ราบรื่นซึ่งรวมการรองรับพาสคีย์ ข้อมูลประจำตัวแบบรวมศูนย์ และรหัสผ่านไว้ด้วยกัน
Biometric_Authentication T-Biometric_Authentication แอปต้องรองรับการตรวจสอบสิทธิ์ด้วยข้อมูลไบโอเมตริกเพื่อปกป้องธุรกรรมทางการเงินหรือข้อมูลที่ละเอียดอ่อน เช่น เอกสารสำคัญของผู้ใช้

คอมโพเนนต์ของแอป

รหัส การทดสอบ คำอธิบาย
Component_Export T-Component_Export

แอปตั้งค่าแอตทริบิวต์ android:exported อย่างชัดเจนสำหรับกิจกรรม บริการ Broadcast Receiver และโดยเฉพาะผู้ให้บริการเนื้อหาทั้งหมด

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

Component_Permissions T-Component_Permissions

Intent และการออกอากาศทั้งหมดเป็นไปตามแนวทางปฏิบัติแนะนำต่อไปนี้

Component_Protection T-Component_Protection

คอมโพเนนต์ทั้งหมดที่แชร์เนื้อหาระหว่างแอปจะใช้ android:protectionLevel="signature" สำหรับสิทธิ์ที่กำหนดเอง ซึ่งรวมถึงกิจกรรม บริการ Broadcast Receiver และโดยเฉพาะอย่างยิ่งผู้ให้บริการเนื้อหา

แอปไม่ควรอาศัยการเข้าถึงรายการแพ็กเกจที่ติดตั้ง

เครือข่าย

รหัส การทดสอบ คำอธิบาย
Network_Security_Traffic T-Network_Security_Traffic การจราจรของข้อมูลในเครือข่ายทั้งหมดจะส่งผ่าน SSL
Network_Security_Configuration T-Network_Security_Configuration แอปประกาศการกำหนดค่าการรักษาความปลอดภัยของเครือข่าย
Security_Provider_Initialization T-Security_Provider_Initialization หากแอปใช้บริการ Google Play ผู้ให้บริการด้านความปลอดภัยจะเริ่มต้นเมื่อแอปพลิเคชันเริ่มทำงาน

WebView

รหัส การทดสอบ คำอธิบาย
WebView_Asset_Loader T-WebView_Asset_Loader,
T-WebView_Navigation
อย่าใช้ setAllowUniversalAccessFromFileURLs() เพื่อเข้าถึงเนื้อหาในเครื่อง แต่ให้ใช้ WebViewAssetLoader แทน
WebView_JavaScript T-WebView_JavaScript,
T-WebView_Navigation

มุมมองเว็บไม่ใช้ addJavaScriptInterface() กับเนื้อหาที่ไม่น่าเชื่อถือ

ใน Android 6.0 (ระดับ API 23 ขึ้นไป) ให้ใช้ช่องทางข้อความ HTML แทน

การลงมือปฏิบัติ

รหัส การทดสอบ คำอธิบาย
App_Bundles T-App_Bundles

แอปไม่ได้โหลดโค้ดแบบไดนามิกจากภายนอก APK ของแอป ใช้ Android App Bundle ซึ่งรวมถึงการนำส่งฟีเจอร์ Play และการนำส่งเนื้อหา Play

ตั้งแต่เดือนสิงหาคม 2021 เป็นต้นไป แอปใหม่ทั้งหมดใน Google Play Store จะต้องใช้ Android App Bundle

การเข้ารหัสลับ

รหัส การทดสอบ คำอธิบาย
Cryptographic_Algorithms T-Cryptographic_Algorithms แอปใช้อัลกอริทึมการเข้ารหัสและเครื่องมือสร้างตัวเลขสุ่มที่มีประสิทธิภาพซึ่งแพลตฟอร์มมีให้ นอกจากนี้ แอปยังไม่ได้ใช้อัลกอริทึมที่กำหนดเองด้วย

Google Play

เปิดใช้แอปเพื่อเผยแพร่ใน Google Play

นโยบาย

รหัส การทดสอบ คำอธิบาย
Play_Content_Policies T-Play_Content_Policies แอปปฏิบัติตามข้อกำหนดของนโยบายเนื้อหาสำหรับนักพัฒนาแอป Google Play อย่างเคร่งครัด ไม่นำเสนอเนื้อหาที่ไม่เหมาะสม และไม่ใช้ทรัพย์สินทางปัญญาหรือแบรนด์ของผู้อื่น
Play_Content_Rating T-Play_Content_Policies ระดับวุฒิภาวะของแอปได้รับการตั้งค่าอย่างเหมาะสมตามหลักเกณฑ์การจัดประเภทเนื้อหา

หน้ารายละเอียดแอป

รหัส การทดสอบ คำอธิบาย
Play_Feature_Graphic T-Play_Feature_Graphic,
T-Play_Graphic_Assets

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

  • ข้อมูลแอปมีกราฟิกเด่นคุณภาพสูง
  • กราฟิกเด่นไม่มีรูปภาพอุปกรณ์ ภาพหน้าจอ หรือข้อความขนาดเล็กที่อ่านไม่ออกเมื่อปรับขนาดให้เล็กลงและแสดงบนหน้าจอขนาดเล็กที่สุดที่แอปกำหนดเป้าหมาย
  • กราฟิกเด่นไม่คล้ายกับโฆษณา
Play_Device_References T-Play_Graphic_Assets ภาพหน้าจอและวิดีโอของแอปไม่แสดงหรืออ้างอิงถึงอุปกรณ์ที่ไม่ใช่ Android
Play_Misleading_Content T-Play_Graphic_Assets ภาพหน้าจอหรือวิดีโอของแอปไม่แสดงเนื้อหาและประสบการณ์การใช้งานของแอปในลักษณะที่ทำให้เข้าใจผิด

การสนับสนุนผู้ใช้

รหัส การทดสอบ คำอธิบาย
Play_User_Reviews T-Play_Content_Policies ข้อบกพร่องที่ผู้ใช้รายงานเข้ามาบ่อยๆ ในแท็บรีวิวของหน้า Google Play จะได้รับการแก้ไขหากข้อบกพร่องนั้นสามารถจำลองขึ้นมาใหม่ได้และเกิดขึ้นในอุปกรณ์หลายเครื่อง หากข้อบกพร่องเกิดขึ้นในอุปกรณ์เพียงไม่กี่เครื่อง คุณก็ควรแก้ไขหากอุปกรณ์เหล่านั้นเป็นที่นิยมหรือเป็นอุปกรณ์ใหม่

สภาพแวดล้อมการทดสอบ

ตั้งค่าสภาพแวดล้อมการทดสอบดังนี้

  • การทดสอบโปรแกรมจำลอง: โปรแกรมจำลองของ Android เป็นวิธีที่ยอดเยี่ยมในการทดสอบแอปภายใต้ Android เวอร์ชันต่างๆ และความละเอียดของหน้าจอที่แตกต่างกัน ตั้งค่าอุปกรณ์จำลอง (AVD) เพื่อแสดงรูปแบบของอุปกรณ์ที่พบบ่อยที่สุดและการผสมผสานฮาร์ดแวร์/ซอฟต์แวร์สำหรับฐานผู้ใช้เป้าหมาย ทดสอบรูปแบบของอุปกรณ์ที่หลากหลายโดยใช้โปรแกรมจำลองต่อไปนี้ (เป็นอย่างน้อย)

    • อุปกรณ์แบบพับได้: พับเข้าขนาด 7.6 นิ้วพร้อมจอแสดงผลด้านนอก (แสดงอยู่ในส่วนโทรศัพท์ใน AVD Manager)
    • แท็บเล็ต: Pixel C 9.94 นิ้ว (2,560 x 1,800 พิกเซล)
    • การทดสอบการแจ้งเตือนของแอปบนอุปกรณ์เคลื่อนที่: จับคู่อุปกรณ์เคลื่อนที่ / โปรแกรมจำลองกับโปรแกรมจำลอง Wear OS: Wear OS Round 1.84"
  • อุปกรณ์ฮาร์ดแวร์: สภาพแวดล้อมการทดสอบควรมีอุปกรณ์ฮาร์ดแวร์จริงจำนวนเล็กน้อยที่แสดงถึงรูปแบบหลักๆ และการผสมผสานระหว่างฮาร์ดแวร์/ซอฟต์แวร์ที่ผู้บริโภคมีให้บริการ คุณไม่จำเป็นต้องทดสอบในอุปกรณ์ทุกเครื่องที่มีในตลาด มุ่งเน้นที่อุปกรณ์ตัวแทนจำนวนไม่มาก หรือแม้แต่ใช้อุปกรณ์ 1 หรือ 2 เครื่องต่อรูปแบบของอุปกรณ์

  • Device Test Lab: คุณยังใช้บริการของบุคคลที่สาม เช่น Firebase Test Lab เพื่อทดสอบแอปในอุปกรณ์ที่หลากหลายได้ด้วย

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

ดูคำแนะนำเพิ่มเติมเกี่ยวกับการทดสอบ ซึ่งรวมถึงการทำ Unit Test, การทดสอบการผสานรวม และการทดสอบ UI ได้ที่พื้นฐานของการทดสอบแอป Android

StrictMode

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

ตั้งค่านโยบายการตรวจสอบต่อชุดข้อความโดยใช้ StrictMode.ThreadPolicy.Builder และเปิดใช้การตรวจสอบที่รองรับทั้งหมดใน ThreadPolicy โดยใช้ detectAll()

เปิดใช้การแจ้งเตือนด้วยภาพเกี่ยวกับการละเมิดนโยบายสำหรับ ThreadPolicy โดยใช้ penaltyFlashScreen()

การทดสอบ

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

ประสบการณ์ของผู้ใช้

ทดสอบประสบการณ์ของผู้ใช้ที่สอดคล้องและใช้งานง่าย

ความสามารถในการใช้งาน

รหัส ฟีเจอร์ คำอธิบาย
T-Consistent_UX Consistent_UX

ไปยังส่วนต่างๆ ของแอป ซึ่งรวมถึงหน้าจอ กล่องโต้ตอบ การตั้งค่า และโฟลว์ผู้ใช้ทั้งหมด

โดยทำตามขั้นตอนดังนี้
  • หากแอปพลิเคชันอนุญาตให้แก้ไขหรือสร้างเนื้อหา เล่นเกม หรือเล่นสื่อ ให้ทดสอบขั้นตอนเหล่านั้นด้วย
  • ขณะทดสอบแอป ให้ลองสร้างการรบกวนจากแอปอื่นๆ เช่น การรับการแจ้งเตือนหรือสายเรียกเข้า และใช้การเปลี่ยนแปลงชั่วคราวกับแอตทริบิวต์ของอุปกรณ์ เช่น การเชื่อมต่อเครือข่าย ฟังก์ชันแบตเตอรี่ ความพร้อมใช้งานของ GPS และการโหลดของระบบ
  • ป้อนและทดสอบขั้นตอนการซื้อในแอปทั้งหมด
T-App_Switcher App_Switcher จากหน้าจอแอปแต่ละหน้าจอ ให้สลับไปยังแอปอื่นที่ทำงานอยู่ แล้วกลับไปที่แอปที่อยู่ระหว่างการทดสอบโดยใช้ฟีเจอร์สลับแอปล่าสุด
T-Sleep_Resume Sleep_Resume กดปุ่มเปิด/ปิดเพื่อให้อุปกรณ์เข้าสู่โหมดสลีป จากนั้นกดปุ่มเปิด/ปิดอีกครั้งเพื่อปลุกหน้าจอ
T-Lock_Resume Lock_Resume ตั้งค่าการล็อกหน้าจอในอุปกรณ์ กดปุ่มเปิด/ปิดเพื่อให้อุปกรณ์เข้าสู่โหมดสลีป (ซึ่งจะล็อกอุปกรณ์) จากนั้นกดปุ่มเปิด/ปิดอีกครั้งเพื่อปลุกหน้าจอและปลดล็อกอุปกรณ์

การ์ด SD

รหัส ฟีเจอร์ คำอธิบาย
T-SD_Card Consistent_UX

ทำการทดสอบฟังก์ชันหลักโดยติดตั้งแอปในการ์ด SD ของอุปกรณ์ (หากแอปรองรับวิธีการติดตั้งนี้)

หากต้องการย้ายแอปไปยังการ์ด SD ให้ดูการตั้งค่าของแอป

อินเทอร์เฟซผู้ใช้

รหัส ฟีเจอร์ คำอธิบาย
T-Orientation_Transitions Display_State_Parity,
Fullscreen_Display,
Orientation_Transitions

จากหน้าจอแอปแต่ละหน้าจอ ให้หมุนอุปกรณ์ไปมาระหว่างแนวนอนกับแนวตั้ง และพับกับกางออกอย่างน้อย 3 ครั้ง

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

คุณภาพของภาพ

รหัส ฟีเจอร์ คำอธิบาย
T-Graphic_Quality Graphic_Quality ใช้ฟีเจอร์ทั้งหมดของแอป ตรวจสอบว่าภาพทั้งหมด รวมถึงกราฟิก ข้อความ รูปภาพ และองค์ประกอบ UI อื่นๆ ไม่มีการบิดเบี้ยว เบลอ หรือภาพแตกแบบพิกเซล
T-Line_Length Line_Length

ตรวจสอบบล็อกข้อความทั้งหมดในแอป ยืนยันว่าความยาวบรรทัดของข้อความและบล็อกข้อความจำกัดอยู่ที่ 45-75 อักขระ (รวมเว้นวรรค) เพื่อให้อ่านง่าย

โปรดตรวจสอบสิ่งต่อไปนี้
  • องค์ประกอบเป็นที่ยอมรับในอุปกรณ์ทุกรูปแบบที่รองรับ
  • ไม่มีตัวอักษรหรือคำที่ถูกตัดออก
  • ไม่มีการตัดคำที่ไม่เหมาะสมภายในปุ่มหรือไอคอน
  • ระยะห่างที่เพียงพอระหว่างข้อความและองค์ประกอบโดยรอบ
T-Theme_Support Theme_Support ตรวจสอบว่าข้อความทั้งหมดอ่านได้ในธีมสว่างและธีมมืด ตรวจสอบว่าภาพทั้งหมดมองเห็นได้ชัดเจนและสวยงามทั้งในธีมสว่างและธีมมืด
รหัส ฟีเจอร์ คำอธิบาย
T-Back_Nav Back_Button_Nav,
Back_Gesture_Nav

ไปยังส่วนต่างๆ ของแอป ซึ่งรวมถึงหน้าจอ กล่องโต้ตอบ การตั้งค่า และโฟลว์ผู้ใช้ทั้งหมด

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

T-State_Preservation State_Preservation จากหน้าจอของแต่ละแอป ให้กดปุ่มหน้าแรกของอุปกรณ์หรือปัดขึ้นในการไปยังส่วนต่างๆ ด้วยท่าทางสัมผัส จากนั้นเปิดแอปอีกครั้งจากหน้าจอแอปทั้งหมด

การแจ้งเตือน

รหัส ฟีเจอร์ คำอธิบาย
T-Notification_Quality Notification_Quality,
Conversation_Quality
ทริกเกอร์และสังเกตการแจ้งเตือนทุกประเภทที่แอปแสดงได้ในลิ้นชักการแจ้งเตือน ขยายการแจ้งเตือน (Android 4.1 ขึ้นไป) และแตะการดำเนินการทั้งหมดที่ทำได้

การช่วยเหลือพิเศษ

รหัส ฟีเจอร์ คำอธิบาย
T-Touch_Target_Size Touch_Target_Size ตรวจสอบว่าเป้าหมายการสัมผัสมีขนาดและตำแหน่งที่สอดคล้องกันและเข้าถึงได้สำหรับขนาดและการกำหนดค่าการแสดงผลทั้งหมด ดูข้อมูลเกี่ยวกับการช่วยเหลือพิเศษได้ที่เครื่องตรวจการเข้าถึง
T-Visual_Contrast Visual_Contrast ตรวจสอบคอนทราสต์ขององค์ประกอบภาพทั้งหมด
T-Content_Description Content_Description ตรวจสอบว่าองค์ประกอบ UI ทั้งหมดนอกเหนือจาก TextView มีคำอธิบายเนื้อหา

ฟังก์ชันการทำงาน

ตรวจสอบว่าแอปของคุณใช้ลักษณะการทำงานของฟังก์ชันต่อไปนี้

เสียง

รหัส ฟีเจอร์ คำอธิบาย
T-Audio_Playback_Start Audio_Playback_Start เริ่มเล่นเสียง ตรวจสอบว่าภายใน 1 วินาที แอปเริ่มเล่นเสียงหรือแสดงสัญญาณภาพว่ากำลังเตรียมข้อมูลเสียงสำหรับการเล่น
T-Audio_Focus_Request Audio_Focus_Request เริ่มเล่นเสียง แอปควรขอโฟกัสเสียง เมื่อการเล่นเสียงหยุดลง แอปควรสละโฟกัสเสียง (ซึ่งจะเกิดขึ้นโดยอัตโนมัติสำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (ระดับ API 31) ขึ้นไป)
T-Audio_Focus_Change Audio_Focus_Change เริ่มเล่นเสียง เริ่มเล่นเสียงในแอปอื่น แอปของคุณควรตอบสนองต่อการเปลี่ยนแปลงโฟกัสเสียงและหยุดเล่นเสียงหรือลดระดับเสียงที่เล่น
T-Audio_Playback_Background Audio_Playback_Background

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

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

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

วิดีโอ

รหัส ฟีเจอร์ คำอธิบาย
T-Video_PiP Video_PiP เปิดใช้งานการเล่นวิดีโอของแอปในโหมดการแสดงภาพซ้อนภาพ
T-Video_Encoding Video_Encoding ตรวจสอบว่าแอปเข้ารหัสวิดีโอโดยใช้มาตรฐานการบีบอัดวิดีโอ HEVC
T-Video_Playback_Background Video_Playback_Background เริ่มเล่นวิดีโอ ย่อหน้าต่างแอปให้เล็กสุด เปิดแอปอื่นเพื่อย้ายหน้าต่างแอปไปยังเบื้องหลัง ในอุปกรณ์ที่รองรับเดสก์ท็อป ให้ย้ายหน้าต่างแอปออกจากเดสก์ท็อปที่มองเห็นได้ ตรวจสอบว่าการเล่นวิดีโอดำเนินต่อไปโดยไม่หยุดชะงักในทุกกรณี

การแชร์

รหัส ฟีเจอร์ คำอธิบาย
T-System_Sharesheet System_Sharesheet สร้าง Intent และเริ่มกิจกรรมโดยเรียกใช้ startActivity() โดยมี Intent เป็นอาร์กิวเมนต์ โปรดดูหัวข้อใช้ Android Sharesheet แอปควรแสดง Android Sharesheet

บริการที่ทำงานอยู่เบื้องหลัง

รหัส ฟีเจอร์ คำอธิบาย
T-Background_Service_Optimization Background_Service_Optimization

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

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

ประสิทธิภาพและความเสถียร

ตรวจสอบประสิทธิภาพ ความเสถียร และภาพที่คมชัดระดับพิกเซล

ประสิทธิภาพ

รหัส ฟีเจอร์ คำอธิบาย
T-App_Startup_Time App_Startup_Time เริ่มแอป ยืนยันว่าแอปโหลดอย่างรวดเร็ว หรือมีสัญญาณบอกความคืบหน้าหรือสัญญาณที่คล้ายกันหากแอปใช้เวลาโหลดนานกว่า 2 วินาที
T-Rendering_Performance Rendering_Performance ใช้ฟีเจอร์หลักทั้งหมดของแอป ตรวจสอบว่าแอปแสดงผลอย่างน้อย 60 เฟรมต่อวินาที ใช้ตัวเลือกโปรไฟล์การแสดงผล HWUI เพื่อช่วยทดสอบแอป
T-StrictMode_Compliance StrictMode_Compliance

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

ให้ความสำคัญกับ Garbage Collection และผลกระทบที่มีต่อประสบการณ์ของผู้ใช้

ความเสถียร

รหัส ฟีเจอร์ คำอธิบาย
T-Stability_ANR Stability_ANR ใช้ฟีเจอร์หลักทั้งหมดของแอป ตรวจสอบว่าแอปไม่ขัดข้องหรือบล็อกเธรด UI ซึ่งทำให้เกิดข้อผิดพลาด ANR (Android ไม่ตอบสนอง) ตรวจสอบรายงานก่อนการเปิดตัวของ Google Play เพื่อระบุปัญหาด้านความเสถียรที่อาจเกิดขึ้น

SDK

รหัส ฟีเจอร์ คำอธิบาย
T-Android_Platform_Compatibility Android_Platform_Compatibility เรียกใช้แอปในแพลตฟอร์ม Android เวอร์ชันสาธารณะล่าสุด ใช้ฟีเจอร์หลักทั้งหมด ยืนยันว่าแอปไม่ขัดข้องและทำงานได้โดยไม่สูญเสียฟังก์ชันหลัก
T-Target_SDK_Version Target_SDK_Version,
Compile_SDK_Version
ตรวจสอบไฟล์ Manifest ของ Android และการกำหนดค่าบิลด์เพื่อให้แน่ใจว่าแอปพลิเคชันสร้างขึ้นโดยใช้ SDK เวอร์ชันล่าสุดที่พร้อมใช้งาน (targetSdk และ compileSdk)
T-SDK_Maintenance SDK_Maintenance ตรวจสอบไฟล์ build.gradle ของแอปเพื่อหาทรัพยากร Dependency ที่ล้าสมัย
T-Non_SDK_Interfaces Non_SDK_Interfaces ใช้เครื่องมือ Lint ของ Android Studio เพื่อตรวจหาการใช้อินเทอร์เฟซที่ไม่ใช่ SDK ดูวิธีการทดสอบอื่นๆ ได้ที่ข้อจำกัดเกี่ยวกับอินเทอร์เฟซที่ไม่ใช่ SDK
T-Production_Build_Quality Production_Build_Quality ตรวจสอบไฟล์ build.gradle ของแอปเพื่อหาไลบรารีการแก้ไขข้อบกพร่องที่รวมอยู่

แบตเตอรี่

รหัส ฟีเจอร์ คำอธิบาย
T-Power_Management Power_Management

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

ทดสอบลักษณะการทำงานของโหมด Doze และสแตนด์บายแอปโดยใช้คำสั่ง ADB (ดูข้อกำหนดและหลักเกณฑ์ได้ที่ทดสอบด้วยโหมด Doze และสแตนด์บายแอป)

หากต้องการวิเคราะห์การใช้แบตเตอรี่โดยไม่คาดคิด ให้ใช้ Android Studio Power Profiler หรือเครื่องมือ Battery Historian ร่วมกับงานที่วางแผนไว้ในเบื้องหลัง

ความเป็นส่วนตัวและความปลอดภัย

ทดสอบการปกป้องความเป็นส่วนตัวและความปลอดภัยที่ผู้ใช้คาดหวัง

สิทธิ์

รหัส ฟีเจอร์ คำอธิบาย
T-Minimize_Permissions Minimize_Permissions ตรวจสอบสิทธิ์ทั้งหมดที่แอปของคุณต้องการในไฟล์ Manifest, ขณะรันไทม์ และในการตั้งค่าแอปบนอุปกรณ์ (การตั้งค่า > ข้อมูลแอป)
T-Sensitive_Permissions Sensitive_Permissions ใช้ฟีเจอร์ใดก็ได้ของแอปที่ขอสิทธิ์ ยืนยันว่าแอปขอสิทธิ์เข้าถึงข้อมูลหรือบริการที่ละเอียดอ่อนสำหรับกรณีการใช้งานหลักของแอปเท่านั้น ตรวจสอบว่าได้สื่อสารกับผู้ใช้อย่างชัดเจนเกี่ยวกับผลของการให้สิทธิ์เข้าถึงข้อมูลและบริการที่ละเอียดอ่อน
T-Runtime_Permissions Runtime_Permissions ใช้ฟีเจอร์ทั้งหมดของแอปที่ต้องใช้สิทธิ์ ยืนยันว่ามีการขอสิทธิ์แบบ Lazy กล่าวคือ เฉพาะเมื่อมีการเข้าถึงฟีเจอร์ ไม่ใช่ระหว่างการเริ่มต้นแอป
T-Permission_Rationale Permission_Rationale ใช้ฟีเจอร์ทั้งหมดของแอปที่ต้องใช้สิทธิ์ ยืนยันว่าแอปอธิบายให้ผู้ใช้ทราบถึงสาเหตุที่ต้องใช้สิทธิ์
T-Graceful_Degradation Graceful_Degradation ใช้ฟีเจอร์ทั้งหมดของแอปที่ต้องใช้สิทธิ์ ปฏิเสธหรือเพิกถอนสิทธิ์ ตรวจสอบว่าแอปมี Use Case ทางเลือกและยังคงทำงานต่อไป

ข้อมูลและไฟล์

รหัส ฟีเจอร์ คำอธิบาย
T-Sensitive_Data_Storage Sensitive_Data_Storage ตรวจสอบข้อมูลทั้งหมดที่จัดเก็บไว้ในที่จัดเก็บข้อมูลภายใน ตรวจสอบว่าข้อมูลที่จัดเก็บไว้ภายนอกไม่ใช่ข้อมูลที่ละเอียดอ่อน
T-Sensitive_Data_Handling Sensitive_Data_Storage ตรวจสอบวิธีจัดการและประมวลผลข้อมูลที่โหลดจากพื้นที่เก็บข้อมูลภายนอก
T-Sensitive_Data_Logging Sensitive_Data_Logging ใช้ฟีเจอร์หลักทั้งหมดของแอปขณะตรวจสอบบันทึกของอุปกรณ์ ยืนยันว่าไม่มีการบันทึกข้อมูลส่วนตัวของผู้ใช้
T-Hardware_IDs Hardware_IDs ใช้ฟีเจอร์หลักทั้งหมดของแอป ยืนยันว่าแอปไม่ได้ใช้รหัสฮาร์ดแวร์ เช่น IMEI เพื่อวัตถุประสงค์ในการระบุตัวตน

การสำรองและกู้คืนข้อมูล

รหัส ฟีเจอร์ คำอธิบาย
T-App_Data_Backup App_Data_Backup

กำหนดค่ากำหนดในเครื่อง ฐานข้อมูล และการตั้งค่าแอปในอุปกรณ์หลัก สำรองข้อมูลในระบบคลาวด์หรือโอนจากอุปกรณ์หนึ่งไปยังอีกอุปกรณ์หนึ่ง (D2D) ไปยังอุปกรณ์เครื่องใหม่

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

T-App_Logins_Restoration App_Logins_Restoration

ตั้งค่าเซสชันที่ลงชื่อเข้าใช้ในอุปกรณ์หลักโดยใช้พาสคีย์ รหัสผ่าน หรือ Google Sign-In สำรองข้อมูลในระบบคลาวด์หรือโอนจากอุปกรณ์หนึ่งไปยังอีกอุปกรณ์หนึ่ง (D2D) ไปยังอุปกรณ์เครื่องใหม่

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

ข้อมูลระบุตัวตน

รหัส ฟีเจอร์ คำอธิบาย
T-Autofill_Hints Autofill_Hints ใช้ฟีเจอร์ทั้งหมดของแอปที่ต้องมีการป้อนข้อมูลจากผู้ใช้ ยืนยันว่าแอปแสดงคำแนะนำเพื่อป้อนข้อมูลในช่องป้อนข้อมูลโดยอัตโนมัติ เช่น ข้อมูลเข้าสู่ระบบของบัญชีและข้อมูลที่ละเอียดอ่อนอื่นๆ
T-Credential_Manager Credential_Manager ลงชื่อเข้าใช้แอป ยืนยันว่าแอปผสานรวม Credential Manager สำหรับ Android เพื่อประสบการณ์การลงชื่อเข้าใช้ที่รองรับพาสคีย์, ข้อมูลประจำตัวแบบรวมศูนย์ และรหัสผ่านในที่เดียว
T-Biometric_Authentication Biometric_Authentication ใช้ฟีเจอร์ทั้งหมดของแอปที่ต้องมีการตรวจสอบสิทธิ์ ยืนยันว่าแอปปกป้องธุรกรรมทางการเงินหรือข้อมูลที่ละเอียดอ่อน เช่น เอกสารสำคัญของผู้ใช้ ด้วยการตรวจสอบสิทธิ์ด้วยข้อมูลไบโอเมตริก

คอมโพเนนต์ของแอป

รหัส ฟีเจอร์ คำอธิบาย
T-Component_Export Component_Export ตรวจสอบคอมโพเนนต์ของแอปพลิเคชันทั้งหมดที่กำหนดไว้ในไฟล์ Manifest ของ Android เพื่อดูสถานะการส่งออกที่เหมาะสม ต้องตั้งค่าพร็อพเพอร์ตี้ที่ส่งออกอย่างชัดเจนสำหรับคอมโพเนนต์ทั้งหมด
T-Component_Permissions Component_Permissions ตรวจสอบสิทธิ์ทั้งหมดที่แอปของคุณต้องการในไฟล์ Manifest, ขณะรันไทม์ และในการตั้งค่าแอปบนอุปกรณ์ (การตั้งค่า > ข้อมูลแอป)
T-Component_Protection Component_Protection ตรวจสอบ Content Provider ทั้งหมดที่กำหนดไว้ในไฟล์ Manifest ของ Android ตรวจสอบว่าผู้ให้บริการแต่ละรายมี protectionLevel ที่เหมาะสม

เครือข่าย

รหัส ฟีเจอร์ คำอธิบาย
T-Network_Security_Traffic Network_Security_Traffic ประกาศการกำหนดค่าการรักษาความปลอดภัยของเครือข่ายที่ปิดใช้การรับส่งข้อมูลแบบข้อความที่โอนหรือจัดเก็บได้โดยไม่ต้องเข้ารหัส แล้วทดสอบแอป
T-Network_Security_Configuration Network_Security_Configuration ตรวจสอบการกำหนดค่าการรักษาความปลอดภัยของเครือข่ายของแอป ตรวจสอบว่าไม่มีการตรวจสอบ Lint ในการกำหนดค่าที่ล้มเหลว
T-Security_Provider_Initialization Security_Provider_Initialization ยืนยันว่าผู้ให้บริการด้านความปลอดภัยได้รับการเริ่มต้นเมื่อแอปพลิเคชันเริ่มต้นสำหรับบริการ Google Play

WebView

รหัส ฟีเจอร์ คำอธิบาย
T-WebView_Asset_Loader WebView_Asset_Loader ตรวจสอบการกำหนดค่าการรักษาความปลอดภัยของเครือข่ายของแอป ตรวจสอบว่าไม่มีการตรวจสอบ Lint ในการกำหนดค่าที่ล้มเหลว
T-WebView_JavaScript WebView_JavaScript สำหรับ WebView แต่ละรายการ ให้ไปที่หน้าที่ต้องใช้ JavaScript
T-WebView_Navigation WebView_Asset_Loader,
WebView_JavaScript
ใน WebView แต่ละรายการ ให้พยายามไปยังเว็บไซต์และเนื้อหาที่แอปไม่ได้โหลดโดยตรง

การลงมือปฏิบัติ

รหัส ฟีเจอร์ คำอธิบาย
T-App_Bundles App_Bundles ตรวจสอบว่าแอปใช้ Android App Bundle และไม่ได้โหลดโค้ดแบบไดนามิกจากภายนอก APK ของแอป

การเข้ารหัสลับ

รหัส ฟีเจอร์ คำอธิบาย
T-Cryptographic_Algorithms Cryptographic_Algorithms ตรวจสอบว่าแอปใช้อัลกอริทึมการเข้ารหัสและเครื่องมือสร้างตัวเลขสุ่มที่รัดกุมซึ่งแพลตฟอร์มมีให้ นอกจากนี้ ให้ตรวจสอบว่าแอปไม่ได้ใช้อัลกอริทึมที่กำหนดเอง

Google Play

ยืนยันว่าแอปของคุณพร้อมสำหรับ Google Play

นโยบาย

รหัส ฟีเจอร์ คำอธิบาย
T-Play_Content_Policies Play_Content_Policies,
Play_Content_Rating,
Play_User_Reviews
ลงชื่อเข้าใช้ Google Play Console เพื่อตรวจสอบโปรไฟล์นักพัฒนาแอป คำอธิบายแอป ภาพหน้าจอ กราฟิกเด่น การจัดประเภทเนื้อหา และความคิดเห็นของผู้ใช้

หน้ารายละเอียดแอป

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

เก็บ

หลักเกณฑ์ด้านคุณภาพของแอปหลักฉบับก่อนหน้า