메인 콘텐츠로 건너뛰기
위치 기반 세그먼테이션을 사용하면 사용자의 위치를 기반으로 메시지를 보낼 수 있습니다. OneSignal은 국가, GPS 좌표 또는 맞춤 태그로 사용자를 세그먼트화할 수 있습니다 — 물리적 위치를 기반으로 시기적절하고 관련성 있는 아웃리치를 생성할 수 있습니다. 사용자가 앱과 상호 작용하고 위치 추적이 활성화되면 좌표가 거의 실시간으로 업데이트되며 Journeys 또는 메시지 생성 도구를 통해 메시지를 보내는 데 사용할 수 있습니다.
OneSignal은 기본적으로 GPS 위치를 추적하지 않습니다.앱이 (1) 올바른 권한과 종속성을 갖추고, (2) OneSignal과의 공유를 명시적으로 활성화하고, (3) 사용자가 위치 권한을 부여하지 않는 한 SDK는 위도 또는 경도를 수집하지 않습니다. 자세한 내용은 아래 위치 추적 설정과 블로그 게시물 You’re in Control: How Location Actually Works in OneSignal’s SDK를 참조하세요.

국가별 타겟팅

국가는 기기의 IP 주소를 기반으로 결정되며 사용자가 앱을 열 때마다 자동으로 업데이트됩니다. 세그먼트 또는 API filters 파라미터에서 country 데이터 필터를 사용하세요.

위치로 타겟팅 (위도, 경도 및 반경)

모바일 앱이 GPS 위치를 수집하고 OneSignal과 공유하는 경우, SDK는 약 5분마다 사용자의 좌표를 업데이트합니다(권한 및 시스템 규칙에 따라). 앱이 강제 종료되면 사용자가 다시 열 때까지 위치를 추적할 수 없습니다.

위치 추적 설정

위치 추적에는 세 가지 단계가 필요합니다:
1

앱에 위치 권한 및 종속성 추가

앱의 기본 위치 권한을 구성하고 필요한 종속성을 포함합니다.
LocationManager.startGetLocation: not possible, no location dependency found 오류가 표시되면 앱에 필요한 위치 종속성이 없는 것입니다. Android의 일반적인 해결 방법은 app/build.gradle에 Google Play Services 위치 라이브러리를 추가하는 것입니다:
implementation 'com.google.android.gms:play-services-location:21.0.1'
2

OneSignal과의 위치 공유 활성화

Location.setShared(true)를 호출하여 SDK가 기기의 좌표를 OneSignal로 보낼 수 있도록 합니다. 이 없이는 앱이 OneSignal에 위치 데이터를 보내지 않습니다.
OneSignal.Location.setShared(true);
모든 플랫폼 예시는 Mobile SDK 참조를 확인하세요.
3

사용자에게 위치 권한 요청

Location.requestPermission()을 사용하여 시스템 위치 권한 프롬프트를 트리거하거나, 더 높은 선택율을 위해 인앱 메시지를 소프트 사전 프롬프트로 사용하세요.
OneSignal.Location.requestPermission();
모든 플랫폼 예시는 Mobile SDK 참조를 확인하세요.
위치 추적이 활성화되면 다음을 수행할 수 있습니다:
  • location 필터를 사용하여 세그먼트 생성(반경 타겟팅).
  • 메시지 생성 API를 사용하여 메시지 트리거.
OneSignal segment builder showing the location radius filter with latitude, longitude, and radius fields

웹 푸시 위도 및 경도 추적

OneSignal은 웹의 위도/경도를 수집하지 않습니다. 그러나 태그를 사용하여 웹 앱에서 위치를 설정하거나 사용자 업데이트 API를 사용하여 서버에서 위치를 설정할 수 있습니다. 태깅 예시:
  1. 브라우저의 Geolocation API를 사용하여 웹 앱에서 위치 액세스를 요청하세요.
  2. JavaScript를 사용하여 사용자의 좌표를 감지하세요.
  3. 태그를 사용하여 해당 좌표를 OneSignal로 보내세요.
OneSignal.User.addTags({
  lat: "37.160",
  long: "-117.773"
});
태그가 설정되면 범위 필터를 사용하여 지오펜싱된 세그먼트를 생성하세요: 예시 세그먼트: 태그 "lat" > 37 AND "lat" < 38 AND "long" > -118 AND "long" < -117

도시 또는 사용자 지정 위치로 타겟팅

OneSignal은 기본적으로 도시나 지역 코드를 감지하지 않습니다. 도시 또는 사용자 지정 위치로 타겟팅하려면:
  • 사용자가 양식에 도시 또는 지역을 입력하도록 합니다.
  • 또는 JavaScript와 역 지오코딩(예: Google Maps API)을 사용하여 좌표에서 도시를 추론합니다.
  • 도시 이름을 데이터 태그로 보냅니다.
OneSignal.User.addTag("city", "San Francisco");

Radar를 사용한 지오펜싱

OneSignal은 선도적인 위치 정보 플랫폼인 Radar를 통해 고급 지오펜싱을 지원합니다. Radar의 SDK 및 API를 사용하면 다음을 수행할 수 있습니다:
  • 사용자가 정의된 영역에 진입하거나 퇴출할 때 알림을 트리거합니다.
  • 배달 및 픽업 활동을 추적합니다.
  • 위치에서의 존재를 확인합니다.
  • 매장 위치 찾기, 위치 기반 제안 등을 지원합니다.
시작하려면 Radar 통합 문서를 방문하거나 온보딩 지원을 위해 Radar에 문의하세요.

FAQ

위치 추적이 웹에서 작동하나요?

OneSignal은 웹 브라우저에서 GPS 좌표를 수집하지 않습니다. 웹 푸시에서 위치 기반 세그먼트를 사용하려면 브라우저의 Geolocation API에서 좌표를 수집하여 태그로 저장하세요. 위의 웹 푸시 위도 및 경도 추적을 참조하세요.

앱이 위치를 추적하지 않는 이유는 무엇인가요?

세 가지 설정 단계가 모두 완료되었는지 확인하세요: 위치 권한 및 종속성이 앱에 추가되어 있는지, Location.setShared(true)가 호출되었는지, 사용자가 위치 권한을 부여했는지. LocationManager.startGetLocation: not possible, no location dependency found가 표시되면 app/build.gradleplay-services-location 종속성을 추가하세요. 자세한 내용은 위치 추적 설정을 참조하세요.

SDK는 얼마나 자주 위치를 업데이트하나요?

위치 추적이 활성화되면 앱을 사용하는 동안 SDK가 약 5분마다 좌표를 업데이트합니다. 앱이 강제 종료되면 사용자가 앱을 다시 열 때까지 위치 업데이트가 일시 중지됩니다.

도시로 사용자를 타겟팅할 수 있나요?

기본적으로는 불가능합니다. OneSignal은 국가(IP 주소 통해)와 GPS 좌표(SDK 통해)를 추적하지만 도시나 지역 코드는 추적하지 않습니다. 역 지오코딩 서비스를 사용하여 좌표에서 도시를 추론하고 태그로 저장할 수 있습니다. 도시 또는 사용자 지정 위치로 타겟팅을 참조하세요.

관련 페이지

Mobile SDK 위치 참조

setShared(), requestPermission() 및 위치 이벤트 리스너에 대한 전체 API 참조.

위치 선택 프롬프트

기본 위치 권한을 요청하기 전에 인앱 메시지를 소프트 사전 프롬프트로 사용하세요.

세그먼트

위치 필터, 태그 및 사용자 속성을 사용하여 대상 세그먼트를 생성하세요.

Radar 통합

Radar를 통한 고급 지오펜싱, 여행 추적 및 위치 확인.