ปฏิบัติตามข้อกำหนดของระดับ API เป้าหมายของ Google Play

เมื่ออัปโหลด APK คุณต้องปฏิบัติตามข้อกำหนดระดับ API เป้าหมายของ Google Play

ตั้งแต่วันที่ 31 สิงหาคม 2026 เป็นต้นไปจะมีการดำเนินการต่อไปนี้

  • แอปใหม่และการอัปเดตแอปต้องกำหนดเป้าหมายเป็น Android 16 (ระดับ API 36) ขึ้นไปเพื่อส่งไปยัง Google Play ยกเว้นแอป Wear OS และ Android Automotive OS ซึ่งต้องกำหนดเป้าหมายเป็น Android 15 (ระดับ API 35) ขึ้นไป และแอป Android TV และ Android XR ซึ่งต้องกำหนดเป้าหมายเป็น Android 14 (ระดับ API 34) ขึ้นไป
  • แอปที่มีอยู่ต้องกำหนดเป้าหมายเป็น Android 15 (API ระดับ 35) ขึ้นไปเพื่อให้พร้อมใช้งานสำหรับผู้ใช้ใหม่ซึ่งมีอุปกรณ์ที่ใช้ระบบปฏิบัติการ Android เวอร์ชันใหม่กว่าระดับ API เป้าหมายของแอป แอปที่กำหนดเป้าหมายเป็น Android 14 (API ระดับ 34) หรือต่ำกว่า รวมถึง Android 13 (API ระดับ 33) หรือต่ำกว่าสำหรับ Wear OS, Android TV และ Android XR และ Android 12 (API ระดับ 31) หรือต่ำกว่าสำหรับ Android Automotive OS จะพร้อมใช้งานเฉพาะในอุปกรณ์ที่ใช้ระบบปฏิบัติการ Android ที่มีเวอร์ชันเดียวกันหรือต่ำกว่าระดับ API เป้าหมายของแอปเท่านั้น

หากต้องการเวลาเพิ่มเติมในการอัปเดตแอป คุณจะขอขยายเวลาได้จนถึงวันที่ 1 พฤศจิกายน 2026 คุณจะเข้าถึงแบบฟอร์มขยายเวลาของแอปใน Play Console ได้ภายในปีนี้

ข้อยกเว้นสำหรับข้อกำหนดเหล่านี้ ได้แก่

  • แอปส่วนตัวแบบถาวรที่จำกัดไว้สำหรับผู้ใช้ในองค์กรหนึ่งโดยเฉพาะและมีไว้เพื่อการเผยแพร่ภายในเท่านั้น

เหตุใดจึงควรกำหนดเป้าหมายเป็น SDK เวอร์ชันใหม่

Android เวอร์ชันใหม่ทุกเวอร์ชันมีการเปลี่ยนแปลงที่ช่วยเพิ่มความปลอดภัยและประสิทธิภาพ และช่วยปรับปรุงประสบการณ์การใช้งาน Android ของผู้ใช้ การเปลี่ยนแปลงบางอย่างเหล่านี้จะมีผลกับแอปที่ประกาศการรองรับอย่างชัดเจนผ่านแอตทริบิวต์ไฟล์ Manifest targetSdkVersion (หรือที่เรียกว่าระดับ API เป้าหมาย) เท่านั้น

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

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

ก็ได้

ย้ายข้อมูลจาก Android 12 ขึ้นไป (ระดับ API 31) ไปยังเวอร์ชันที่ใหม่กว่า

หากต้องการอัปเดตแอปเพื่อกำหนดเป้าหมายเป็น Android เวอร์ชันที่ใหม่กว่า ให้ทำตามรายการการเปลี่ยนแปลงลักษณะการทำงานที่เกี่ยวข้องต่อไปนี้

ย้ายข้อมูลจาก Android 11 (ระดับ API 30) ไปยัง Android 12 (ระดับ API 31)

ความปลอดภัยและสิทธิ์

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

  • การแจ้งเตือนที่กำหนดเอง: การแจ้งเตือนที่มีมุมมองเนื้อหาที่กำหนดเองจะไม่ใช้พื้นที่การแจ้งเตือนทั้งหมดอีกต่อไป แต่ระบบจะใช้เทมเพลตมาตรฐานแทน เทมเพลตนี้ช่วยให้มั่นใจได้ว่าการแจ้งเตือนที่กำหนดเองจะมีการตกแต่งเหมือนกับการแจ้งเตือนอื่นๆ ในทุกสถานะ ลักษณะการทำงานนี้เกือบจะเหมือนกับลักษณะการทำงานของ Notification.DecoratedCustomViewStyle
  • การเปลี่ยนแปลงการยืนยัน Android App Link: เมื่อใช้การยืนยัน Android App Link โปรดตรวจสอบว่าตัวกรอง Intent มีหมวดหมู่ BROWSABLE และรองรับรูปแบบ HTTPS

ประสิทธิภาพ

  • การจำกัดการเปิดบริการที่ทำงานอยู่เบื้องหน้า: หากต้องการกำหนดเป้าหมายเป็น Android 12 ขึ้นไป แอปของคุณจะเริ่มบริการที่ทำงานอยู่เบื้องหน้าขณะที่ทำงานอยู่เบื้องหลังไม่ได้ ยกเว้นในบางกรณีพิเศษ หากแอปพยายามเริ่มบริการที่ทำงานอยู่เบื้องหน้าขณะทำงานอยู่เบื้องหลัง จะเกิดข้อยกเว้น (ยกเว้นในบางกรณีพิเศษ)

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

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

    แอปต้องไม่เริ่มกิจกรรมจากบริการหรือ Broadcast Receiver ที่ใช้เป็นแทรมโปลีนการแจ้งเตือน หลังจากผู้ใช้แตะการแจ้งเตือนหรือปุ่มดำเนินการภายในการแจ้งเตือน แอปจะเรียกใช้ startActivity() ภายในบริการหรือ Broadcast Receiver ไม่ได้

ดูชุดการเปลี่ยนแปลงทั้งหมดที่ส่งผลต่อแอปที่กำหนดเป้าหมายเป็น Android 12 (API ระดับ 31)

ย้ายข้อมูลจากเวอร์ชันต่ำกว่า Android 11 (ระดับ API 30)

เลือกเวอร์ชัน Android ที่คุณจะย้ายข้อมูลมา

ย้ายข้อมูลไปยัง Android 5 (ระดับ API 21)

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

ดำเนินการต่อด้วยการปฏิบัติตามวิธีการในส่วนถัดไป

ย้ายข้อมูลไปยัง Android 6 (ระดับ API 23)

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

  • สิทธิ์รันไทม์

    • สิทธิ์ที่เป็นอันตรายจะได้รับการอนุญาตเมื่อรันไทม์เท่านั้น ขั้นตอน UI ต้องให้ความสามารถในการให้สิทธิ์เหล่านี้

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

ดูรายการการเปลี่ยนแปลงทั้งหมดที่เปิดตัวใน Android 6.0 (API ระดับ 23) ได้ที่หน้าการเปลี่ยนแปลงลักษณะการทำงานสำหรับแพลตฟอร์มเวอร์ชันนั้น

ดำเนินการต่อด้วยการปฏิบัติตามวิธีการในส่วนถัดไป

ย้ายข้อมูลไปยัง Android 7 (ระดับ API 24)

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

  • Doze และสแตนด์บายแอป

    ออกแบบสำหรับลักษณะการทำงานที่อธิบายไว้ในการเพิ่มประสิทธิภาพสำหรับโหมด Doze และสแตนด์บายแอป ซึ่งครอบคลุมการเปลี่ยนแปลงที่เพิ่มขึ้นซึ่งเปิดตัวในแพลตฟอร์มรุ่นต่างๆ

    เมื่ออุปกรณ์อยู่ในโหมด Doze และโหมดสแตนด์บายแอป ระบบจะทำงานดังนี้

    • จำกัดการเข้าถึงเครือข่าย
    • เลื่อนการปลุก การซิงค์ และงาน
    • จำกัดการสแกน GPS และ Wi-Fi
    • จำกัดข้อความ Firebase Cloud Messaging ที่มีความสำคัญปกติ
  • การเปลี่ยนแปลงสิทธิ์

    • ระบบจะจำกัดการเข้าถึงไดเรกทอรีส่วนตัวของแอป
    • การเปิดเผย URI ของ file:// นอกแอปจะทริกเกอร์ FileUriExposedException หากต้องการแชร์ไฟล์ภายนอกแอป ให้ใช้ FileProvider
  • ระบบห้ามไม่ให้ลิงก์กับไลบรารีที่ไม่ใช่ NDK

ดูรายการการเปลี่ยนแปลงทั้งหมดที่เปิดตัวใน Android 7.0 (API ระดับ 24) ได้ที่หน้าการเปลี่ยนแปลงลักษณะการทำงานสำหรับแพลตฟอร์มเวอร์ชันนั้น

ดำเนินการต่อด้วยการปฏิบัติตามวิธีการในส่วนถัดไป

ย้ายข้อมูลไปยัง Android 8 (ระดับ API 26)

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

ดูรายการการเปลี่ยนแปลงทั้งหมดที่เปิดตัวใน Android 8.0 (API ระดับ 26) ได้ที่หน้าการเปลี่ยนแปลงลักษณะการทำงานสำหรับแพลตฟอร์มเวอร์ชันนั้น

ย้ายข้อมูลจาก Android 8 (API 26) ไปยัง Android 9 (API 28)

ดูรายการการเปลี่ยนแปลงทั้งหมดที่เปิดตัวใน Android 9.0 (ระดับ API 28) ได้ที่การเปลี่ยนแปลงลักษณะการทำงาน

ย้ายข้อมูลจาก Android 9 (ระดับ API 28) ไปยัง Android 10 (ระดับ API 29)

  • การแจ้งเตือนที่มี Intent เต็มหน้าจอ
    • ต้องขอสิทธิ์ปกติ USE_FULL_SCREEN_INTENT (ไม่ใช่สิทธิ์รันไทม์)
  • การรองรับอุปกรณ์แบบพับได้และอุปกรณ์หน้าจอขนาดใหญ่
    • ตอนนี้กิจกรรมหลายรายการสามารถอยู่ในสถานะ "กลับมาทำงานอีกครั้ง" พร้อมกันได้ แต่มีเพียงกิจกรรมเดียวเท่านั้นที่โฟกัสอยู่จริงๆ
      • การเปลี่ยนแปลงนี้ส่งผลต่อลักษณะการทำงานของ onResume() และ onPause()
      • แนวคิดวงจรใหม่ของ "กลับมาทำงานต่อที่ด้านบนสุด" ซึ่งตรวจพบได้โดยการสมัครรับข้อมูล onTopResumedActivityChanged()
        • มีกิจกรรมเดียวเท่านั้นที่สามารถ "กลับมาทำงานต่อในระดับบนสุด" ได้
    • เมื่อตั้งค่า resizeableActivity เป็น false แอปจะระบุ minAspectRatio เพิ่มเติมได้ ซึ่งจะแสดงแอปแบบ Letterbox โดยอัตโนมัติในสัดส่วนภาพที่แคบลง
  • การเปลี่ยนแปลงด้านความเป็นส่วนตัว
    • พื้นที่เก็บข้อมูลที่กำหนดขอบเขต
      • สิทธิ์เข้าถึงที่จัดเก็บข้อมูลภายนอกจะจำกัดไว้เฉพาะไดเรกทอรีเฉพาะแอปและสื่อบางประเภทที่แอปสร้างขึ้นเท่านั้น
    • จำกัดการเข้าถึงตำแหน่งขณะที่แอปทำงานอยู่เบื้องหลัง ซึ่งต้องใช้สิทธิ์ ACCESS_BACKGROUND_LOCATION
    • จำกัดการเข้าถึงตัวระบุที่รีเซ็ตไม่ได้ เช่น IMEI และหมายเลขซีเรียล
    • จำกัดการเข้าถึงข้อมูลกิจกรรมการเคลื่อนไหวร่างกาย เช่น จำนวนก้าวของผู้ใช้ ซึ่งต้องใช้สิทธิ์ ACTIVITY_RECOGNITION
    • จำกัดการเข้าถึง API บางรายการของโทรศัพท์ บลูทูธ และ Wi-Fi โดยต้องใช้สิทธิ์ ACCESS_FINE_LOCATION
    • จำกัดการเข้าถึงการตั้งค่า Wi-Fi
      • แอปจะไม่สามารถเปิดหรือปิดใช้ Wi-Fi โดยตรงได้อีกต่อไป และจะต้องดำเนินการโดยใช้แผงการตั้งค่า
      • ข้อจำกัดในการเริ่มการเชื่อมต่อกับเครือข่าย Wi-Fi ซึ่งกำหนดให้ใช้ WifiNetworkSpecifier หรือ WifiNetworkSuggestion

ย้ายข้อมูลจาก Android 10 (ระดับ API 29) ไปยัง Android 11 (ระดับ API 30)

ดูรายการการเปลี่ยนแปลงทั้งหมดที่เกิดขึ้นใน Android 11 (API ระดับ 30) ได้ที่หน้าการเปลี่ยนแปลงลักษณะการทำงาน

อัปเดตเป็น API 31 ต่อโดยทำตามวิธีการในส่วนก่อนหน้า

ปรับแอปให้ทันสมัย

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

  • พิจารณาใช้ CameraX ซึ่งอยู่ในเวอร์ชันเบต้า เพื่อใช้ประโยชน์สูงสุดจากกล้อง
  • ใช้คอมโพเนนต์ Jetpack เพื่อช่วยให้คุณทำตามแนวทางปฏิบัติแนะนำ ไม่ต้องเขียนโค้ด Boilerplate และลดความซับซ้อนของงานที่ซับซ้อนเพื่อให้คุณมุ่งเน้นที่โค้ดที่ต้องการได้
  • ใช้ Kotlin เพื่อเขียนแอปได้ดีขึ้นและเร็วขึ้นโดยใช้โค้ดน้อยลง
  • ตรวจสอบว่าคุณปฏิบัติตามข้อกำหนดและแนวทางปฏิบัติแนะนำด้านความเป็นส่วนตัว
  • เพิ่มการรองรับธีมมืดลงในแอป
  • เพิ่มการรองรับการไปยังส่วนต่างๆ ด้วยท่าทางสัมผัสลงในแอป
  • ย้ายข้อมูลแอปจาก Google Cloud Messaging (GCM) ไปยัง Firebase Cloud Messaging เวอร์ชันล่าสุด
  • ใช้ประโยชน์จากการจัดการหน้าต่างขั้นสูง
    • รองรับสัดส่วนภาพที่ใหญ่ขึ้น (มากกว่า 16:9) เพื่อใช้ประโยชน์จากความก้าวหน้าล่าสุดในด้านฮาร์ดแวร์ ตรวจสอบว่าแอปปรับขนาดให้เต็มพื้นที่หน้าจอที่พร้อมใช้งาน ประกาศสัดส่วนภาพสูงสุดเป็นทางเลือกสุดท้ายเท่านั้น ดูข้อมูลเพิ่มเติมเกี่ยวกับสัดส่วนภาพสูงสุดได้ที่ประกาศการรองรับหน้าจอที่ถูกจำกัด
    • เพิ่มการรองรับหลายหน้าต่างเพื่อช่วยให้แอปเพิ่มประสิทธิภาพการทำงาน และเพื่อจัดการการแสดงผลหลายหน้าจอ
    • หากประสบการณ์การใช้งานแอปที่ย่อขนาดลงจะช่วยปรับปรุงประสบการณ์ของผู้ใช้ ให้เพิ่มการรองรับการแสดงภาพซ้อนภาพ

ตรวจสอบและอัปเดต SDK และคลัง

ตรวจสอบว่าทรัพยากร Dependency ของ SDK ของบุคคลที่สามรองรับ API 31: ผู้ให้บริการ SDK บางรายเผยแพร่ API 31 ในไฟล์ Manifest ส่วนผู้ให้บริการรายอื่นๆ จะต้องมีการตรวจสอบเพิ่มเติม หากคุณใช้ SDK ที่ไม่รองรับ API 31 ให้ความสำคัญกับการทำงานร่วมกับผู้ให้บริการ SDK เพื่อแก้ไขปัญหา

นอกจากนี้ โปรดทราบว่า targetSdkVersion ของแอปหรือเกมอาจจำกัดการเข้าถึงไลบรารีแพลตฟอร์ม Android ส่วนตัว โปรดดูรายละเอียดที่หัวข้อแอป NDK ที่ลิงก์กับไลบรารีแพลตฟอร์ม

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

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

ทดสอบแอป

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

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

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

    • ใช้ adb เพื่อให้อุปกรณ์ทดสอบเข้าสู่โหมด Doze ขณะที่แอปทำงานอยู่
      • ทดสอบกรณีการใช้งานทั้งหมดที่กระตุ้นข้อความของ Firebase Cloud Messaging
      • ทดสอบกรณีการใช้งานทั้งหมดที่ใช้ Alarms หรือ Google ค้นงาน
      • ขจัดการพึ่งพาบริการในพื้นหลัง
    • ตั้งค่าแอปเป็นสแตนด์บายแอป
      • ทดสอบกรณีการใช้งานทั้งหมดที่กระตุ้นข้อความของ Firebase Cloud Messaging
      • ทดสอบกรณีการใช้งานทั้งหมดที่ใช้ Alarms
  • จัดการรูปภาพ/วิดีโอที่เพิ่งถ่าย/อัดใหม่

    • ตรวจสอบว่าแอปจัดการการออกอากาศ ACTION_NEW_PICTURE และ ACTION_NEW_VIDEO ที่ถูกจำกัดอย่างถูกต้อง (นั่นคือ ย้ายไปยังงาน JobScheduler)
    • ตรวจสอบว่า Use Case ที่สำคัญซึ่งขึ้นอยู่กับเหตุการณ์เหล่านี้ยังคงทำงานอยู่
  • จัดการการแชร์ไฟล์ไปยังแอปอื่นๆ - ทดสอบ Use Case ที่แชร์ข้อมูลไฟล์กับแอปอื่นๆ (แม้แต่แอปอื่นของนักพัฒนาแอปรายเดียวกัน)

    • ทดสอบว่าเนื้อหาปรากฏในแอปอื่นและไม่ทำให้แอปขัดข้อง

ข้อมูลเพิ่มเติม

เลือกรับอีเมลใน Google Play Console เพื่อให้เราส่งข้อมูลอัปเดตและประกาศสำคัญจาก Android และ Google Play รวมถึงจดหมายข่าวรายเดือนสำหรับพาร์ทเนอร์ให้คุณได้