Wisetracker Docs
웹사이트블로그콘솔 바로가기도입 문의이용 문의
🧑‍💻 개발자 가이드
🧑‍💻 개발자 가이드
  • 와이즈트래커 개발자 가이드
  • quick start
    • 앱 광고 트래킹을 위한 필수 지식
    • SDK 설정 전 기초 진단
    • SDK 설정 후 체크리스트
      • Android
      • iOS
      • ReactNative
      • Flutter
      • Unity
      • Cordova
      • Cocos2d-x
      • Web
    • SDK 데이터 검증
    • 이벤트 발생 현황
  • SDK 연동
    • Android
      • SDK 삽입
      • 필수 이벤트 설정
      • App Link 설정
      • Android 12 ADID 변경사항
    • iOS
      • SDK 삽입
      • 필수 이벤트 설정
      • App Store '개인정보 세부 사항' 가이드
      • Universal Link 설정
    • HybridApp WebView
      • SDK 삽입
      • 필수 이벤트 설정
    • React Native
      • React Native 플러그인 연동
      • 인앱 분석 API
      • AOS 데이터 검증
      • iOS 데이터 검증
    • Flutter
      • Flutter 플러그인 연동
      • AOS 데이터 검증
      • iOS 데이터 검증
    • Unity
      • Unity 플러그인 연동
      • 인앱 이벤트 API
      • AOS 데이터 검증
      • iOS 데이터 검증
    • Website
      • Javascript SDK Integration
      • 웹사이트 이벤트 분석하기
    • CPC 광고 분석 연동
      • Web-To-App SDK 적용
      • App 으로 이동시키기
  • 앱심사 개인정보 처리 가이드
    • SDK 개인정보 처리 가이드
  • SDK 데이터 검증
    • Android 데이터 검증
    • iOS 데이터 검증
    • 웹사이트 데이터 검증
  • In-App Event
    • 인앱 이벤트 설정
      • 페이지 분석
      • 커스텀 차원(Custom Dimension)
    • 인앱 이벤트 리스트
      • Basic : 공통 이벤트
      • Messaging : 푸시/인앱 메시지
      • e-Commerce : 이커머스
      • Education : 교육
      • Travel : 여행 및 레저
      • Entertainment : 엔터테인먼트
      • Game : 게임
      • Fintech : 금융
      • Mobility : 모빌리티
    • 인앱 이벤트 태깅(Tagging)
  • Google Tag Manager 연동
    • 연동 방법
  • Server-to-Server 연동
    • 연동 방법
    • 연동 이벤트
    • 연동 데이터 요약
  • 푸시메세지 가이드
    • 앱 푸시메시지 연동
      • Android
        • FCM 인증서 설정
        • 대시보드 설정
        • SDK 설치 및 API 적용
        • 푸시 알림 데이터 이용
      • iOS
        • APNS 설정
        • 대시보드 설정
        • SDK 설치 및 API 적용
        • 푸시 알림 데이터 이용
      • React Native
        • 준비 사항 안내
        • Android 기초 설정
        • iOS 기초 설정
        • ReactNative 푸시메세지 설정
      • Flutter
        • 준비 사항 안내
        • Android 기초 설정
        • iOS 기초 설정
        • Flutter 푸시메세지 설정
    • 푸시 알림 데이터 이용
Powered by GitBook
On this page
  • 필수 설정
  • 앱에 SDK 추가 및 초기화
  • 웹,앱 분석을 동시에 해야 하는 경우 예외 처리

Was this helpful?

  1. SDK 연동
  2. HybridApp WebView

SDK 삽입

웹뷰를 통해 서비스를 제공하는 하이브리드앱은 기본적으로 Android 및 iOS 앱에 종속됩니다. 따라서 기본적으로 Android 및 iOS SDK가 해당 앱에 설치된 상태에서 구글 플레이스토어와 애플 앱스토어에 배포되어야 정확한 웹뷰 데이터 측정이 가능합니다.

PreviousHybridApp WebViewNext필수 이벤트 설정

Last updated 1 year ago

Was this helpful?

필수 설정

필수 설정이란 SDK가 동작하기 위해서 반드시 앱에 추가되어야 하는 최소한의 설정을 말합니다. 하이브리드앱 환경에서의 필수 설정이란,

  1. Android 및 iOS용 앱 SDK가 설치

  2. 웹뷰의 각 페이지에 트래킹 스크립트 삽입

이 완료되는 것을 의미합니다.

앱에 SDK 추가 및 초기화

  • Android 앱에 대한 SDK 설치는 를 참고하여 설치를 완료하십시오.

  • iOS 앱에 대한 SDK 설치는 를 참고하여 설치를 완료하십시오.

웹,앱 분석을 동시에 해야 하는 경우 예외 처리

HibridApp 으로 개발된 모바일 앱에서, WebView 에 로딩되는 페이지가 일반 데스크탑 브라우저 환경에서도 동일하게 사용하는 경우가 있습니다.

이러한 경우, 해당 웹 페이지에는

  1. 웹 사이트 분석을 위한 SDK 와 분석 코드 셋트와

  2. 모바일 앱 분석을 위한 분석 코드 셋트가 동시에 존재하게 됩니다.

이때 사용자가 모바일 앱으로 접근하여, 해당 페이지를 웹뷰에서 렌더링 시키게되면, 해당 페이지에 적용된 웹 사이트 분석 SDK와 분석 코드 셋트가 실행되어, 데이터가 더블 카운팅되는 현상이 나타날 수 있습니다. 이러한 현상을 방지하기 위한 방법으로 아래의 내용을 참고하시기 바랍니다.

  • 앱에서 웹뷰에 페이지를 렌더링 하기 전에, 아래의 코드 예시와 같이 웹뷰의 navigator.userAgent 문자열에 "RW2SDK" 문자열을 추가합니다.

StringBuilder _userAgent = new StringBuilder();
_userAgent.append(webView.getSettings().getUserAgentString());
_userAgent.append("RW2SDK");
webView.getSettings().setUserAgentString(_userAgent.toString());
webView.evaluateJavaScript("navigator.userAgent", completionHandler: { result, error in
  if error != nil {
    // error : Error occured to get userAgent
    return
  }
  if let unwrappedUserAgent = result as? String {
    self.mainWebView.customUserAgent = "\(unwrappedUserAgent) RW2SDK"
  } else {
    // error : Failed to get userAgent
  }
})
  • 웹 사이트 분석 SDK는 아래와 같이 navigator.userAgent 에 "RW2SDK" 문자열이 존재할 경우, SDK의 초기화 요청을 무시하게 되며, 아래와 같은 console 메시지를 출력하도록 구현되어 있습니다.

export class WDOTInitialization {   
/**    * Website SDK Initialzation    ***/   
    static setConfig(config){      
        let _ua = window.navigator.userAgent;      
        if ( _ua.indexOf("RW2SDK") >= 0 ){         
            console.log("WDOT is disabled with RW Native SDK.  ( WDOTInitialization )  ");      
        }      
        else{         
            window.DOP_SDK_CONF = config;         
            console.log("Set window.DOP_SDK_CONF ", window.DOP_SDK_CONF );      
        }   
    }
    .... 중략 ... 
}
  • 위와 같이 모바일 앱에서 사용하는 웹뷰의 userAgent 에 예약된 문자열 (RW2SDK) 를 추가하면, 사용자가 브라우저로 접속하면 웹 사이트 스크립트가 동작할 것이고, 사용자가 모바일 앱을 통해서 웹페이지를 접근하면 User-Agent때문에, 웹사이트 스크립트는 disabled 됩니다.

  • 웹페이지에는 WDOT 로 태깅된 웹사이트 분석코드와, DOT 로 태깅된 모바일 웹뷰 분석코드가 모두 동시에 존재 가능하며, 추가적으로 웹 페이지에 적용되는 분석 코드에 대하여 DOT, WDOT 객체에 대한 Null 체크가 반드시 이루어져야 합니다. 각각의 환경에서 사용되는 SDK Referrence Object가 다르기 때문에 다음과 같이 if 처리를 진행 해 주세요.


// 화면분석을 위한 logScreen 처리 logScreen 처리 ( 모바일 웹뷰에서 로딩시 ) 
if (typeof DOT != 'undefined') {
  DOT.logScreen(screen);
}
else if (typeof WDOT != 'undefined') {       // ( 브라우져로 로딩시 ) 
  WDOT.onStartPage(window.WDOTParam || {});
}

// 앱내 동작 분석을 위한 logEvent
if (typeof DOT != 'undefined') {
  DOT.logEvent(event);
}
else if (typeof WDOT != 'undefined') {
  WDOT.logEvent(event);
}

여기
여기
모바일 웹뷰에서 로딩된 페이지에 웹 사이트 분석 SDK가 존재하지만, 초기화 되지 않은 경우 출력 메시지