incentoincento 개발자센터
SDKReference

경로별 리퍼럴 시도 추적

pagePath와 setPath로 사용자가 어느 경로에서 리퍼럴을 시도했는지 집계하는 방법을 안내합니다.

대시보드의 '경로별 리퍼럴 시도 횟수' 차트는 사용자가 어느 경로(예: /mypage)에서 공유 버튼을 눌렀는지 집계합니다. SDK가 이 집계에 쓸 경로를 알 수 있도록, 연동 시 현재 경로를 SDK에 알려줘야 합니다.

연동 개발자가 하는 일은 두 가지뿐입니다.

  1. 초기 경로 주입bootpagePath로 지정 (생략 시 기본값 사용)
  2. 경로 변경 통지 — 라우트·화면이 바뀔 때 setPath 호출 (MPA는 자동, 불필요)

pagePath — 초기 경로

boot 시점의 경로를 지정합니다. 미지정 시 기본값은 환경에 따라 다릅니다.

환경pagePath 기본값
Web (MPA / SPA)location.pathname
Native (iOS / Android)"/"
// JS SDK — 생략하면 location.pathname
Incento('boot', { apiKey: 'inc_pk_YOUR_KEY', pagePath: '/mypage' });

전체 파라미터는 boot 파라미터 레퍼런스를 참고하세요.

setPath — 경로 변경 통지

경로가 바뀔 때마다 호스트가 호출합니다. SDK는 라우팅을 자동 감지하지 않으므로, 호스트가 명시적으로 알려줘야 합니다. 호출 형태는 플랫폼마다 다르지만 동작은 동일합니다 — 현재 경로를 갱신만 합니다.

setPath는 경로를 갱신할 뿐, 호출 즉시 집계되지 않습니다. 바뀐 경로는 다음에 위젯을 열 때 비로소 그 경로로 집계됩니다. 따라서 경로를 바꾼 뒤 위젯을 한 번도 열지 않으면 해당 경로는 집계에 잡히지 않는 것이 정상입니다.

// 라우터 이동 이벤트에 연결
Incento('setPath', '/my-page');
// 화면 진입 시 (onAppear 등)
IncentoService.shared.setPath("/my-page")
// 화면 진입 시 (onResume 등)
IncentoService.setPath("/my-page")

명명 규칙

웹과 네이티브가 같은 차트에 함께 집계되므로, 웹 스타일(/screen-name)의 안정적·저카디널리티(low cardinality) 식별자를 권장합니다.

쿼리스트링·동적 id(/products/123)를 그대로 넘기면 경로 종류가 폭발해 차트가 무의미해집니다. 정규화된 경로(예: /products)를 넘기세요.

환경별 정리

경로 처리 관점에서 환경은 세 부류입니다.

환경초기 경로경로 변경 시
Single-Page ApplicationbootpagePath (생략 시 location.pathname)라우터 이동에 setPath 연결 — SPA 가이드
Multi-Page Application페이지 로드 시 location.pathname 자동 반영자동 (페이지 이동 = 전체 리로드 → 스크립트 재실행).
setPath 불필요 — MPA 가이드
Native (iOS · Android)bootpagePath (생략 시 "/")화면 진입 시 setPath 호출 — iOS 가이드 · Android 가이드

On this page