분석 시스템의 핵심 구성요소인 SDK는 앱 인스톨과 인앱 이벤트를 어트리뷰트하고 인앱 애널리틱스에 필요한 데이터 포인트를 확보하는 역할을 수행합니다. 데이터를 측정하기 위해 본 문서의 안내에 따라 Wisetracker SDK를 Android App에 연동하여 주시기 바랍니다.
1. 필수 설정
필수 설정이란 SDK가 동작하기 위해서 반드시 앱에 추가되어야 하는 최소한의 설정을 말합니다. 필수 설정을 적용하게 되면 인스톨, 세션, 단말기 정보 등을 측정할 수 있게 됩니다.
앱에 SDK 추가 (JFrog Artifactory 이용)
프로젝트의 build.gradle ( root 파일 ) 에 아래와 같이 와이즈트래커의 maven repository 주소를 추가합니다.
저장소가 JFrog에서 Github으로 변경되었습니다.
이에따라 JFrog를 이용하는 방식은 2023년 9월까지만 제공되며, 이후부터는 아래 Github Package 이용하는 방식으로 필수 변경이 필요합니다.
아래와 같은 오류 메시지가 보여지는 경우, "Gradle Scripts"의 "settings.properties"파일을 수정해야 합니다.
A problem occurred evaluating root project 'XXX'.
Build was configured to prefer settings repositories over project repositories but repository 'Google' was added by build file 'build.gradle'
...dependencyResolutionManagement {// =====================// 위와 같은 오류가 발생하면// 아래 한 줄을 주석처리합니다.// =====================// repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral()... }}*/...
"app"모듈단위의 app/build.gradle 파일에 있는 dependencies에 아래와 같이 Wisetracker SDK를 추가해주세요.
Application을 상속받는 클래스가 아닌 Activity를 상속받는 기본 화면의 onCreate() 함수에 적용해 주세요. 여기서 말하는 기본 화면은 AndroidManifest.xml 파일에 선언된 Activity 중, "android.intent.action.MAIN" 와 "android.intent.category.LAUNCHER" Intent-Filter 가 적용된 Activity를 의미합니다.
위의 샘플 코드와 같이 AndroidManifest.xml에 설정을 마치시게 되시면 다음과 같은 형태의 커스텀 스키마가 설정된 상태가 됩니다.
wisetracker://wisetracker.co.kr
여기서 wisetracker:// 부분이Scheme(혹은 프로토콜) 입니다. 개발자가 앱에 이 Scheme를 쓸 것이라고 결정하는 것이며, 해당 Scheme만 설정을 하셔도 됩니다. 이어서 wisetracker.co.kr 부분은 특정 페이지에 도달하도록 만들기 위한 host(혹은 path or 도메인) 입니다.
딥링크 분석
딥링크로 실행되는 Activity의 onCreate와 onNewIntent에 아래와 같이 setDeepLink를 추가합니다.
와이즈트래커 SDK를 적용하고, 광고 분석을 하고자 하는 경우, 와이즈트래커 시스템에서 발급된 광고 분석 링크에 의해서 앱을 실행하는 딥링크 URL에 다음과 같이 광고 분석 목적의 파라미터가 추가될 수 있습니다.
특히 웹앱의 경우 url 이라는 파라미터를 사용하여 웹뷰에 로딩되어질 웹페이지 url을 전달하는 경우가 많은데, 이와 관련하여 아래의 케이스에도 문제가 없는지 반드시 확인하시기 바랍니다.
// 기존의 deeplink 에 광고 분석 파라미터가 추가된 예시를 보여주고 있습니다.
YOUR_SCHEMA://YOUR_HOST?url={YOUR_WEB_PAGE_URL}&trackId=M00200881641977334670
&w_start=h&_wtno=102&_wts=P1641977288745
... 중간 생략 ...
&w_end=h
Deffered Deep Link (지연된 딥링크) 적용
지연된 딥링크 기능은 Growth 레벨 이상의 사용자에게 제공됩니다.
지연된 딥링크 기능 제공 SDK 버전
- Android SDK: Base Modeul - 1.0.81 이상 / New Dot Module - 1.0.51 이상
- iOS SDK: RW 1.1.52 이상
아래와 같이 지연된 딥링크 기능을 위한 메소드를 호출하여 사용할 수 있습니다.
// your code...DOT.initializationForDeferredCallback(this,newRunnable() { @Overridepublicvoidrun() {// deferred deeplink 정보는 DOT.getDeferredUrl() 로 사용이 가능하며,// 앱에서는 해당 변수를 다음과 같이 사용할 수 있음. // 1. callback 이 호출되는 시점에 즉시 __deferredUrl 화면으로 이동 처리. __deferredUrl 값이 nil 이면 메인 화면으로 이동 처리. // 2. __deferredUrl 변수값을 어딘가에 저장하고, 회원가입 이후, 로그인이 완료된 이후등과 같이 필요한 시점에 저장된 값을 꺼내서 이동 처리.// 3. 사용 가능한 Deferred deeplink 정보가 없는 경우에는, __deferredUrl 값이 널(NULL) 이 될 수 있음을 고려하여 사용. String __deferredUrl =DOT.getDeferredUrl();WiseLog.d("current deferred url : "+ __deferredUrl); }});// your code...
위와 같이 지연된 딥링크에 대한 대응 코드가 적용된 이후에 와이즈트래커 대쉬보드에서 아래와 같이 어트리뷰션 링크를 생성하였다고 가정해보겠습니다.
지연된 딥링크(디퍼드 딥링크)가 사용된 어트리뷰션 링크이기 때문에 만약 앱이 설치되어 있지 않았던 경우라면, 먼저 앱 설치를 위해 마켓(구글스토어, 앱스토어)으로 이동되고, 앱 설치 이후에 앱을 실행시키게 되면 String __deferredUrl 변수에 설정한 앱 실행 링크가 들어가 있음을 확인할 수 있습니다. (예: wisetester://mainscreen)
따라서 들어가 있는 (디퍼드) 딥링크 값에 따라 어떻게 처리할지 이후 액션에 대해 대응되는 코드를 개발해 주시면 됩니다.
Facebook 광고 성과 측정
Facebook App Ads의 퍼포먼스를 와이즈트래커로 측정하는데 필요한 설정으로, Facebook SDK가 앱에 추가되어 있는 경우에만 설정을 적용할 수 있습니다.
비즈니스 인증
Facebook Developer사이트의 앱설정-기본설정에서 비즈니스 인증 여부를 확인 해 주세요. 비즈니스 인증이 완료되지 않았을 경우, 리퍼러 정보가 수신되지 않아, facebook 광고 성과에 대한 측정이 어렵습니다.
설정 적용
프로젝트의 app/res/values/strings.xml 파일에 아래 설정을 추가합니다.
<!-- facebook AppLinkData 사용 여부 -->
<string name="useFacebookAppLinkData">Y</string>
와이즈트래커 대시보드에서 생성한 어트리뷰션링크를 통해 테스트 및 광고집행을 진행하며, 딥링크 클릭 시 와이즈트래커 서버가 앱의 설치 여부를 판단하여 동작합니다. 다음과 같은 형태의 "https://xxxx.page.link" 링크를 클릭하게 되면 해당 URL이 가르키는 웹으로 이동함으로써 와이즈트래커가 수집하여야 하는 광고파라미터값이 유실될 수 있어, 앱으로 바로 이동 가능한 다음과 같은 형태의 Unique 한 커스텀스키마가 필요합니다.