2012-06-15 24 views
5

Tôi đang sử dụng thư viện phân tích Google Play EasyTracker và ứng dụng của tôi có nhiều hoạt động. Tôi muốn theo dõi dưới dạng mô hình thiết bị sự kiện và thông tin phiên bản hệ thống mỗi khi khởi chạy ứng dụng.Android google analytics easytracker - theo dõi cuộc gọi sự kiện trong phương thức onCreate hoạt động của trình khởi chạy

mã trong phương pháp onCreate hoạt động khởi chạy của tôi

EasyTracker.getTracker().trackEvent("Others", "App launch", "The os version", 0); 

tai nạn với

06-15 21:24:30.898: WARN/dalvikvm(1203): threadid=8: thread exiting with uncaught exception (group=0x4001d800) 
06-15 21:24:30.898: ERROR/AndroidRuntime(1203): FATAL EXCEPTION: TrackerThread 
     java.lang.NullPointerException 
     at com.google.android.apps.analytics.GoogleAnalyticsTracker.createEvent(Unknown Source) 
     at com.google.android.apps.analytics.GoogleAnalyticsTracker.trackEvent(Unknown Source) 
     at com.google.android.apps.analytics.easytracking.GoogleAnalyticsTrackerDelegateImpl.trackEvent(Unknown Source) 
     at com.google.android.apps.analytics.easytracking.EasyTracker$11.run(Unknown Source) 
     at com.google.android.apps.analytics.easytracking.EasyTracker$TrackerThread.run(Unknown Source) 
06-15 21:24:30.918: WARN/ActivityManager(58): Force finishing activity com.mycompany.myapp/com.mycompany.activity.HomeActivity 

Những gì tôi đang làm sai này?

+0

Sẽ rất hữu ích khi xem thêm hoạt động. Hoạt động của bạn có mở rộng lớp TrackedActivity hoặc nó chỉ mở rộng lớp Activity? –

+0

Ngoài ra, trừ đi dòng đó là theo dõi hoạt động bình thường. Tôi thấy nó yêu cầu một tệp cấu hình trong XML. Bạn đã thiết lập điều đó chưa? –

+0

Có, hoạt động của tôi đang mở rộng TrackedActivity. Trừ theo dõi đường đó cũng hoạt động bình thường, ví dụ: số lần truy cập trang được hiển thị trong giao diện web của Google Analytics. –

Trả lời

5

Bạn nhận được NullPointerException vì trình theo dõi được khởi tạo trong phương thức onStart của lớp cơ sở TrackedActivity, xảy ra sau onCreate. Tuy nhiên, TrackedActivity tự động theo dõi việc tạo hoạt động (trackPageView) vì vậy thông thường bạn không cần trackEvent tại đây. Bạn có thể gọi thành công trackEvent trên bất kỳ phương thức nào khác giữa onStart và onStop trên vòng đời của hoạt động.

0

Ghi thêm đoạn mã sau vào activity.onCreate:

EasyTracker.getInstance().setContext(this); 

trước khi sử dụng bất kỳ tính năng theo dõi.

Các vấn đề liên quan