2013-01-07 9 views
5

Zaimplementowałam wcześniej flurry. Wszystko działało dobrze. Dziś z nową wersją sdk, flurry nie loguje niczego w logcat.Flurry nie loguje niczego w Androidzie

Mój kod

Flurry.java

public class Flurry { 

private static final String API_KEY = "xxxxxxxxxxxxxxxxxxxxxx"; 
private static Context mContext; 

public static void init(Context c) { 
    mContext = c; 
} 

public static Context getContext() { 
    return mContext; 
} 

public static void onStartSession() { 
    if (mContext != null) { 
     Debug.e("", "startng flurry session..."); 

     FlurryAgent.setUserId(Utils.getUserId(mContext)); 
     FlurryAgent.setVersionName(Utils.getAppVersion(mContext)); 
     FlurryAgent.setLogEnabled(true); 
     FlurryAgent.setLogEvents(true); 
     FlurryAgent.onStartSession(mContext, API_KEY); 
     // FlurryAgent.initializeAds(mContext); 
    } else { 
     Debug.e("", "mContext is null"); 
    } 
} 

public static void onEndSession() { 
    if (mContext != null) { 
     Debug.e("", "ending flurry session..."); 
     FlurryAgent.onEndSession(mContext); 
    } 
} 
} 

aktywności

public class MainActivity extends TabActivity implements OnTabChangeListener { 
/** Called when the activity is first created. */ 

TabHost tabHost; 

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    requestWindowFeature(Window.FEATURE_NO_TITLE); 
    setContentView(R.layout.main); 
    Flurry.init(this); 
    Flurry.onStartSession();   

    setTabs(); 

} 

@Override 
protected void onDestroy() { 
    Flurry.onEndSession(); 
    super.onDestroy(); 
} 
} 

w manifest.xml

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

kiedy wdrożone przed pokazać mi jak to log , ale dziś im plementowanie w innej aplikacji, nie dostałem żadnej kłótni ... o co może być problem?

4359   FlurryAgent D Initializing Flurry session 
4359   FlurryAgent D New session 
4359   TitleActivity V ::onResume:: 
4359    Settings W Setting android_id has moved from android.provider.Settings.System to android.provider.Settings.Secure, returning read-only value. 
4359   FlurryAgent I loading persistent data: /data/data/com.xxxxxx/files/.flurryagent.-6ee7b2a3 
    4359   FlurryAgent D Loading API key: ****************xxxx 
4359   FlurryAgent D Loading session reports 
4359   FlurryAgent D Persistent file loaded 
4359   FlurryAgent D generating report 
4359   FlurryAgent D Sending report to: http://data.flurry.com/aap.do 
4359   FlurryAgent D Report successful 
4359   FlurryAgent D Processing report response 
4359   FlurryAgent D Done sending initial agent report 
+0

Nie dostałem żadnego wydarzenia ani sesji na temat podmuchu wiatru. –

Odpowiedz

6

Otrzymuję wiadomości dziennika podczas korzystania z Flurry Analytics SDK v3.1.0 (utworzony i pobrany w tym tygodniu z Flurry).

Oto odpowiedni kod, który skonfigurowany Flurry do pisania wiadomości do Android dzienniku:

@Override 
protected void onStart() { 
    super.onStart(); 
    FlurryAgent.onStartSession(this, FLURRY_API_KEY); 
    FlurryAgent.setLogEnabled(true); 
    FlurryAgent.setLogEvents(true); 
    FlurryAgent.setLogLevel(Log.VERBOSE); 

} 

@Override 
protected void onStop() { 
    super.onStop(); 
    FlurryAgent.onEndSession(this); 
} 

A oto dowody

01-10 11:35:23.310: I/FlurryAgent(3915): loading persistent data: /data/data/com.ader/files/.flurryagent.624f614c 
01-10 11:35:23.310: D/FlurryAgent(3915): Loading API key: ****************RY7Z 
01-10 11:35:23.320: D/FlurryAgent(3915): Loading phoneId: AND2001447e7dcd4d3b 
01-10 11:35:23.320: D/FlurryAgent(3915): Loading session reports 
01-10 11:35:23.320: D/FlurryAgent(3915): Session report added: 1 
01-10 11:35:23.320: D/FlurryAgent(3915): Session report added: 2 
01-10 11:35:23.320: D/FlurryAgent(3915): Persistent file loaded 
01-10 11:35:23.560: D/FlurryAgent(3915): generating report 
01-10 11:35:23.570: D/FlurryAgent(3915): Sending report to: http://data.flurry.com/aap.do 
01-10 11:35:29.610: D/FlurryAgent(3915): Report successful 
01-10 11:35:29.610: D/FlurryAgent(3915): Done sending initial agent report 

myślę Sztuką jest następujący nazwać tego nie zrobisz posiadają:

FlurryAgent.setLogLevel(Log.VERBOSE); 
+0

Dziękuję za odpowiedź .. Mam zdarzenie zalogowane następnego dnia w rozsypce i nadal nie loguje się do logcat .. –

+0

Czy dodałeś połączenie do setLogLevel (Log.VERBOSE)? Spróbuj też wykonać czystą kompilację i odinstalować aplikację przed ponowną instalacją, aby sprawdzić, czy gremliny ukrywają się w procesie budowania i wdrażania. – JulianHarty

+0

Możesz również opublikować rejestr wygenerowany podczas uruchamiania aplikacji, z którą masz problemy. To powinno przynajmniej zawierać: "startng flurry session ...", więc wiemy, że wywołanie onStartSession() występuje. Czy możesz potwierdzić wersję Flurry, z którą masz problemy? – JulianHarty

0

działa to dla mnie:

@Override 
protected void onStart() { 
    super.onStart(); 
    FlurryAgent.setLogEnabled(true); 
    FlurryAgent.setLogLevel(Log.VERBOSE); 
    FlurryAgent.onStartSession(this, "XXXXXXXXXXXXXXX"); 
    //System.out.println("Started Flurry"); 
} 

@Override 
protected void onStop() { 
    super.onStop();  
    FlurryAgent.onEndSession(this); 
    //System.out.println("Stopped Flurry"); 
} 
+1

Wiem, że działa, ale kiedy używasz 'FlurryAgent' bezpośrednio w Activity. Stworzyłem kolejną klasę utylizacji Flurry, która nie działała. Ponieważ myślę, że podałem kontekst za pomocą metody 'init' i nie wiem, dlaczego Flurry ma problem z' kontekstem'. Każdy programista narzeka na "kontekst". –

0

Dla tych, którzy ostatnio mają taki sam problem jak ja.

FlurryAgent.setLogEnabled(true); 
FlurryAgent.setLogEvents(true); 
FlurryAgent.setLogLevel(Log.VERBOSE); 
// must be last one 
FlurryAgent.init(context, "some key"); 

Inicjowałem Flurry w klasie, która rozszerza aplikację. Ważne było, aby wywołanie init było ostatnie.

Wspomniano here, u dołu strony 3 metodami są:

... To powinno być wywołana przed init.