메인 콘텐츠로 건너뛰기
사용자가 있는 곳을 기반으로 메시지를 보낼 수 있습니다. OneSignal은 국가, GPS 좌표 또는 맞춤 태그로 사용자를 세그먼트화하여 물리적 위치를 기반으로 시기적절하고 관련성 있는 아웃리치를 생성할 수 있습니다. 사용자가 앱과 상호 작용하고 위치 추적이 활성화되면 좌표가 주기적으로 업데이트되며(앱 사용 중 약 5분마다) Journeys 또는 메시지 생성 도구를 통해 메시지를 보내는 데 사용할 수 있습니다.
OneSignal은 기본적으로 GPS 위치를 추적하지 않습니다. SDK는 다음 세 가지 조건이 모두 충족될 때만 위도와 경도를 수집합니다:
  1. 앱에 올바른 위치 권한과 종속성이 있다.
  2. 앱이 OneSignal과의 공유를 명시적으로 활성화한다. 이 없이는 앱이 위치 데이터를 수집할 수 있지만 OneSignal과 공유되지 않습니다.
  3. 사용자가 시스템 프롬프트에서 위치 권한을 부여한다.
설정은 위치 추적 설정을 참조하세요. SDK 위치 동작의 배경에 대해서는 You’re in Control: How Location Actually Works in OneSignal’s SDK를 참조하세요.

국가별 타겟팅

국가는 기기의 IP 주소를 기반으로 결정되며 사용자가 앱을 열 때마다 자동으로 업데이트됩니다. 값은 ISO 3166-1 Alpha-2 두 글자 국가 코드를 사용합니다(예: US, GB, CA). 세그먼트country 필드 또는 세그먼트 생성 APIfilters 파라미터를 사용하여 국가별로 타겟팅하세요:
"filters": [
  { "field": "country", "relation": "=", "value": "US" }
]

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

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

위치 추적 설정

위치 추적은 OneSignal 대시보드가 아닌 모바일 앱 코드에서 구성합니다. 최소한 앱에 다음이 필요합니다:
  • iOS 및 Android용 기본 위치 권한과 종속성을 추가한다.
  • Location.isShared 플래그를 활성화하여 OneSignal과 좌표를 공유한다.
  • 시스템 위치 권한을 요청하거나, 더 높은 옵트인 율을 위해 인앱 메시지를 소프트 사전 프롬프트로 사용한다.

Mobile SDK 위치 참조

iOS, Android, React Native, Flutter, Unity, Cordova/Ionic에 대한 전체 설정 및 플랫폼별 코드.
위치 추적이 활성화되면 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"
});
태그가 설정되면 태그 범위 필터를 조합하여 지오펜싱된 세그먼트를 생성하세요. 예를 들어, 경계 상자 37° ≤ lat < 38°-118° ≤ long < -117° 내의 사용자를 타겟팅하려면 세그먼트 빌더에 다음 네 가지 필터를 추가하세요:
  • 태그 lat37보다 큰
  • 태그 lat38보다 작은
  • 태그 long-118보다 큰
  • 태그 long-117보다 작은

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

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

FAQ

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

기본적으로는 아닙니다. OneSignal의 Web SDK는 GPS 좌표를 수집하지 않습니다. 웹 푸시에서 위치 기반 세그먼트를 사용하려면 브라우저의 Geolocation API에서 직접 좌표를 수집하여 OneSignal에 태그로 보내고, 해당 태그에 범위 필터 세그먼트를 구축하세요. 웹 푸시 위도 및 경도 추적을 참조하세요.

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

세 가지 설정 조건이 모두 충족되었는지 확인하세요: 앱에 올바른 위치 권한 및 종속성이 설치되어 있는지, Location.isSharedtrue로 설정되어 있는지, 사용자가 시스템 프롬프트에서 위치 권한을 부여했는지. 플랫폼별 설정 및 일반적인 수정 사항(Android play-services-location 종속성 포함)은 Mobile SDK 위치 참조를 참조하세요.

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

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

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

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

관련 페이지

위치 선택 프롬프트

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

세그먼트

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