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

ความสําเร็จระยะยาวของแอปในแง่ของจํานวนการติดตั้งและรีวิวของผู้ใช้ การมีส่วนร่วม และการคงผู้ใช้ไว้

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

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

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

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

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

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

หลักเกณฑ์

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

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

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

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

รหัส การทดสอบ คำอธิบาย
ความสามารถในการใช้งาน
ความสามารถในการใช้งาน:UX T-Usability:Core,
T-SD-Card
แอปมอบประสบการณ์การใช้งานที่สอดคล้องกันสำหรับ Use Case ของแอปทั้งหมดในทุกรูปแบบ
ความสามารถในการใช้งาน:Switcher T-Usability:Switcher,
T-SD-Card
แอปจะเข้าสู่เบื้องหลังเมื่อโฟกัสเปลี่ยนไปที่แอปอื่น แอปจะกลับสู่เบื้องหน้าเมื่อเปิดใช้งานอีกครั้งจากตัวสลับแอปล่าสุด
ความสามารถในการใช้งาน:การนอนหลับ T-Usability:Sleep,
T-SD-Card
เมื่อแอปเป็นแอปที่ทำงานอยู่เบื้องหน้า แอปจะหยุดชั่วคราวเมื่ออุปกรณ์เข้าสู่โหมดสลีป และจะกลับมาทำงานต่อเมื่ออุปกรณ์กลับมาทำงาน
ความสามารถในการใช้งาน:ล็อก T-Usability:Lock,
T-SD-Card
เมื่อแอปเป็นแอปที่ทำงานอยู่เบื้องหน้า แอปจะหยุดชั่วคราวเมื่ออุปกรณ์ล็อกอยู่ และจะกลับมาทำงานต่อเมื่ออุปกรณ์ปลดล็อก
ส่วนติดต่อผู้ใช้
UI:Parity T-UI:การเปลี่ยนภาพ

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

UI:เต็มหน้าจอ T-UI:การเปลี่ยนภาพ

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

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

UI:Transitions T-UI:การเปลี่ยนภาพ แอปจัดการการเปลี่ยนการวางแนวการแสดงผลและการพับและกางอุปกรณ์อย่างรวดเร็วโดยไม่มีปัญหาการแสดงผลและไม่สูญเสียสถานะ
คุณภาพของภาพ
ภาพ:Display T-Visual:Display

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

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

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

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

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

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

แจ้งเตือน:การรับส่งข้อความ T-Notify:Info

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

การช่วยเหลือพิเศษ
การเข้าถึง:เป้าหมาย T-Access:Targets เป้าหมายการสัมผัสมีขนาดอย่างน้อย 48 dp ดูหลักเกณฑ์เลย์เอาต์และการพิมพ์ของ Material Design
Access:Contrast T-Access:Contrast

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

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

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

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

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

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

รหัส การทดสอบ คำอธิบาย
เสียง
เสียง:Init T-Audio:Init

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

  • เริ่มเล่นเสียง
  • ระบุภาพที่บ่งบอกว่าระบบกำลังเตรียมข้อมูลเสียง
เสียง:โฟกัส T-Audio:Focus แอปควรร้องขอโฟกัสเสียงเมื่อเริ่มเล่นเสียงและละทิ้งโฟกัสเสียงเมื่อหยุดเล่น
เสียง:ขัดจังหวะ T-Audio:Interrupt แอปควรจัดการคำขอโฟกัสเสียงของแอปอื่นๆ ตัวอย่างเช่น แอปอาจลดระดับเสียงการเล่นเมื่อแอปอื่นเล่นคำพูด
เสียง:พื้นหลัง T-Audio:Background แอปควรรองรับการเล่นอยู่เบื้องหลัง
เสียง:การแจ้งเตือน T-Audio:Notification เมื่อแอปเล่นเสียงในเบื้องหลัง แอปต้องสร้างการแจ้งเตือนที่จัดรูปแบบด้วย MediaStyle
เสียง:เล่นต่อ T-Audio:Resume หากแอปทำงานในเบื้องหลังและหยุดเสียงชั่วคราว เสียงจะกลับมาเล่นต่อเมื่อแอปกลับมาทำงานในเบื้องหน้า หรือแอปต้องระบุให้ผู้ใช้ทราบว่าการเล่นอยู่ในสถานะหยุดชั่วคราว
วิดีโอ
วิดีโอ:PIP T-Video:PiP หากแอปเล่นวิดีโอได้ แอปควรรองรับการเล่นแบบภาพซ้อนภาพ
วิดีโอ:การเข้ารหัส T-Video:การเข้ารหัส หากแอปเข้ารหัสวิดีโอ แอปควรเข้ารหัสโดยใช้มาตรฐานการบีบอัดวิดีโอ HEVC
การแชร์
การแชร์:ชีต T-Sharing:Sheet แอปควรใช้ชีตการแชร์ของ Android เมื่อแชร์เนื้อหา แอปสามารถแนะนำเป้าหมายที่โซลูชันที่กำหนดเองใช้ไม่ได้
บริการในเบื้องหลัง
พื้นหลัง:บริการ T-Background:Services

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

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

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

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

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

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

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

รหัส การทดสอบ คำอธิบาย
ประสิทธิภาพ
ประสิทธิภาพ:สตาร์ทอัพ T- Performance:Startup แอปโหลดอย่างรวดเร็วหรือแสดงความคิดเห็นบนหน้าจอต่อผู้ใช้ (ตัวบ่งชี้ความคืบหน้าหรือคิวที่คล้ายกัน) หากแอปใช้เวลานานกว่า 2 วินาทีในการโหลด
ประสิทธิภาพ:FPS T-Performance:FPS แอปจะแสดงผลเฟรมทุกๆ 16 มิลลิวินาที (หรือน้อยกว่า) เพื่อแสดงอย่างน้อย 60 เฟรมต่อวินาที หากต้องการความช่วยเหลือเกี่ยวกับปัญหาการแสดงผล โปรดดูการแสดงผลช้า
ประสิทธิภาพ:เข้มงวด T-Performance:Strict เมื่อเปิดใช้ StrictMode (ดูส่วนการทดสอบ StrictMode) จะไม่มีการกะพริบสีแดง (คำเตือนด้านประสิทธิภาพจาก StrictMode) ให้เห็นเมื่อทดสอบแอป
ความเสถียร
ความเสถียร:ANR T-Stability:ANR แอปไม่ขัดข้องหรือบล็อกเธรด UI ซึ่งทำให้เกิดข้อผิดพลาด ANR (Android ไม่ตอบสนอง) ใช้รายงานก่อนการเปิดตัวของ Google Play เพื่อระบุปัญหาด้านความเสถียรที่อาจเกิดขึ้น หลังจากการติดตั้งใช้งาน ให้ตรวจสอบหน้า Android Vitals ใน Google Play Console
SDK
SDK:Platform T-SDK:Platform แอปทํางานบนแพลตฟอร์ม Android เวอร์ชันสาธารณะล่าสุดโดยไม่ขัดข้องหรือส่งผลกระทบอย่างรุนแรงต่อฟังก์ชันหลัก
SDK:Target T-SDK:ล่าสุด แอปกำหนดเป้าหมายเป็น Android SDK ล่าสุดที่จำเป็นเพื่อให้สอดคล้องกับข้อกำหนดของ Google Play โดยการตั้งค่า targetSdk ในไฟล์ build.gradle ของโมดูลแอป
SDK:Compile T-SDK:ล่าสุด แอปสร้างขึ้นด้วย Android SDK ล่าสุดโดยการตั้งค่า compileSdk ในไฟล์ build.gradle ของโมดูลแอป
SDK:3P T-SDK:3P,
T-SDK:Non

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

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

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

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

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

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

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

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

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

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

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

สิทธิ์:รันไทม์ T-Permissions:Runtime แอปจะขอสิทธิ์รันไทม์เมื่อมีการขอฟังก์ชันการทำงาน แทนที่จะขอในระหว่างการเริ่มต้นแอป
สิทธิ์:อธิบาย T-Permissions:Explain แอปอธิบายอย่างชัดเจนว่าเหตุใดจึงต้องมีสิทธิ์
สิทธิ์:ลดระดับ T-Permissions:Degrade แอปจะลดลงอย่างค่อยเป็นค่อยไปเมื่อผู้ใช้ปฏิเสธหรือเพิกถอนสิทธิ์ แอปไม่ควรป้องกันไม่ให้ผู้ใช้เข้าถึงโดยสิ้นเชิง
ข้อมูลและไฟล์
ข้อมูล:ละเอียดอ่อน T-Data:Sensitive,
T-Data:Handling
ข้อมูลที่ละเอียดอ่อนทั้งหมดจะจัดเก็บไว้ในที่เก็บข้อมูลภายในของแอป
ข้อมูล:บันทึก T-Data:Log ระบบจะไม่บันทึกข้อมูลส่วนบุคคลหรือข้อมูลที่ละเอียดอ่อนของผู้ใช้ลงในบันทึกของระบบหรือบันทึกเฉพาะแอป
ข้อมูล:รหัส T-Data:IDs แอปไม่ได้ใช้รหัสฮาร์ดแวร์ที่รีเซ็ตไม่ได้ เช่น IMEI เพื่อวัตถุประสงค์ในการระบุตัวตน
ข้อมูลระบุตัวตน
Identity:Hints T-Identity:Hints แอปจะให้คำแนะนำในการป้อนข้อความอัตโนมัติสำหรับข้อมูลเข้าสู่ระบบบัญชีและข้อมูลที่ละเอียดอ่อนอื่นๆ เช่น ข้อมูลบัตรเครดิต ที่อยู่จริง และหมายเลขโทรศัพท์
Identity:CredMan T-Identity:CredMan แอปผสานรวมเครื่องมือจัดการข้อมูลเข้าสู่ระบบสำหรับ Android เพื่อประสบการณ์การลงชื่อเข้าใช้ที่ราบรื่นซึ่งรวมการรองรับพาสคีย์ ข้อมูลประจำตัวแบบรวม และรหัสผ่านไว้ด้วยกัน
ข้อมูลประจำตัว:ประวัติ T-Identity:Bio แอปรองรับการตรวจสอบสิทธิ์ด้วยไบโอเมตริกเพื่อปกป้องธุรกรรมทางการเงินหรือข้อมูลที่ละเอียดอ่อน เช่น เอกสารสำคัญของผู้ใช้
คอมโพเนนต์ของแอป
คอมโพเนนต์:ส่งออก T-Components:Export

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

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

Components:Permissions T-Components:Permissions

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

ส่วนประกอบ:การป้องกัน T-Components:Protection

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

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

เครือข่าย
เครือข่าย:การเข้าชม T-Network:Traffic ระบบจะส่งการรับส่งข้อมูลเครือข่ายทั้งหมดผ่าน SSL
เครือข่าย:Config T-Network:Config แอปประกาศการกำหนดค่าความปลอดภัยของเครือข่าย
เครือข่าย:Play T-Network:Play หากแอปใช้บริการ Google Play ระบบจะเริ่มต้นผู้ให้บริการความปลอดภัยเมื่อแอปพลิเคชันเริ่มต้น
WebView
WebView:Config T-WebViews:Config,
T-WebViews:Nav
อย่าใช้ setAllowUniversalAccessFromFileURLs() ในการเข้าถึงเนื้อหาในพื้นที่ แต่ให้ใช้ WebViewAssetLoader แทน
WebView:JavaScript T-WebViews:JavaScript,
T-WebViews:Nav

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

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

การลงมือปฏิบัติ
การดำเนินการ:การซื้อเป็นชุด T-Execution:Bundles

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

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

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

Google Play

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

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

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

  • ข้อมูลแอปมีกราฟิกเด่นคุณภาพสูง
  • ภาพฟีเจอร์ไม่มีรูปภาพอุปกรณ์ ภาพหน้าจอ หรือข้อความขนาดเล็กที่อ่านไม่ออกเมื่อลดขนาดและแสดงบนหน้าจอขนาดเล็กที่สุดที่แอปของคุณกำหนดเป้าหมาย
  • กราฟิกฟีเจอร์ไม่คล้ายกับโฆษณา
Play:NonAndroid T-Play:Assets ภาพหน้าจอและวิดีโอของแอปไม่แสดงหรืออ้างอิงถึงอุปกรณ์ที่ไม่ใช่ Android
Play:Misleading T-Play:Assets ภาพหน้าจอหรือวิดีโอของแอปไม่ได้แสดงเนื้อหาและประสบการณ์การใช้งานของแอปในลักษณะที่ทำให้เข้าใจผิด
การสนับสนุนผู้ใช้
Play:Bugs T-Play: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-Usability:Core ความสามารถในการใช้งาน:UX

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

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

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

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

ส่วนติดต่อผู้ใช้
T-UI:Transitions UI:Parity,
UI:Fullscreen,
UI:Transitions

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

ตรวจสอบว่าแอปทำสิ่งต่อไปนี้
  • ให้ฟังก์ชันการทำงานที่เท่าเทียมกันในทุกการวางแนวการแสดงผลและสถานะการพับ
  • เติมเต็มหน้าต่างแอปในทุกการวางแนวการแสดงผลและสถานะการพับ และไม่มีการแสดงแถบดำ
  • รักษาสถานะและไม่มีปัญหาการแสดงผลระหว่างการเปลี่ยนการวางแนวอย่างรวดเร็ว รวมถึงการพับและกางอุปกรณ์
คุณภาพของภาพ
T-Visual:Display ภาพ:Display ใช้ฟีเจอร์ทั้งหมดของแอป ตรวจสอบว่าภาพทั้งหมด รวมถึงกราฟิก ข้อความ รูปภาพ และองค์ประกอบอื่นๆ ของ UI ไม่มีการบิดเบือน เบลอ หรือเป็นพิกเซล
T-Visual:Readability ภาพ:ความสามารถในการอ่าน

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

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

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

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

T-Nav:State Nav:State จากหน้าจอแอปแต่ละหน้าจอ ให้กดปุ่มหน้าแรกของอุปกรณ์หรือปัดขึ้นในการนำทางด้วยท่าทางสัมผัส จากนั้นเปิดแอปอีกครั้งจากหน้าจอแอปทั้งหมด
การแจ้งเตือน
T-Notify:Info Notify:Info,
Notify:Messaging
ทริกเกอร์และสังเกตการแจ้งเตือนทุกประเภทที่แอปแสดงได้ในลิ้นชักการแจ้งเตือน ขยายการแจ้งเตือนหากมี (Android 4.1 ขึ้นไป) แล้วแตะการดำเนินการทั้งหมดที่มี
การช่วยเหลือพิเศษ
T-Access:Targets การเข้าถึง:เป้าหมาย ตรวจสอบว่าเป้าหมายการแตะมีขนาดและตำแหน่งที่สอดคล้องกันและเข้าถึงได้สําหรับขนาดและการกําหนดค่าการแสดงผลทั้งหมด ดูข้อมูลเกี่ยวกับการช่วยเหลือพิเศษได้ที่เครื่องตรวจการเข้าถึง
T-Access:Contrast Access:Contrast ตรวจสอบคอนทราสต์ขององค์ประกอบภาพทั้งหมด
T-Access:Description Access:Description ตรวจสอบว่าองค์ประกอบ UI ทั้งหมดนอกเหนือจาก TextView มีคำอธิบายเนื้อหา

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

รหัส ฟีเจอร์ คำอธิบาย
เสียง
T-Audio:Init เสียง:Init เริ่มเล่นเสียง ตรวจสอบว่าภายใน 1 วินาที แอปจะเริ่มเล่นเสียงหรือแสดงตัวบ่งชี้ด้วยภาพว่ากำลังเตรียมข้อมูลเสียงสำหรับการเล่น
T-Audio:Focus Audio:Focus เริ่มเล่นเสียง แอปควรขอโฟกัสเสียง เมื่อการเล่นเสียงหยุดลง แอปควรปล่อยโฟกัสเสียง (ซึ่งจะเกิดขึ้นโดยอัตโนมัติสำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31) ขึ้นไป)
T-Audio:Interrupt เสียง:ขัดจังหวะ เริ่มเล่นเสียง เริ่มเล่นเสียงในแอปอื่น แอปของคุณควรตอบสนองต่อการเปลี่ยนแปลงโฟกัสเสียงและหยุดเล่นเสียงหรือลดระดับเสียงการเล่น
T-Audio:Background เสียง:พื้นหลัง เริ่มเล่นเสียง โต้ตอบกับแอปที่ไม่ใช่เสียงอื่นในฐานะแอปที่ทำงานอยู่ แอปควรเล่นเสียงต่อไปในเบื้องหลัง
T-Audio:Notification เสียง:การแจ้งเตือน เริ่มเล่นเสียง โต้ตอบกับแอปที่ไม่ใช่เสียงอื่นในฐานะแอปที่ทำงานอยู่เบื้องหน้า ตรวจสอบว่าแอปของคุณยังคงเล่นเสียงในเบื้องหลังและได้สร้างการแจ้งเตือนที่มีรูปแบบเป็น MediaStyle ดูการทำงานร่วมกับตัวควบคุมสื่อ
T-Audio:Resume เสียง:เล่นต่อ เริ่มเล่นเสียง โต้ตอบกับแอปอื่นที่ไม่ใช่แอปเสียงในฐานะแอปที่ทำงานอยู่ โต้ตอบกับแอปของคุณเพื่อให้เป็นแอปที่อยู่ด้านบนสุด เสียงควรกลับมาเล่นต่อหรือระดับเสียงควรกลับมาเป็นปกติ ไม่เช่นนั้น แอปควรแจ้งให้ผู้ใช้ทราบว่าระบบหยุดเล่นชั่วคราว
T-Video:PiP วิดีโอ:PiP เปิดใช้งานการเล่นวิดีโอของแอปในโหมดการแสดงภาพซ้อนภาพ
T-Video:Encoding วิดีโอ:การเข้ารหัส ตรวจสอบว่าแอปเข้ารหัสวิดีโอโดยใช้มาตรฐานการบีบอัดวิดีโอ HEVC
การแชร์
การแชร์:ชีต สร้าง Intent และเริ่มกิจกรรมโดยการเรียกใช้ startActivity() โดยมี Intent เป็นอาร์กิวเมนต์ ดูที่หัวข้อใช้ชีตการแชร์ของ Android แอปของคุณควรแสดงชีตการแชร์ของ Android
บริการในเบื้องหลัง
CR-6 เบื้องหลัง:บริการ

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

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

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

รหัส ฟีเจอร์ คำอธิบาย
ประสิทธิภาพ
T- Performance:Startup ประสิทธิภาพ:การเริ่มต้น เริ่มแอป ตรวจสอบว่าแอปโหลดได้อย่างรวดเร็ว หรือแสดงตัวบ่งชี้ความคืบหน้าหรือคิวที่คล้ายกันหากแอปใช้เวลาโหลดนานกว่า 2 วินาที
T-Performance:FPS ประสิทธิภาพ:FPS ใช้ฟีเจอร์หลักทั้งหมดของแอป ตรวจสอบว่าแอปแสดงผลอย่างน้อย 60 เฟรมต่อวินาที ใช้ตัวเลือกการแสดงผล HWUI ตามโปรไฟล์เพื่อช่วยทดสอบแอป
T-Performance:Strict ประสิทธิภาพ:เข้มงวด

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

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

ความเสถียร
T-Stability:ANR ความเสถียร:ANR ใช้ฟีเจอร์หลักทั้งหมดของแอป ตรวจสอบว่าแอปไม่ขัดข้องหรือบล็อกเธรด UI ซึ่งทำให้เกิดข้อผิดพลาด ANR (Android ไม่ตอบสนอง) ตรวจสอบรายงานก่อนการเปิดตัวของ Google Play เพื่อระบุปัญหาด้านความเสถียรที่อาจเกิดขึ้น
SDK
T-SDK:Platform SDK:Platform เรียกใช้แอปในแพลตฟอร์ม Android เวอร์ชันสาธารณะล่าสุด ใช้ฟีเจอร์หลักทั้งหมด ตรวจสอบว่าแอปไม่ขัดข้องและทํางานโดยไม่มีการสูญเสียฟังก์ชันหลัก
T-SDK:ล่าสุด SDK:Target,
SDK:Compile
ตรวจสอบไฟล์ Manifest ของ Android และการกำหนดค่าบิลด์เพื่อให้แน่ใจว่าแอปพลิเคชันสร้างขึ้นเทียบกับ SDK ล่าสุดที่พร้อมใช้งาน (targetSdk และ compileSdk)
T-SDK:3P SDK:3P ตรวจสอบไฟล์ build.gradle ของแอปเพื่อดูทรัพยากร Dependency ที่ล้าสมัย
T-SDK:Non SDK:Non ใช้เครื่องมือ Lint ของ Android Studio เพื่อตรวจหาการใช้อินเทอร์เฟซที่ไม่ได้อยู่ใน SDK ดูวิธีการทดสอบทางเลือกได้ที่ข้อจำกัดเกี่ยวกับอินเทอร์เฟซที่ไม่ใช่ SDK
T-SDK:Debug SDK:Debug ตรวจสอบไฟล์ build.gradle ของแอปเพื่อหาไลบรารีการแก้ไขข้อบกพร่องที่รวมอยู่
แบตเตอรี่
T-Battery:Manage แบตเตอรี่:จัดการ

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

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

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

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

รหัส ฟีเจอร์ คำอธิบาย
สิทธิ์
T-Permissions:Min สิทธิ์:Min ตรวจสอบสิทธิ์ทั้งหมดที่แอปของคุณต้องใช้ในไฟล์ Manifest, ที่รันไทม์ และในการตั้งค่าแอปในอุปกรณ์ (การตั้งค่า > ข้อมูลแอป)
T-Permissions:Sensitive สิทธิ์:มีความละเอียดอ่อน ใช้ฟีเจอร์ใดก็ได้ของแอปที่ขอสิทธิ์ ยืนยันว่าแอปขอสิทธิ์เข้าถึงข้อมูลหรือบริการที่ละเอียดอ่อนเฉพาะกรณีการใช้งานหลักของแอปเท่านั้น ตรวจสอบว่าได้แจ้งให้ผู้ใช้ทราบอย่างชัดเจนถึงผลที่ตามมาของการให้สิทธิ์เข้าถึงข้อมูลและบริการที่ละเอียดอ่อน
T-Permissions:Runtime สิทธิ์:รันไทม์ ใช้ฟีเจอร์ทั้งหมดของแอปที่ต้องใช้สิทธิ์ ตรวจสอบว่ามีการขอสิทธิ์แบบเลซี นั่นคือ ขอเฉพาะเมื่อมีการเข้าถึงฟีเจอร์ ไม่ใช่ระหว่างการเริ่มต้นแอป
T-Permissions:Explain สิทธิ์:อธิบาย ใช้ฟีเจอร์ทั้งหมดของแอปที่ต้องใช้สิทธิ์ ตรวจสอบว่าแอปอธิบายให้ผู้ใช้ทราบถึงเหตุผลที่ต้องใช้สิทธิ์
T-Permissions:Degrade สิทธิ์:ลดคุณภาพ ใช้ฟีเจอร์ทั้งหมดของแอปที่ต้องใช้สิทธิ์ ปฏิเสธหรือเพิกถอนสิทธิ์ ตรวจสอบว่าแอปมี Use Case ทางเลือกและยังคงทำงานได้
ข้อมูลและไฟล์
T-Data:Sensitive ข้อมูล:ละเอียดอ่อน ตรวจสอบข้อมูลทั้งหมดที่จัดเก็บไว้ในที่เก็บข้อมูลภายใน ตรวจสอบว่าข้อมูลที่จัดเก็บภายนอกไม่ใช่ข้อมูลที่ละเอียดอ่อน
T-Data:Handling ข้อมูล:ละเอียดอ่อน ตรวจสอบวิธีจัดการและประมวลผลข้อมูลที่โหลดจากที่เก็บข้อมูลภายนอก
T-Data:Log ข้อมูล:บันทึก ใช้ฟีเจอร์หลักทั้งหมดของแอปขณะตรวจสอบบันทึกของอุปกรณ์ ตรวจสอบว่าไม่มีการบันทึกข้อมูลส่วนตัวของผู้ใช้
T-Data:IDs ข้อมูล:รหัส ใช้ฟีเจอร์หลักทั้งหมดของแอป ตรวจสอบว่าแอปไม่ได้ใช้รหัสฮาร์ดแวร์ เช่น IMEI เพื่อวัตถุประสงค์ในการระบุตัวตน
ข้อมูลระบุตัวตน
T-Identity:Hints Identity:Hints ใช้ฟีเจอร์ทั้งหมดของแอปที่ต้องมีการป้อนข้อมูลจากผู้ใช้ ตรวจสอบว่าแอปมีคำแนะนำในการป้อนข้อความอัตโนมัติในช่องป้อนข้อมูลสำหรับข้อมูล เช่น ข้อมูลเข้าสู่ระบบของบัญชีและข้อมูลอื่นๆ ที่ละเอียดอ่อน
T-Identity:CredMan Identity:CredMan ลงชื่อเข้าใช้แอป ตรวจสอบว่าแอปผสานรวม Credential Manager สำหรับ Android เพื่อประสบการณ์การลงชื่อเข้าใช้ที่รวมการรองรับพาสคีย์ ข้อมูลประจำตัวแบบรวม และรหัสผ่าน
T-Identity:Bio ข้อมูลระบุตัวตน:ประวัติ ใช้ฟีเจอร์ทั้งหมดของแอปที่ต้องมีการตรวจสอบสิทธิ์ ตรวจสอบว่าแอปปกป้องธุรกรรมทางการเงินหรือข้อมูลที่ละเอียดอ่อน เช่น เอกสารสำคัญของผู้ใช้ ด้วยการตรวจสอบสิทธิ์ด้วยไบโอเมตริก
คอมโพเนนต์ของแอป
T-Components:Export คอมโพเนนต์:ส่งออก ตรวจสอบคอมโพเนนต์ของแอปพลิเคชันทั้งหมดที่กำหนดไว้ในไฟล์ Android Manifest เพื่อดูสถานะการส่งออกที่เหมาะสม ต้องตั้งค่าพร็อพเพอร์ตี้ที่ส่งออกอย่างชัดเจนสำหรับคอมโพเนนต์ทั้งหมด
T-Components:Permissions Components:Permissions ตรวจสอบสิทธิ์ทั้งหมดที่แอปของคุณต้องใช้ในไฟล์ Manifest, ที่รันไทม์ และในการตั้งค่าแอปในอุปกรณ์ (การตั้งค่า > ข้อมูลแอป)
T-Components:Protection คอมโพเนนต์:การป้องกัน ตรวจสอบผู้ให้บริการเนื้อหาทั้งหมดที่กำหนดไว้ในไฟล์ AndroidManifest.xml ตรวจสอบว่าผู้ให้บริการแต่ละรายมี protectionLevel ที่เหมาะสม
เครือข่าย
T-Network:การเข้าชม เครือข่าย:การเข้าชม ประกาศการกำหนดค่าความปลอดภัยของเครือข่ายที่ปิดใช้การเข้าชมแบบข้อความธรรมดา (Cleartext) จากนั้นทดสอบแอป
T-Network:Config เครือข่าย:Config ตรวจสอบการกำหนดค่าความปลอดภัยของเครือข่ายของแอป ตรวจสอบว่าการตรวจสอบ Lint ในการกำหนดค่าไม่ล้มเหลว
T-Network:Play เครือข่าย:Play ตรวจสอบว่ามีการเริ่มต้นผู้ให้บริการด้านความปลอดภัยเมื่อแอปพลิเคชันเริ่มต้นสำหรับบริการ Google Play
WebView
T-WebViews:Config WebView:Config ตรวจสอบการกำหนดค่าความปลอดภัยของเครือข่ายของแอป ตรวจสอบว่าการตรวจสอบ Lint ในการกำหนดค่าไม่ล้มเหลว
T-WebViews:JavaScript WebView:JavaScript สําหรับ WebView แต่ละรายการ ให้ไปที่หน้าที่ต้องใช้ JavaScript
T-WebViews:Nav WebViews:Config,
WebViews:JavaScript
ในแต่ละ WebView ให้พยายามไปยังเว็บไซต์และเนื้อหาที่แอปไม่ได้โหลดโดยตรง
การลงมือปฏิบัติ
T-Execution:Bundles การดำเนินการ:แพ็กเกจ ตรวจสอบว่าแอปใช้ Android App Bundle และไม่ได้โหลดโค้ดแบบไดนามิกจากภายนอก APK ของแอป
วิทยาการเข้ารหัสลับ
T-Crypto:Algorithms คริปโต:อัลกอริทึม ตรวจสอบว่าแอปใช้อัลกอริทึมการเข้ารหัสลับและตัวสร้างหมายเลขแบบสุ่มที่รัดกุมซึ่งแพลตฟอร์มมีให้ และตรวจสอบด้วยว่าแอปไม่ได้ใช้อัลกอริทึมที่กำหนดเอง

Google Play

รหัส ฟีเจอร์ คำอธิบาย
นโยบาย
T-Play:Policies Play:Policies,
Play:Maturity,
Play:Bugs
ลงชื่อเข้าใช้ Google Play Console เพื่อตรวจสอบโปรไฟล์นักพัฒนาแอป คำอธิบายแอป ภาพหน้าจอ กราฟิกฟีเจอร์ การจัดประเภทเนื้อหา และความคิดเห็นของผู้ใช้
หน้ารายละเอียดแอป
T-Play:Graphics Play:Graphics ดาวน์โหลดภาพฟีเจอร์และภาพหน้าจอ แล้วปรับขนาดให้เล็กลงเพื่อให้ตรงกับขนาดการแสดงผลในอุปกรณ์และรูปแบบของอุปกรณ์ที่คุณกำหนดเป้าหมาย
T-Play:Assets Play:Graphics,
Play:NonAndroid,
Play:Misleading
ตรวจสอบชิ้นงานกราฟิก สื่อ ข้อความ ไลบรารีโค้ด และเนื้อหาอื่นๆ ทั้งหมดที่รวมอยู่ในแอปหรือการดาวน์โหลดไฟล์ส่วนขยาย

เก็บ

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