2014-04-30 4 views
6

내 앱에는 하나의 활동 및 많은 조각이 있습니다. 이 질문에 대한 모든 주제를 읽었으며 아무도 내가 볼 수있는대로 작업하지 않았습니다. 나는가 v3과 v4 모두 다음과 같이 시도했다.Google 애널리틱스 조각 화면보기

문제는 내가 수행 한 첫 번째 호출 만 검색하는 것이 문제이다. 조각을 변경하고 같은 방식으로 다른 호출을 수행하면 '실시간'분석이 변경되지 않습니다. 두 단편은 모든 단편에서 onStart() 메소드에서 실행됩니다.

// Using ga v4 
    Tracker t = GoogleAnalytics.getInstance(this).getTracker("UA-XXXX-1"); 
    t.setScreenName("/home"); 
    t.send(new HitBuilders.AppViewBuilder().build()); 

    // Using ga v3 
    EasyTracker _tracker = EasyTracker.getInstance(getActivity()); 
    _tracker.set(Fields.SCREEN_NAME, "/discover"); 
    _tracker.send(MapBuilder.createAppView().build()); 

의견을 보내 주시면 대단히 감사하겠습니다.

답변

5

사실 나는 그것이 작동하도록 만드는 방법을 찾은 것 같습니다. 문서 읽기 기본적으로 https://developers.google.com/analytics/devguides/collection/android/v4/dispatch

를, 데이터는 안드로이드 모든 삼십분에 대한 Google 웹 로그 분석 SDK에서 전달됩니다.

예, 내 생각은 "실시간으로 생각하지입니까? 30 분 ???? 무엇?"했다 어쨌든, 독서 좀 더 :

<integer name="ga_dispatchPeriod">30</integer> 
:

// Set the dispatch period in seconds. 
GoogleAnalytics.getInstance(this).setLocalDispatchPeriod(15); 

는 XML 구성 파일의 파견 기간을 설정하려면 :

프로그래밍 파견 기간을 설정하려면

기타 ...

음수 값을 설정하면 주기적으로 발송되지 않으므로 Google 애널리틱스로 데이터를 보내려면 수동 발송을해야합니다.

// Disable periodic dispatch by setting dispatch period to a value less than 1. 
GoogleAnalytics.getInstance(this).setLocalDispatchPeriod(0); 

확인은, 어쩌면 당신은, 여기에 논란이 음의 값 이하 1보다 발견? 나는 노력했다, 그것은 1 미만이다! (0 또는 음수는 주기적 디스패치를 ​​비활성화합니다). 그런 다음 수동 발송을 원하는 경우

, 즉 예를 들어, 다음과 같습니다 당신이 원하는 때마다 dispatchLocalHits를 호출 할 수 있습니다

tracker.setScreenName(TAG); 
tracker.send(new HitBuilders.AppViewBuilder().build()); 
GoogleAnalytics.getInstance(getActivity().getBaseContext()).dispatchLocalHits(); 

공지 사항() (심지어 함수를 호출 버튼을). 그건 그렇고, 코드 조각은 내 조각에 있습니다 (onResume() 메서드에서).

또한 문서는 말한다 : 사용자가 네트워크 액세스를 상실 또는 정지> 파견 대기 안타, 그 안타가 로컬 저장소에 유지됩니다 거기에있는 동안 응용 프로그램을 종료

합니다. 그들은 당신의 앱이 돌아가고 디스패치가 호출 될 다음 시간에 파견 될 것이다.

그러나 수동 및 정기 발송 모두에 해당되는지 확실하지 않았습니다.나는 그것을 시도, 둘 다 일하고있는 것 같습니다 :)

+0

좋은 답변, 감사합니다 @ Ferran – marino