การใช้โมดูลตำแหน่ง Pushwoosh ในแอป Android
มีการเข้าถึงตำแหน่งสองประเภทใน Android:
- การเข้าถึงตำแหน่ง Foreground
- การเข้าถึงตำแหน่ง Background
สำหรับการอัปเดตตำแหน่งของผู้ใช้ใน foreground ควรเป็นไปตามเงื่อนไขข้อใดข้อหนึ่งต่อไปนี้:
- กิจกรรมใดกิจกรรมหนึ่งของแอปทำงานอยู่
- บริการ Foreground ที่มี foregroundServiceType = “location” ถูกเปิดใช้งานสำหรับแอป
การเข้าถึง Background อนุญาตให้แอปรับตำแหน่งทางภูมิศาสตร์ของผู้ใช้ในขณะที่แอปไม่ได้ใช้งาน และไม่มีบริการ foreground ประเภท “location” ถูกเปิดใช้งานสำหรับแอปนั้น
การเข้าถึงตำแหน่ง Foreground
Anchor link toหากคุณจะใช้โมดูลตำแหน่ง Pushwoosh เพื่ออัปเดตตำแหน่งของผู้ใช้เฉพาะเมื่อแอปของคุณทำงานอยู่ ให้เพิ่มโมดูล pushwoosh-location ลงใน app/build.gradle ของคุณ:
implementation 'com.pushwoosh:pushwoosh-location:6.+'หากต้องการเปิดใช้งานโมดูล ให้ใช้เมธอด startLocationTracking:
PushwooshLocation.startLocationTracking();PushwooshLocation.startLocationTracking()การใช้ ForegroundService เพื่อร้องขอตำแหน่งเมื่อแอปพลิเคชันของคุณอยู่ในพื้นหลัง
Anchor link toหากต้องการเปิดใช้งาน ForegroundService เมื่อเมธอด startLocationTracking ถูกเรียก ซึ่งอนุญาตให้รับตำแหน่งทางภูมิศาสตร์ของผู้ใช้เมื่อแอปพลิเคชันของคุณอยู่ในพื้นหลัง ให้ทำตามขั้นตอนที่อธิบายไว้ใน ย่อหน้าก่อนหน้า จากนั้นเพิ่มเมตาเดตาต่อไปนี้ลงใน AndroidManifest.xml ของคุณ:
...<application>.... <meta-data android:name="com.pushwoosh.start_foreground_service" android:value="true" />...</application>...เมื่อ ForegroundService ถูกเปิดใช้งาน การแจ้งเตือนจะถูกสร้างขึ้น คุณสามารถปรับแต่งการแจ้งเตือนได้โดยระบุเมตาเดตาเพิ่มเติมใน AndroidManifest.xml ของโปรเจกต์ของคุณ:
...<application>.... <meta-data android:name="com.pushwoosh.foreground_service_notification_text" android:value="My notification text" /> <meta-data android:name="com.pushwoosh.foreground_service_notification_channel_name" android:value="My notification channel name" />...</application>...การเข้าถึงตำแหน่ง Background
Anchor link toสำหรับการอัปเดตตำแหน่งทางภูมิศาสตร์ในพื้นหลังโดยไม่มี ForegroundService เปิดใช้งาน คุณจะต้องมีสิ่งต่อไปนี้:
- ได้รับการอนุมัติจาก Google Play สำหรับการเข้าถึงตำแหน่งในพื้นหลังของแอปของคุณ (ดู https://support.google.com/googleplay/android-developer/answer/9799150?hl=en สำหรับรายละเอียด)
- เพิ่มการอนุญาตลงใน AndroidManifest.xml ของคุณ:
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />- ร้องขอการอนุญาตจากผู้ใช้ในการอัปเดตตำแหน่งในพื้นหลังหลังจากได้รับการอนุญาตตำแหน่ง foreground แล้ว (ดูแนวทางในเอกสารสำหรับนักพัฒนา Android: https://developer.android.com/training/location/permissions#background-dialog-target-android-11 )
ในโมดูล pushwoosh-location เวอร์ชัน 6.3.2 เราได้รวมเมธอดเพิ่มเติมที่เปิดหน้าจอการตั้งค่าการอนุญาตตำแหน่ง หากเป็นไปตามเงื่อนไขต่อไปนี้:
- มีการอนุญาตตำแหน่ง foreground สำหรับแอป;
- มีการอนุญาตผู้ใช้ ACCESS_BACKGROUND_LOCATION อยู่ใน AndroidManifest.xml ของแอป
เรียกใช้เมธอดดังนี้:
PushwooshLocation.requestBackgroundLocationPermission();PushwooshLocation.requestBackgroundLocationPermission()ประเภทการอนุญาต Android 12+
Anchor link toเริ่มตั้งแต่ Android 12 เมื่อถูกร้องขอการอนุญาตเข้าถึงตำแหน่ง foreground ผู้ใช้สามารถเลือกความถี่และความแม่นยำที่แอปจะได้รับตำแหน่งของผู้ใช้ได้
มีการอนุญาตสองประเภทดังนี้:
- ตำแหน่งโดยประมาณ ซึ่งเท่ากับ ACCESS_COARSE_LOCATION
- ตำแหน่งที่แม่นยำ ซึ่งเท่ากับ ACCESS_FINE_LOCATION และ ACCESS_COARSE_LOCATION
แบ่งปันความคิดเห็นของคุณกับเรา
Anchor link toความคิดเห็นของคุณช่วยให้เราสร้างประสบการณ์ที่ดีขึ้น ดังนั้นเรายินดีรับฟังจากคุณหากคุณมีปัญหาใดๆ ในระหว่างกระบวนการผสานรวม SDK หากคุณประสบปัญหาใดๆ โปรดอย่าลังเลที่จะแบ่งปันความคิดเห็นของคุณกับเรา ผ่านแบบฟอร์มนี้