2013-01-07 52 views
5

Tôi đã triển khai loạt trước. Nó đã hoạt động tốt. Hôm nay với phiên bản mới của sdk, flurry không đăng nhập bất kỳ điều gì trong logcat.Flurry không đăng nhập bất cứ thứ gì trong android

Mã của tôi

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); 
    } 
} 
} 

trong Hoạt động

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(); 
} 
} 

trong manifest.xml

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

khi tôi thực hiện trước khi nó chỉ cho tôi đăng nhập như thế này , nhưng hôm nay im plementing trong một ứng dụng khác, tôi đã không nhận được bất kỳ đăng nhập của flurry ... những gì có thể là vấn đề ??

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

Tôi không nhận được bất kỳ sự kiện hoặc phiên nào về tình trạng lộn xộn. –

Trả lời

6

Tôi nhận được thông báo tường trình khi sử dụng Flurry Analytics SDK v3.1.0 (được tạo và tải xuống trong tuần này từ Flurry).

Dưới đây là các mã có liên quan mà cấu hình Flurry để viết tin nhắn để đăng nhập Android:

@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); 
} 

Và đây là bằng chứng

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 

Tôi nghĩ rằng Bí quyết là sau gọi cho bạn không có:

FlurryAgent.setLogLevel(Log.VERBOSE); 
+0

Cảm ơn câu trả lời của bạn .. Tôi đã nhận được sự kiện đã đăng nhập vào ngày hôm sau trong loạt quảng cáo và vẫn không đăng nhập vào logcat. –

+0

Bạn đã thêm cuộc gọi vào setLogLevel (Log.VERBOSE) chưa? Ngoài ra, hãy thử làm sạch và gỡ cài đặt ứng dụng của bạn trước khi cài đặt lại ứng dụng để xem liệu có bất kỳ gremlins nào đang ẩn trong quá trình xây dựng và triển khai hay không. – JulianHarty

+0

Bạn cũng có thể đăng nhật ký được tạo khi bạn chạy ứng dụng mà bạn gặp sự cố. Điều đó ít nhất nên bao gồm: "phiên khởi chạy ..." vì vậy chúng tôi biết lệnh gọi đến onStartSession() xảy ra. Và bạn có thể xác nhận phiên bản nào của Flurry mà bạn đang gặp phải sự cố không? – JulianHarty

0

Điều này phù hợp với tôi:

@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

Tôi biết nó hoạt động nhưng khi bạn sử dụng 'FlurryAgent' trực tiếp trong Hoạt động. Tôi đã tạo ra một lớp util Flurry khác không hoạt động. Bởi vì tôi nghĩ rằng tôi đã đưa bối cảnh thông qua phương thức 'init' và tôi không biết tại sao Flurry lại gặp vấn đề với' context'. Mọi nhà phát triển đều có phàn nàn về 'ngữ cảnh'. –

0

Đối với những người sẽ có cùng một vấn đề như tôi gần đây.

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

Tôi đã khởi tạo Flurry trong lớp mở rộng Ứng dụng. Điều quan trọng là phải thực hiện cuộc gọi init.

Nó được đề cập here, ở dưới cùng của trang trong 3 phương pháp có:

... Điều này cần được gọi trước khi init.