안드로이드에 google analystics를 적용하는 방법에 대해 포스팅합니다.

google analystics를 적용하는데 한참 헤매서 다음에 하시는 분들은 조금 편하게 하실수 있기를 바랍니다. ㅎㅎ


1. google Analytics 가입하기 

google Analytics를 사용하시려면 가입을 먼저 하셔야겠죠? ㅎㅎ

가입 후 새 계정을 만들고 계정에 발급된 UA-XXXXXXXX-X 로 시작하는 번호를 확인합니다.


2. 라이브러리 다운로드

libGoogleAnalyticsServices.jar

라이브러리를 다운 받고 프로젝트에 추가시켜줍니다.


3. Initialization

Before any data can be measured, you must initialize at least one tracker via GoogleAnalytics singleton by providing a Context and a Google Analytics property ID:

// Initialize a tracker using a Google Analytics property ID.
Tracker tracker = GoogleAnalytics.getInstance(this).getTracker("UA-XXXX-Y")

먼저 계정에 발급된 속성 번호로 tracker를 초기화합니다.

이제 모든 준비가 끝났습니다~ 참 쉽죠?!

4. 데이터 전송

-. HashMap 형태로 데이터를 보낼 수 있습니다.

Data is sent to Google Analytics by setting maps of parameter-value pairs on the tracker and sending them via the set and sendmethods:

/*
 * Send a screen view to Google Analytics by setting a map of parameter
 * values on the tracker and calling send.
 */

Tracker tracker = GoogleAnalytics.getInstance(this).getTracker("UA-XXXX-Y");

HashMap<String, String> hitParameters = new HashMap<String, String>();
hitParameters
.put(Fields.HIT_TYPE, "appview");
hitParameters
.put(Fields.SCREEN_NAME, "Home Screen");

tracker
.send(hitParameters);


-. Screen 이름을 설정하여 보낼 수 있습니다.

-. 가장 많이 사용하고 단순해서 추천하는 방식이라는 거 같습니다. ㅎㅎ


The MapBuilder class simplifies the process of building hits and is recommended for most use cases. Here we can send the same screen view with fewer lines of code:

// Sending the same screen view hit using MapBuilder.createAppView()
tracker
.(MapBuilder
 
.createAppView()
 
.set(Fields.SCREEN_NAME, "Home Screen")
 
.build()
);


-. Applying Values to Multiple Hits

-. 화면 이름을 설정하고 안에서 화면에서 이벤트에 대한 tracker를 설정하여 전송할 수 있습니다.

Any values set on the tracker directly will be persisted and applied to muliple hits, as in this example:

// Set screen name on the tracker to be sent with all hits.
tracker
.set(Fields.SCREEN_NAME, "Home Screen");

// Send a screen view for "Home Screen"
tracker
.send(MapBuilder
   
.createAppView()
   
.build()
);

// This event will also be sent with &cd=Home%20Screen.
tracker
.send(MapBuilder
   
.createEvent("UX", "touch", "menuButton", null)
   
.build()
);

// Clear the screen name field when we're done.
tracker
.set(Fields.SCREEN_NAME, null);

An event consists of four fields that you can use to describe a user's interaction with your app content:

Field NameTracker FieldTypeRequiredDescription
CategoryFields.EVENT_CATEGORYStringYesThe event category
ActionFields.EVENT_ACTIONStringYesThe event action
LabelFields.EVENT_LABELStringNoThe event label
ValueFields.EVENT_VALUELongNoThe event value

이벤트에 대한 field는 category와 action은 꼭 넣어주시구요!


아래 퍼미션 추가는 이전 버전인거 같으나 혹시 몰라 추가해두었습니다.

안되면 추가해주세요(필수인지는 확인 안해봤습니다 ㅎㅎ;)


Update your AndroidManifest.xml file by adding the following permissions:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />


코드 적용이 완료 되면 가입하신 google Analysics 사이트에서 실시간 탭에서 바로바로 확인이 가능합니다.


참고 사이트 : developer.android.com


궁금한 사항이나 수정은 댓글로 남겨주세요~



 

+ Recent posts