Android Debug And Dispatch

Debug


Logger
// Set the log level to verbose.
GoogleAnalytics.getInstance(this).getLogger()
    .setLogLevel(LogLevel.VERBOSE);
 
// Provide a custom logger.
GoogleAnalytics.getInstance(this).setLogger(new CustomLogger());

INFO 이하 레벨의 로그를 보기 위해 adb shell에서 log.tag.GAv4 속성을 설정해줘야한다. adb는 안드로이드 SDK에 포함 돼 있다.
adb shell
setprop log.tag.GAv4 DEBUG

Dry Run: 로그만 찍고 실제 데이터 전송은 하지 않는다.
// When dry run is set, hits will not be dispatched, but will still be logged as
// though they were dispatched.
GoogeAnalytics.getInstance(this).setDryRun(true);

로그가 보여도 실제 데이터 전송은 바로바로 일어나지 않는다. 곧바로 데이터를 전송하기 위해선 아래와 같이 dispatchLocalHits()를 호출해줘야 함.
GoogleAnalytics.getInstance(getActivity().getBaseContext()).dispatchLocalHits();



Dispatch


앱에서 바로 데이터를 전송하지 않는다. 앱에서 구글 플레이 서비스로 데이터를 넘기면 구글 플레이 서비스가 일정 시간(기본값: 30분) 간격으로 데이터 전송을 시도한다.

다음날 04:00까지 데이터가 전송되지 않는 경우 레포트에 나타나지 않음. (유실된다는 뜻인 듯)

레포트 업데이트 주기는 정확히 설명된 곳이 없으나. 경험상 0시부터 4시간 간격으로 배치가 돌면서 업데이트를 하는 것으로 보인다.

구글 플레이가 없는 폰도 있기 때문에 AnalyticsReceiver, AnalyticsService를 등록해주는 것이 좋다.

Dispatch를 수동으로 하는 방법
GoogleAnalytics.getInstance(getActivity().getBaseContext()).dispatchLocalHits();



Hit Scope




Campaign Tracking



댓글

이 블로그의 인기 게시물

DBCP2

내부망에서 SBT 사용법

groupadd