ตามที่อธิบายไว้ในหน้าขอสิทธิ์เข้าถึง ตำแหน่งและแนวทางปฏิบัติ แนะนำด้านความเป็นส่วนตัว แอปควรขอสิทธิ์เข้าถึงตำแหน่งประเภทที่สำคัญต่อฟีเจอร์ที่แสดงต่อผู้ใช้เท่านั้น และควรเปิดเผยข้อมูลนี้ต่อผู้ใช้อย่างเหมาะสม กรณีการใช้งานส่วนใหญ่จำเป็นต้องใช้ตำแหน่งเมื่อผู้ใช้มีส่วนร่วมกับแอปเท่านั้น หากแอปของคุณจำเป็นต้องใช้ตำแหน่งในเบื้องหลัง เช่น เมื่อใช้ Geofencing โปรดตรวจสอบว่าตำแหน่งดังกล่าวมีความสำคัญต่อฟังก์ชันการทำงานหลักของแอป มอบประโยชน์ที่ชัดเจนแก่ผู้ใช้ และดำเนินการในลักษณะที่ผู้ใช้ทราบ
หมายเหตุ: Google Play Store ได้อัปเดตนโยบายเกี่ยวกับตำแหน่งของอุปกรณ์ โดยจำกัดการเข้าถึงตำแหน่งในพื้นหลังสำหรับแอปที่จำเป็นต้องใช้เพื่อ ฟังก์ชันหลักและเป็นไปตามข้อกำหนดด้านนโยบายที่เกี่ยวข้อง การนำแนวทางปฏิบัติแนะนำเหล่านี้ไปใช้ไม่ได้รับประกันว่า Google Play จะอนุมัติการใช้งานตำแหน่งในเบื้องหลังของแอป
ดูข้อมูลเพิ่มเติมเกี่ยวกับการเปลี่ยนแปลงนโยบายที่เกี่ยวข้องกับตำแหน่งของอุปกรณ์
รายการตรวจสอบการเข้าถึงตำแหน่งในเบื้องหลัง
ใช้รายการตรวจสอบต่อไปนี้เพื่อระบุตรรกะการเข้าถึงตำแหน่งที่อาจเกิดขึ้นในเบื้องหลัง
ในไฟล์ Manifest ของแอป ให้ตรวจสอบสิทธิ์
ACCESS_COARSE_LOCATION
และสิทธิ์ACCESS_FINE_LOCATION
ตรวจสอบว่าแอปของคุณต้องใช้สิทธิ์เข้าถึงตำแหน่งเหล่านี้- หากแอปกำหนดเป้าหมายเป็น Android 10 (API ระดับ 29) ขึ้นไป ให้ตรวจสอบ
ACCESS_BACKGROUND_LOCATION
สิทธิ์ด้วย ตรวจสอบว่าแอปมีฟีเจอร์ที่ต้องใช้การเข้าถึงนี้
- หากแอปกำหนดเป้าหมายเป็น Android 10 (API ระดับ 29) ขึ้นไป ให้ตรวจสอบ
มองหาการใช้ API การเข้าถึงตำแหน่ง เช่น Fused Location Provider API, Geofencing API หรือ LocationManager API ภายในโค้ด เช่น ในโครงสร้างต่อไปนี้
- บริการในเบื้องหลัง
JobIntentService
ออบเจ็กต์WorkManager
หรือJobScheduler
งาน- การดำเนินงานของ
AlarmManager
- Intent ที่รอดำเนินการซึ่งเรียกใช้จากวิดเจ็ตแอป
หากแอปใช้ SDK หรือไลบรารีที่เข้าถึงตำแหน่ง ระบบจะ ระบุแหล่งที่มาของการเข้าถึงนี้เป็นแอปของคุณ โปรดอ่านเอกสารประกอบของไลบรารีเพื่อดูว่า SDK หรือไลบรารีต้องมีสิทธิ์เข้าถึงตำแหน่งหรือไม่
ประเมินการเข้าถึงตำแหน่งในเบื้องหลัง
หากพบว่าแอปเข้าถึงตำแหน่งในเบื้องหลัง ให้พิจารณาดำเนินการต่อไปนี้
- ประเมินว่าการเข้าถึงตำแหน่งในเบื้องหลังมีความสำคัญต่อฟังก์ชันหลัก ของแอปหรือไม่
หากไม่จำเป็นต้องเข้าถึงตำแหน่งในเบื้องหลัง ให้นำออก
หากแอปกำหนดเป้าหมายเป็น Android 10 (API ระดับ 29) ขึ้นไป ให้นำสิทธิ์
ACCESS_BACKGROUND_LOCATION
ออกจากไฟล์ Manifest ของแอป เมื่อนำสิทธิ์นี้ออก ตัวเลือกการเข้าถึงตำแหน่ง "ตลอดเวลา" จะใช้กับแอปในอุปกรณ์ที่ใช้ Android 10 ไม่ได้ตรวจสอบว่าผู้ใช้ทราบว่าแอปของคุณเข้าถึงตำแหน่งใน เบื้องหลัง โดยเฉพาะอย่างยิ่งในกรณีที่ผู้ใช้ไม่ทราบ
หากเป็นไปได้ ให้ปรับโครงสร้างตรรกะ การเข้าถึงตำแหน่งเพื่อให้ คุณขอตำแหน่งเมื่อผู้ใช้เห็นกิจกรรมของแอปเท่านั้น
การอัปเดตตำแหน่งในเบื้องหลังแบบจำกัด
หากการเข้าถึงตำแหน่งในเบื้องหลังมีความสำคัญต่อแอปของคุณ โปรดทราบว่า Android จะช่วยรักษาอายุการใช้งานแบตเตอรี่ของอุปกรณ์โดยการตั้งค่าขีดจำกัดตำแหน่งในเบื้องหลังในอุปกรณ์ที่ใช้ Android 8.0 (API ระดับ 26) ขึ้นไป ใน Android เวอร์ชันเหล่านี้ หากแอปทำงานในเบื้องหลัง แอปจะรับการอัปเดตตำแหน่งได้เพียงไม่กี่ครั้งต่อชั่วโมง ดูข้อมูลเพิ่มเติมเกี่ยวกับขีดจำกัดของตำแหน่ง ในพื้นหลัง
แหล่งข้อมูลเพิ่มเติม
ดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้งานตำแหน่งในเบื้องหลังได้จากสื่อต่อไปนี้
วิดีโอ
วิธีค้นหาการใช้งานตำแหน่งในเบื้องหลังที่อาจเกิดขึ้น
ตัวอย่าง
ตัวอย่าง เพื่อแสดงแนวทางปฏิบัติแนะนำสำหรับการเข้าถึงตำแหน่งเมื่อแอปอยู่ในเบื้องหลัง