2012-05-07 3 views
1

현재 프로젝트에서 액티비티를 연장하지 않는 API 호출을 위해 "helper"클래스를 사용하고 있습니다. 이 도우미 클래스는 Flurry 세션이 제안 된대로 시작되고 중지되는 활동에서 호출됩니다. 이 헬퍼 클래스에서 Flurry 호출을 할 수 있습니까? Flurry 세션이 이미 현재 활동의 일부로 시작 되었기 때문에 예라고 말하고 싶지만 잘 모르겠습니다.Android 이외의 Flurry Analytics 액티비티

API 호출의 결과가 수신되면 Activity에서 결과 메시지를 다시 확인하는 대신 Flurry 태그를 로그하는 것이 좋으므로 일부 논리를 복제 할 필요가 없습니다.

이 방법이 유용할까요? 더 나은 접근 방법이 있습니까?

답변

1

EDITED. 아래를보십시오.

고맙다 Jordi. 나는 당신의 제안을 사용하여 Activity를 헬퍼 클래스 생성자로 전달하고, 지역 활동 변수를 설정하고, activity var를 사용하여 Flurry 태그를 기록하는 메소드를 작성했다.

/** 
* Logs the Flurry tag using the act that was passed into the constructor 
*/ 

// EDITED - DON'T USE THIS ANYMORE 

private void logFlurryTag(String s) { 

    FlurryAgent.onStartSession(act, "XXXXXXXXXXXXXXXXXXXXX"); 
    FlurryAgent.logEvent(s); 
    FlurryAgent.onEndSession(act); 
} 

나는이 제대로 작동합니다 생각하지만, 나는 질풍 태그가 아직 오기 시작했는지 확인하기 위해 기다렸다하지 않았습니다.

*** 나는보다는 활동의 질풍 이벤트를 로깅을 포함하는 내 논리를 재 작업하기로 결정 spacemanaki의 추천 당 2012년 5월 9일 ** *

도우미 클래스. 정말 너무 많은 추가 작업이 아니었고 이벤트가보고되고 있음을 확인했습니다. 그것은 또한 하나의 방법으로 모두 떠들썩한 세션을 시작하고 멈추는 것보다 안전하다고 느낍니다.

+1

안녕하세요, 틀린 측정 기준으로 이어질 세션 데이터를 부 풀릴 수 있으므로 'onStartSession' 및 onEndSession을 호출하는 것을 권하지 않습니다. 예를 들어,'logFlurryTag'를 두 번 호출하는 사이에 10 초의 지연이 있었다면, 하나가 아닌 두 개의 세션이 생깁니다. 헬퍼 클래스로 FlurryAgent를 래핑하고 싶다면'onStartSession'과'onEndSession'을 감싸는 메소드를 추가 한 다음, 액티비티 라이프 사이클 메소드'onStart'와'onStop'에서 호출하는 메소드를 추가 할 것을 권한다. (면책 조항 : Flurry에서 Android SDK를 사용 중입니다) – spacemanaki

+0

우수한 점. 나는 이것을 재 작업하고 내가 사용하는 것으로 끝내면 내 솔루션을 업데이트 할 것이다. 감사! –

0

헬퍼 클래스 및/또는 사용 된 메서드에 Activity 매개 변수가 필요하므로이 Activity를 Flurry로 보낼 수 있습니다. 즉

활동 등급 :

Helper helper = new Helper(); 
helper.helping_method(this); 

도우미 클래스 :

public void helping_method (Activity activitat){ 
     FlurryAgent.onStartSession(activitat, "xxxxxxxxxxxxxxxxxx"); 
     FlurryAgent.onEvent("HELPING METHOD"); 

당신은 도우미를 만들 때 동일 할 필요할 때 사용하는 클래스 변수로 활동 VAR을 절약 할 수 있습니다.