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

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

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

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

แอป 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

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

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

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 เมื่อแชร์เนื้อหา แอปสามารถแนะนำเป้าหมายที่โซลูชันที่กำหนดเองใช้ไม่ได้

บริการในเบื้องหลัง

รหัส การทดสอบ คำอธิบาย
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) เฉพาะเมื่อเกี่ยวข้องโดยตรงกับกรณีการใช้งานหลักของแอป ต้องเปิดเผยผลกระทบที่เกี่ยวข้องกับสิทธิ์เหล่านี้อย่างชัดเจนต่อผู้ใช้

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

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

รหัส การทดสอบ คำอธิบาย
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 อย่างชัดเจนสำหรับกิจกรรม บริการ เครื่องรับสัญญาณออกอากาศ และโดยเฉพาะอย่างยิ่งผู้ให้บริการเนื้อหาทั้งหมด

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

Component_Permissions T-Component_Permissions

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

Component_Protection T-Component_Protection

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

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

เครือข่าย

รหัส การทดสอบ คำอธิบาย
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

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

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

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

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

แอปต้องไม่โหลดแบบไดนามิกโค้ดจากภายนอก APK ของแอป ใช้ Android App Bundle ซึ่งมี Play Feature Delivery และ Play Asset Delivery

ตั้งแต่เดือนสิงหาคม 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 เครื่องต่อรูปแบบก็ตาม

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

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

ดูคำแนะนำเพิ่มเติมเกี่ยวกับการทดสอบ รวมถึงการทดสอบหน่วย การทดสอบการผสานรวม และการทดสอบ 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 ขนาดเป้าหมายการสัมผัส ตรวจสอบว่าเป้าหมายการแตะมีขนาดและตำแหน่งที่สอดคล้องกันและเข้าถึงได้สําหรับการกำหนดค่าและขนาดการแสดงผลทั้งหมด ดูข้อมูลเกี่ยวกับการช่วยเหลือพิเศษได้ที่เครื่องตรวจการเข้าถึง
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 แอปของคุณควรแสดงชีตการแชร์ของ Android

บริการในเบื้องหลัง

รหัส ฟีเจอร์ คำอธิบาย
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คำเตือนด้านประสิทธิภาพ นั่นคือไม่มีการกะพริบสีแดงเมื่อทดสอบแอป การกะพริบสีแดงบ่งบอกถึงลักษณะการทำงานที่ไม่ดีเกี่ยวกับการจัดเก็บ การเข้าถึงเครือข่าย หรือการจัดการหน่วยความจำ (เช่น หน่วยความจำรั่ว)

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

ความเสถียร

รหัส ฟีเจอร์ คำอธิบาย
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 และสแตนด์บายแอปโดยใช้คำสั่ง ADB (ดูข้อกำหนดและหลักเกณฑ์ได้ที่ทดสอบด้วย Doze และสแตนด์บายแอป)

หากต้องการวินิจฉัยปัญหาแบตเตอรี่หมดเร็วโดยไม่คาดคิด ให้ใช้โปรไฟล์เลอร์พลังงานของ Android Studio หรือเครื่องมือ Battery Historian ร่วมกับงานที่วางแผนไว้ในเบื้องหลัง

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

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

สิทธิ์

รหัส ฟีเจอร์ คำอธิบาย
T-Minimize_Permissions Minimize_Permissions ตรวจสอบสิทธิ์ทั้งหมดที่แอปของคุณต้องใช้ในไฟล์ Manifest, ที่รันไทม์ และในการตั้งค่าแอปในอุปกรณ์ (การตั้งค่า > ข้อมูลแอป)
T-Sensitive_Permissions Sensitive_Permissions ใช้ฟีเจอร์ใดก็ได้ของแอปที่ขอสิทธิ์ ยืนยันว่าแอปขอสิทธิ์เข้าถึงข้อมูลหรือบริการที่ละเอียดอ่อนเฉพาะกรณีการใช้งานหลักของแอปเท่านั้น ตรวจสอบว่าได้แจ้งให้ผู้ใช้ทราบอย่างชัดเจนถึงผลที่ตามมาของการให้สิทธิ์เข้าถึงข้อมูลและบริการที่ละเอียดอ่อน
T-Runtime_Permissions Runtime_Permissions ใช้ฟีเจอร์ทั้งหมดของแอปที่ต้องใช้สิทธิ์ ตรวจสอบว่ามีการขอสิทธิ์แบบเลซี่ นั่นคือ ขอเฉพาะเมื่อมีการเข้าถึงฟีเจอร์ ไม่ใช่ระหว่างการเริ่มต้นแอป
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-Autofill_Hints Autofill_Hints ใช้ฟีเจอร์ทั้งหมดของแอปที่ต้องมีการป้อนข้อมูลจากผู้ใช้ ตรวจสอบว่าแอปมีคำแนะนำในการป้อนข้อความอัตโนมัติในช่องป้อนข้อมูลสำหรับข้อมูล เช่น ข้อมูลเข้าสู่ระบบของบัญชีและข้อมูลอื่นๆ ที่ละเอียดอ่อน
T-Credential_Manager Credential_Manager ลงชื่อเข้าใช้แอป ตรวจสอบว่าแอปผสานรวม Credential Manager สำหรับ Android เพื่อประสบการณ์การลงชื่อเข้าใช้ที่รวมการรองรับพาสคีย์ ข้อมูลประจำตัวแบบรวม และรหัสผ่าน
T-Biometric_Authentication Biometric_Authentication ใช้ฟีเจอร์ทั้งหมดของแอปที่ต้องมีการตรวจสอบสิทธิ์ ตรวจสอบว่าแอปปกป้องธุรกรรมทางการเงินหรือข้อมูลที่ละเอียดอ่อน เช่น เอกสารสำคัญของผู้ใช้ ด้วยการตรวจสอบสิทธิ์ด้วยไบโอเมตริก

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

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

เครือข่าย

รหัส ฟีเจอร์ คำอธิบาย
T-Network_Security_Traffic Network_Security_Traffic ประกาศการกำหนดค่าความปลอดภัยของเครือข่ายที่ปิดใช้การเข้าชมแบบข้อความธรรมดา (Cleartext) จากนั้นทดสอบแอป
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,
การจัดประเภทเนื้อหาของ Play,
รีวิวของผู้ใช้ใน Play
ลงชื่อเข้าใช้ Google Play Console เพื่อตรวจสอบโปรไฟล์นักพัฒนาแอป คำอธิบายแอป ภาพหน้าจอ กราฟิกฟีเจอร์ การจัดประเภทเนื้อหา และความคิดเห็นของผู้ใช้

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

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

เก็บ

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