ตัวกรองใน Google Play

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

การกรองใน Google Play จะอิงตามข้อมูลเมตาของแอปและการตั้งค่าการกําหนดค่าหลายประเภท ซึ่งรวมถึงการประกาศไฟล์ Manifest, ไลบรารีที่จําเป็น, Dependency ของสถาปัตยกรรม และการควบคุมการเผยแพร่ที่ตั้งค่าไว้ใน Google Play Console เช่น การกำหนดเป้าหมายตามภูมิศาสตร์ การกำหนดราคา และอื่นๆ

การกรองของ Google Play ส่วนหนึ่งอิงตามการประกาศไฟล์ Manifest และด้านอื่นๆ ของเฟรมเวิร์ก Android แต่ลักษณะการกรองจริงจะแตกต่างจากเฟรมเวิร์กและไม่ผูกอยู่กับระดับ API ที่เจาะจง เอกสารนี้ระบุกฎการกรองปัจจุบันที่ Google Play ใช้

วิธีการทํางานของตัวกรองใน Google Play

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

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

หากแอปพลิเคชันใช้งานร่วมกับอุปกรณ์ได้ตามกฎตัวกรอง Google Play จะแสดงแอปพลิเคชันต่อผู้ใช้ มิเช่นนั้น Google Play จะซ่อนแอปพลิเคชันของคุณจากผลการค้นหาและการเรียกดูหมวดหมู่ แม้ว่าผู้ใช้จะขอแอปโดยเฉพาะโดยคลิก Deep Link ที่ชี้ไปยังรหัสของแอปใน Google Play โดยตรงก็ตาม

คุณสามารถใช้ฟิลเตอร์ที่มีให้สำหรับแอปของคุณร่วมกันได้ เช่น คุณอาจตั้งค่าminSdkVersionข้อกำหนดเป็น "4" และตั้งค่า smallScreens="false" ในแอป จากนั้นเมื่ออัปโหลดแอปไปยัง Google Play คุณจะกำหนดเป้าหมายไปยังประเทศ (ผู้ให้บริการ) ในยุโรปเท่านั้นได้ ดังนั้นตัวกรองของ Google Play จะป้องกันไม่ให้แอปพลิเคชันพร้อมให้บริการในอุปกรณ์ใดก็ตามที่ไม่ตรงกับข้อกำหนดทั้ง 3 ข้อนี้

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

การกรองในเว็บไซต์ Google Play

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

การกรองตามไฟล์ Manifest ของแอป

ตัวกรองส่วนใหญ่จะทริกเกอร์โดยองค์ประกอบภายในไฟล์ Manifest ของแอปพลิเคชัน ซึ่งก็คือ AndroidManifest.xml (แม้ว่าทุกอย่างในไฟล์ Manifest จะทริกเกอร์การกรองไม่ได้) ตารางที่ 1 แสดงองค์ประกอบของไฟล์ Manifest ที่คุณควรใช้เพื่อทริกเกอร์การกรอง และอธิบายวิธีการทํางานของการกรองสําหรับแต่ละองค์ประกอบ

ตารางที่ 1 องค์ประกอบไฟล์ Manifest ที่ทริกเกอร์การกรองใน Google Play

องค์ประกอบไฟล์ Manifest ชื่อตัวกรอง วิธีการทำงาน
<supports-screens> ขนาดหน้าจอ

แอปพลิเคชันจะระบุขนาดหน้าจอที่รองรับโดยการตั้งค่าแอตทริบิวต์ขององค์ประกอบ <supports-screens> เมื่อเผยแพร่แอปพลิเคชันแล้ว Google Play จะใช้แอตทริบิวต์เหล่านั้นเพื่อพิจารณาว่าจะแสดงแอปพลิเคชันต่อผู้ใช้หรือไม่ โดยอิงตามขนาดหน้าจอของอุปกรณ์

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

หากแอปพลิเคชันไม่ได้ประกาศแอตทริบิวต์สำหรับ <supports-screens> ไว้ Google Play จะใช้ค่าเริ่มต้นสำหรับแอตทริบิวต์เหล่านั้น ซึ่งจะแตกต่างกันไปตามระดับ API ดังนี้

  • สําหรับแอปพลิเคชันที่กําหนด android: minSdkVersion หรือ android: targetSdkVersion เป็น 3 หรือต่ำกว่า องค์ประกอบ <supports-screens> จะไม่มีการกำหนดค่า และแอตทริบิวต์จะไม่พร้อมใช้งาน ในกรณีนี้ Google Play จะถือว่าแอปพลิเคชันออกแบบมาสำหรับหน้าจอขนาดปกติและแสดงแอปพลิเคชันต่ออุปกรณ์ที่มีหน้าจอขนาดปกติหรือใหญ่กว่า
  • เมื่อตั้งค่า android: minSdkVersion หรือ android: targetSdkVersion เป็น 4 ขึ้นไป ค่าเริ่มต้นสำหรับแอตทริบิวต์ทั้งหมดจะเป็น "true" วิธีนี้จะทำให้ระบบถือว่าแอปพลิเคชันรองรับหน้าจอทุกขนาดโดยค่าเริ่มต้น

ตัวอย่างที่ 1
ไฟล์ Manifest ประกาศ <uses-sdk android:minSdkVersion="3"> และไม่มีองค์ประกอบ <supports-screens> ผลลัพธ์: Google Play จะไม่แสดงแอปต่อผู้ใช้อุปกรณ์หน้าจอขนาดเล็ก แต่จะแสดงต่อผู้ใช้อุปกรณ์หน้าจอปกติและหน้าจอขนาดใหญ่ เว้นแต่จะมีการใช้ตัวกรองอื่นๆ

ตัวอย่างที่ 2
ไฟล์ Manifest ประกาศ <uses-sdk android:minSdkVersion="3" android:targetSdkVersion="4"> และไม่มีองค์ประกอบ <supports-screens> ผลลัพธ์: Google Play จะแสดงแอปต่อผู้ใช้ในอุปกรณ์ทุกรุ่น เว้นแต่จะมีการใช้ตัวกรองอื่นๆ

ตัวอย่างที่ 3
ไฟล์ Manifest ประกาศ <uses-sdk android:minSdkVersion="4"> และไม่มีองค์ประกอบ <supports-screens> ผลลัพธ์: Google Play จะแสดงแอปต่อผู้ใช้ทุกคน เว้นแต่จะมีการใช้ตัวกรองอื่นๆ

ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีประกาศการรองรับขนาดหน้าจอในแอปพลิเคชันได้ที่ <supports-screens> และการรองรับหน้าจอหลายขนาด

<uses-configuration> อุปกรณ์ การกําหนดค่า:
แป้นพิมพ์ การนําทาง หน้าจอสัมผัส

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

ตัวอย่างที่ 1
ไฟล์ Manifest มี <uses-configuration android:reqFiveWayNav="true" /> และผู้ใช้กําลังค้นหาแอปในอุปกรณ์ที่ไม่มีการควบคุมการไปยังส่วนต่างๆ ได้ 5 ทิศทาง ผลลัพธ์: Google Play จะไม่แสดงแอปต่อผู้ใช้

ตัวอย่างที่ 2
ไฟล์ Manifest ไม่มีองค์ประกอบ <uses-configuration> ผลลัพธ์: Google Play จะแสดงแอปต่อผู้ใช้ทุกคน เว้นแต่จะมีการใช้ตัวกรองอื่นๆ

ดูรายละเอียดเพิ่มเติมได้ที่ <uses-configuration>

<uses-feature> ฟีเจอร์ของอุปกรณ์
(name)

แอปพลิเคชันอาจกำหนดให้อุปกรณ์มีฟีเจอร์บางอย่าง ฟังก์ชันการทำงานนี้เปิดตัวใน Android 2.0 (API ระดับ 5)

ตัวอย่างที่ 1
ไฟล์ Manifest มี <uses-feature android:name="android.hardware.sensor.light" /> และผู้ใช้กำลังค้นหาแอปในอุปกรณ์ที่ไม่มีเซ็นเซอร์แสง ผลลัพธ์: Google Play จะไม่แสดงแอปต่อผู้ใช้

ตัวอย่างที่ 2
ไฟล์ Manifest ไม่มีองค์ประกอบ <uses-feature> ผลลัพธ์: Google Play จะแสดงแอปต่อผู้ใช้ทุกคน เว้นแต่จะมีการใช้ตัวกรองอื่นๆ

ดูข้อมูลทั้งหมดได้ที่ <uses-feature>

การกรองตามฟีเจอร์โดยนัย: ในบางกรณี Google Play จะตีความสิทธิ์ที่ขอผ่านองค์ประกอบ <uses-permission> เป็นข้อกำหนดฟีเจอร์ที่เทียบเท่ากับข้อกำหนดที่ประกาศไว้ในองค์ประกอบ <uses-feature> ดู<uses-permission>ด้านล่าง

OpenGL-ES เวอร์ชัน
(openGlEsVersion)

แอปพลิเคชันกำหนดให้อุปกรณ์รองรับเวอร์ชัน OpenGL-ES ที่เฉพาะเจาะจงได้โดยใช้แอตทริบิวต์ <uses-feature android:openGlEsVersion="int">

ตัวอย่างที่ 1
แอปขอ OpenGL-ES หลายเวอร์ชันโดยระบุ openGlEsVersion หลายครั้งในไฟล์ Manifest ผลลัพธ์: Google Play จะถือว่าแอปต้องใช้เวอร์ชันที่ระบุไว้สูงสุด

ตัวอย่างที่ 2
แอปขอ OpenGL-ES เวอร์ชัน 1.1 และผู้ใช้กำลังค้นหาแอปในอุปกรณ์ที่รองรับ OpenGL-ES เวอร์ชัน 2.0 ผลลัพธ์: Google Play จะแสดงแอปต่อผู้ใช้ เว้นแต่จะมีการใช้ตัวกรองอื่นๆ หากอุปกรณ์รายงานว่ารองรับ OpenGL-ES เวอร์ชัน X ทาง Google Play จะถือว่าอุปกรณ์รองรับเวอร์ชันก่อนหน้า X ด้วย

ตัวอย่างที่ 3
ผู้ใช้กําลังค้นหาแอปในอุปกรณ์ที่ไม่ได้รายงานเวอร์ชัน OpenGL-ES (เช่น อุปกรณ์ที่ใช้ Android 1.5 หรือเก่ากว่า) ผลลัพธ์: Google Play จะถือว่าอุปกรณ์รองรับเฉพาะ OpenGL-ES 1.0 Google Play จะแสดงเฉพาะแอปของผู้ใช้ที่ไม่ได้ระบุ openGlEsVersion หรือแอปที่ไม่ได้ระบุ OpenGL-ES เวอร์ชันที่สูงกว่า 1.0

ตัวอย่างที่ 4
ไฟล์ Manifest ไม่ระบุ openGlEsVersion ผลลัพธ์: Google Play จะแสดงแอปต่อผู้ใช้ทุกคน เว้นแต่จะมีการใช้ตัวกรองอื่นๆ

ดูรายละเอียดเพิ่มเติมได้ที่ <uses-feature>

<uses-library> ไลบรารีซอฟต์แวร์

แอปพลิเคชันอาจกำหนดให้ต้องมีคลังที่ใช้ร่วมกันที่เฉพาะเจาะจงในอุปกรณ์

ตัวอย่างที่ 1
แอปต้องใช้ไลบรารี com.google.android.maps และผู้ใช้กำลังค้นหาแอปในอุปกรณ์ที่ไม่มีไลบรารี com.google.android.maps ผลลัพธ์: Google Play จะไม่แสดงแอปต่อผู้ใช้

ตัวอย่างที่ 2
ไฟล์ Manifest ไม่มีองค์ประกอบ <uses-library> ผลลัพธ์: Google Play จะแสดงแอปต่อผู้ใช้ทุกคน เว้นแต่จะมีการใช้ตัวกรองอื่นๆ

ดูรายละเอียดเพิ่มเติมได้ที่ <uses-library>

<uses-permission>  

จริงๆ แล้ว Google Play ไม่ได้กรองตามองค์ประกอบ <uses-permission> อย่างไรก็ตาม เครื่องมือจะอ่านองค์ประกอบเพื่อพิจารณาว่าแอปพลิเคชันมีข้อกำหนดฟีเจอร์ฮาร์ดแวร์ซึ่งอาจไม่ได้ประกาศอย่างถูกต้องในองค์ประกอบ <uses-feature> หรือไม่ ตัวอย่างเช่น หากแอปพลิเคชันขอสิทธิ์ CAMERA แต่ไม่ได้ประกาศองค์ประกอบ <uses-feature> สำหรับ android.hardware.camera ทาง Google Play จะถือว่าแอปพลิเคชันต้องใช้กล้องและไม่ควรแสดงต่อผู้ใช้ที่อุปกรณ์ไม่มีกล้อง

โดยทั่วไป หากแอปพลิเคชันขอสิทธิ์ที่เกี่ยวข้องกับฮาร์ดแวร์ Google Play จะถือว่าแอปพลิเคชันต้องใช้ฟีเจอร์ฮาร์ดแวร์ที่เกี่ยวข้อง แม้ว่าอาจไม่มีการประกาศ<uses-feature>ที่เกี่ยวข้องก็ตาม จากนั้น Google Play จะตั้งค่าการกรองตามฟีเจอร์ที่ระบุโดยนัยในประกาศ <uses-feature>

โปรดดูรายการสิทธิ์ที่บ่งบอกถึงฟีเจอร์ฮาร์ดแวร์ในเอกสารประกอบขององค์ประกอบ <uses-feature>

<uses-sdk> เวอร์ชันเฟรมเวิร์กต่ำสุด (minSdkVersion)

แอปพลิเคชันกำหนดระดับ API ขั้นต่ำได้

ตัวอย่างที่ 1
ไฟล์ Manifest มี <uses-sdk android:minSdkVersion="3"> และแอปใช้ API ที่เปิดตัวใน API ระดับ 3 ผู้ใช้ค้นหาแอปในอุปกรณ์ที่มี API ระดับ 2 ผลลัพธ์: Google Play จะไม่แสดงแอปต่อผู้ใช้

ตัวอย่างที่ 2
ไฟล์ Manifest ไม่มี minSdkVersion และแอปใช้ API ที่เปิดตัวใน API ระดับ 3 ผู้ใช้ค้นหาแอปในอุปกรณ์ที่มี API ระดับ 2 ผลลัพธ์: Google Play จะถือว่า minSdkVersion คือ "1" และแอปเข้ากันได้กับ Android ทุกเวอร์ชัน Google Play แสดงแอปต่อผู้ใช้และอนุญาตให้ผู้ใช้ดาวน์โหลดแอปได้ แต่แอปขัดข้องเมื่อรันไทม์

เนื่องจากคุณต้องการหลีกเลี่ยงสถานการณ์ที่ 2 นี้ เราจึงขอแนะนำให้คุณประกาศ minSdkVersion เสมอ ดูรายละเอียดได้ที่ android:minSdkVersion

เวอร์ชันเฟรมเวิร์กสูงสุด (maxSdkVersion)

เลิกใช้งานแล้ว Android 2.1 ขึ้นไปจะไม่ตรวจสอบหรือบังคับใช้แอตทริบิวต์ maxSdkVersion และ SDK จะไม่คอมไพล์หากตั้งค่า maxSdkVersion ในไฟล์ Manifest ของแอป สำหรับอุปกรณ์ที่คอมไพล์ด้วย maxSdkVersion อยู่แล้ว Google Play จะยอมรับและนำไปใช้กรอง

เราไม่แนะนำให้ประกาศ maxSdkVersion ดูรายละเอียดได้ที่ android:maxSdkVersion

ตัวกรองไฟล์ Manifest ขั้นสูง

นอกจากองค์ประกอบไฟล์ Manifest ในตารางที่ 1 แล้ว Google Play ยังกรองแอปพลิเคชันตามองค์ประกอบไฟล์ Manifest ขั้นสูงในตารางที่ 2 ได้ด้วย

องค์ประกอบไฟล์ Manifest เหล่านี้และการกรองที่เรียกใช้มีไว้สำหรับ Use Case พิเศษเท่านั้น ฟีเจอร์เหล่านี้ออกแบบมาสำหรับเกมที่มีประสิทธิภาพสูงบางประเภทและแอปพลิเคชันที่คล้ายกันซึ่งต้องใช้การควบคุมที่เข้มงวดในการเผยแพร่แอปพลิเคชัน แอปพลิเคชันส่วนใหญ่ไม่ควรใช้ตัวกรองเหล่านี้

ตารางที่ 2 องค์ประกอบไฟล์ Manifest ขั้นสูงสำหรับการกรองของ Google Play

องค์ประกอบไฟล์ Manifestสรุป
<compatible-screens>

Google Play จะกรองแอปพลิเคชันหากขนาดและความหนาแน่นของหน้าจออุปกรณ์ไม่ตรงกับการกำหนดค่าหน้าจอใดๆ (ที่ประกาศโดยองค์ประกอบ <screen>) ในองค์ประกอบ <compatible-screens>

ข้อควรระวัง: ปกติแล้วคุณไม่ควรใช้องค์ประกอบไฟล์ Manifest นี้ การใช้องค์ประกอบนี้อาจทำให้ฐานผู้ใช้ที่มีโอกาสเป็นลูกค้าของแอปพลิเคชันลดลงอย่างมาก เนื่องจากจะยกเว้นชุดค่าผสมขนาดและความละเอียดของหน้าจอทั้งหมดที่คุณไม่ได้ระบุไว้ คุณควรใช้องค์ประกอบไฟล์ Manifest <supports-screens> แทน (อธิบายไว้ด้านบนในตาราง 1) เพื่อเปิดใช้โหมดความเข้ากันได้ของหน้าจอสำหรับการกำหนดค่าหน้าจอที่คุณไม่ได้คำนึงถึงแหล่งข้อมูลอื่น

<supports-gl-texture>

Google Play จะกรองแอปพลิเคชัน เว้นแต่อุปกรณ์จะรองรับรูปแบบการบีบอัดพื้นผิว GL อย่างน้อย 1 รูปแบบที่แอปพลิเคชันรองรับ

ตัวกรองอื่นๆ

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

ตารางที่ 3 ลักษณะของแอปพลิเคชันและลักษณะการเผยแพร่ที่ส่งผลต่อตัวกรองใน Google Play

ชื่อตัวกรอง วิธีการทำงาน
สถานะการเผยแพร่

เฉพาะแอปพลิเคชันที่เผยแพร่แล้วเท่านั้นที่จะปรากฏในการค้นหาและการเรียกดูภายใน Google Play

แม้ว่าแอปจะเลิกเผยแพร่แล้ว แต่ผู้ใช้จะยังติดตั้งแอปได้หากเห็นแอปดังกล่าวในพื้นที่ดาวน์โหลดท่ามกลางแอปที่ซื้อ ติดตั้ง หรือถอนการติดตั้งไปเมื่อเร็วๆ นี้

หากแอปพลิเคชันถูกระงับ ผู้ใช้จะติดตั้งหรืออัปเดตแอปพลิเคชันนั้นไม่ได้ แม้ว่าแอปพลิเคชันจะปรากฏในส่วนดาวน์โหลดก็ตาม

ราคา สถานะ

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

การกำหนดเป้าหมายตามประเทศ

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

สถาปัตยกรรม CPU (ABI)

แอปพลิเคชันที่มีไลบรารีแบบเนทีฟที่กำหนดเป้าหมายสถาปัตยกรรม CPU ที่เจาะจง (เช่น ARM EABI v7 หรือ x86) จะแสดงในอุปกรณ์ที่รองรับสถาปัตยกรรมนั้นเท่านั้น โปรดดูรายละเอียดเกี่ยวกับ NDK และการใช้ไลบรารีที่มาพร้อมเครื่องที่หัวข้อAndroid NDK คืออะไร

แอปพลิเคชันที่มีการป้องกันการคัดลอก

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

การเผยแพร่ APK หลายรายการด้วยตัวกรองที่แตกต่างกัน

ตัวกรองบางอย่างของ Google Play ช่วยให้คุณเผยแพร่ APK หลายรายการสำหรับแอปพลิเคชันเดียวกันได้ เพื่อให้บริการ APK ที่แตกต่างกันสำหรับการกำหนดค่าอุปกรณ์ที่แตกต่างกัน ตัวอย่างเช่น หากกำลังสร้างวิดีโอเกมที่ใช้ชิ้นงานกราฟิกที่มีความละเอียดสูง คุณอาจต้องสร้าง APK 2 รายการที่รองรับรูปแบบการบีบอัดพื้นผิวที่แตกต่างกัน วิธีนี้จะช่วยให้คุณลดขนาดไฟล์ APK ได้ด้วยการรวมเฉพาะพื้นผิวที่จําเป็นสําหรับการกําหนดค่าอุปกรณ์แต่ละรายการ Google Play จะส่ง APK ที่คุณประกาศว่ารองรับอุปกรณ์นั้นให้กับอุปกรณ์ โดยขึ้นอยู่กับการรองรับรูปแบบการบีบอัดพื้นผิวของอุปกรณ์แต่ละเครื่อง

ปัจจุบัน Google Play อนุญาตให้คุณเผยแพร่ APK หลายรายการสําหรับแอปพลิเคชันเดียวกันได้ก็ต่อเมื่อ APK แต่ละรายการมีตัวกรองที่แตกต่างกันตามการกําหนดค่าต่อไปนี้

  • รูปแบบการบีบอัดพื้นผิว OpenGL

    โดยใช้องค์ประกอบ <supports-gl-texture>

  • ขนาดหน้าจอ (และความหนาแน่นของหน้าจอ หากต้องการ)

    โดยใช้องค์ประกอบ <supports-screens> หรือ <compatible-screens>

  • ระดับ API

    โดยใช้องค์ประกอบ <uses-sdk>

  • สถาปัตยกรรม CPU (ABI)

    โดยการรวมไลบรารีเนทีฟที่สร้างขึ้นด้วย Android NDK ซึ่งกำหนดเป้าหมายไปยังสถาปัตยกรรม CPU ที่เฉพาะเจาะจง (เช่น ARM EABI v7 หรือ x86)

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

ข้อควรระวัง: การเผยแพร่ APK หลายรายการสำหรับแอปพลิเคชันเดียวกันถือเป็นฟีเจอร์ขั้นสูง และแอปพลิเคชันส่วนใหญ่ควรเผยแพร่ APK เพียงรายการเดียวที่รองรับการกำหนดค่าอุปกรณ์ที่หลากหลาย การเผยแพร่ APK หลายรายการกำหนดให้คุณต้องทำตามกฎที่เฉพาะเจาะจงภายในตัวกรองและให้ความสำคัญเป็นพิเศษกับรหัสเวอร์ชันของ APK แต่ละรายการเพื่อให้แน่ใจว่าเส้นทางการอัปเดตสำหรับการกำหนดค่าแต่ละรายการถูกต้อง

หากต้องการข้อมูลเพิ่มเติมเกี่ยวกับวิธีเผยแพร่ APK หลายรายการใน Google Play โปรดอ่านการรองรับ APK หลายรายการ

ดูเพิ่มเติม

  1. ความเข้ากันได้กับ Android
  2. การรองรับ APK หลายรายการ