ข้ามไปยังเนื้อหา

การใช้โมดูลตำแหน่ง Pushwoosh ในแอป Android

มีการเข้าถึงตำแหน่งสองประเภทใน Android:

  • การเข้าถึงตำแหน่ง Foreground
  • การเข้าถึงตำแหน่ง Background

สำหรับการอัปเดตตำแหน่งของผู้ใช้ใน foreground ควรเป็นไปตามเงื่อนไขข้อใดข้อหนึ่งต่อไปนี้:

  • กิจกรรมใดกิจกรรมหนึ่งของแอปทำงานอยู่
  • บริการ Foreground ที่มี foregroundServiceType = “location” ถูกเปิดใช้งานสำหรับแอป

การเข้าถึง Background อนุญาตให้แอปรับตำแหน่งทางภูมิศาสตร์ของผู้ใช้ในขณะที่แอปไม่ได้ใช้งาน และไม่มีบริการ foreground ประเภท “location” ถูกเปิดใช้งานสำหรับแอปนั้น

การเข้าถึงตำแหน่ง Foreground

Anchor link to

หากคุณจะใช้โมดูลตำแหน่ง Pushwoosh เพื่ออัปเดตตำแหน่งของผู้ใช้เฉพาะเมื่อแอปของคุณทำงานอยู่ ให้เพิ่มโมดูล pushwoosh-location ลงใน app/build.gradle ของคุณ:

build.gradle
implementation 'com.pushwoosh:pushwoosh-location:6.+'

หากต้องการเปิดใช้งานโมดูล ให้ใช้เมธอด 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" />

ในโมดูล pushwoosh-location เวอร์ชัน 6.3.2 เราได้รวมเมธอดเพิ่มเติมที่เปิดหน้าจอการตั้งค่าการอนุญาตตำแหน่ง หากเป็นไปตามเงื่อนไขต่อไปนี้:

  • มีการอนุญาตตำแหน่ง foreground สำหรับแอป;
  • มีการอนุญาตผู้ใช้ ACCESS_BACKGROUND_LOCATION อยู่ใน AndroidManifest.xml ของแอป

เรียกใช้เมธอดดังนี้:

PushwooshLocation.requestBackgroundLocationPermission();

ประเภทการอนุญาต Android 12+

Anchor link to

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

มีการอนุญาตสองประเภทดังนี้:

  1. ตำแหน่งโดยประมาณ ซึ่งเท่ากับ ACCESS_COARSE_LOCATION
  2. ตำแหน่งที่แม่นยำ ซึ่งเท่ากับ ACCESS_FINE_LOCATION และ ACCESS_COARSE_LOCATION

แบ่งปันความคิดเห็นของคุณกับเรา

Anchor link to

ความคิดเห็นของคุณช่วยให้เราสร้างประสบการณ์ที่ดีขึ้น ดังนั้นเรายินดีรับฟังจากคุณหากคุณมีปัญหาใดๆ ในระหว่างกระบวนการผสานรวม SDK หากคุณประสบปัญหาใดๆ โปรดอย่าลังเลที่จะแบ่งปันความคิดเห็นของคุณกับเรา ผ่านแบบฟอร์มนี้