Android 앱에서 Pushwoosh location module 사용하기
Android에는 두 가지 위치 액세스 범주가 있습니다:
- 포그라운드 위치 액세스
- 백그라운드 위치 액세스
사용자의 위치를 포그라운드에서 업데이트하려면 다음 조건 중 하나를 충족해야 합니다:
- 앱의 활동 중 하나가 활성 상태인 경우
- 앱에 대해 foregroundServiceType = “location”인 포그라운드 서비스가 실행된 경우
백그라운드 액세스는 앱이 비활성 상태이고 해당 앱에 대해 “location” 유형의 포그라운드 서비스가 실행되지 않은 동안에도 앱이 사용자의 지리적 위치를 가져올 수 있도록 합니다.
포그라운드 위치 액세스
Anchor link to앱이 활성 상태일 때만 Pushwoosh 위치 모듈을 사용하여 사용자의 위치를 업데이트하려면 pushwoosh-location 모듈을 app/build.gradle에 추가합니다:
implementation 'com.pushwoosh:pushwoosh-location:6.+'모듈을 시작하려면 startLocationTracking 메서드를 사용합니다:
PushwooshLocation.startLocationTracking();PushwooshLocation.startLocationTracking()애플리케이션이 백그라운드에 있을 때 ForegroundService를 사용하여 위치 요청하기
Anchor link tostartLocationTracking 메서드가 호출될 때 ForegroundService를 시작하여 애플리케이션이 백그라운드에 있을 때 사용자의 지리적 위치를 가져올 수 있도록 하려면, 이전 단락에 설명된 단계를 따른 다음, 다음 메타데이터를 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>...백그라운드 위치 액세스
Anchor link toForegroundService 실행 없이 백그라운드에서 지리적 위치를 업데이트하려면 다음이 필요합니다:
- 앱의 백그라운드 위치 액세스에 대한 Google Play 승인을 받습니다 (자세한 내용은 https://support.google.com/googleplay/android-developer/answer/9799150?hl=en 참조).
- AndroidManifest.xml에 권한을 추가합니다:
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />- 포그라운드 위치 권한을 받은 후 백그라운드에서 위치 업데이트에 대한 사용자 권한을 요청합니다 (Android 개발자 문서에서 가이드라인을 찾으세요: https://developer.android.com/training/location/permissions#background-dialog-target-android-11).
6.3.2 pushwoosh-location 모듈 버전에는 다음 조건이 충족될 경우 위치 권한 설정 화면을 여는 추가 메서드가 포함되어 있습니다:
- 앱에 포그라운드 위치 권한이 부여된 경우
- 앱의 AndroidManifest.xml에
ACCESS_BACKGROUND_LOCATION사용자 권한이 있는 경우
메서드를 다음과 같이 호출합니다:
PushwooshLocation.requestBackgroundLocationPermission();PushwooshLocation.requestBackgroundLocationPermission()Android 12 이상 권한 유형
Anchor link toAndroid 12부터 포그라운드 위치 액세스 권한을 요청받을 때, 사용자는 앱이 사용자의 위치를 얼마나 자주, 어떤 정밀도로 가져올지 선택할 수 있습니다.
두 가지 유형의 권한이 있습니다:
ACCESS_COARSE_LOCATION과 동일한 대략적인 위치ACCESS_FINE_LOCATION및ACCESS_COARSE_LOCATION과 동일한 정확한 위치
피드백을 공유해주세요
Anchor link to귀하의 피드백은 더 나은 경험을 만드는 데 도움이 되므로, SDK 통합 과정에서 문제가 발생하면 기꺼이 의견을 듣고 싶습니다. 어려움이 있으시면 이 양식을 통해 주저하지 말고 의견을 공유해 주세요.