2016-07-22 15 views
15

Tôi không muốn gửi bất kỳ nhật ký đặc biệt nào tới bảng điều khiển Firebase Analytics, chỉ cần kiểm tra màn hình nào người dùng dành nhiều thời gian hơn, v.v.Bạn cần khởi chạy Firebase Analytics trong mọi Hoạt động?

Khi tôi sử dụng AnalyticsTracker, bắt buộc phải thêm nó ở mọi nơi, vì vậy bạn có thể đặt tên cụ thể của mỗi màn hình bằng tệp Tracker.xml.

Các tài liệu chính thức cho biết:

Thêm phụ thuộc cho căn cứ hỏa lực Analytics để ứng dụng cấp của bạn build.gradle file:

compile 'com.google.firebase:firebase-core:9.2.1'

Khai báo FirebaseAnalytics đối tượng ở phía trên cùng của hoạt động của bạn:

private FirebaseAnalytics mFirebaseAnalytics;

Sau đó khởi tạo nó trong phương pháp onCreate():

mFirebaseAnalytics = FirebaseAnalytics.getInstance(this);

Vì vậy, tôi đoán Tôi đã làm điều này trong mỗi trang mà tôi muốn lấy dữ liệu, haven't tôi?

Trả lời

2

Đối với báo cáo màn hình, bạn không cần phải gọi FirebaseAnalytics.setCurrentScreen() trong mọi Hoạt động vì đây được thực hiện cho bạn tự động. Các official docs nhà nước:

Lưu ý rằng báo cáo màn hình được kích hoạt tự động và ghi lại tên lớp của Hoạt động hiện tại cho bạn mà không đòi hỏi bạn cuộc gọi chức năng này.

Có thể, để làm việc này, bạn cần gọi FirebaseAnalytics.getInstance() trong phương thức phân lớp Ứng dụng onCreate().

11

số Bạn chỉ cần tạo biến toàn cầu trong một lớp mà mở rộng lớp Application



    public class MyApplication extends Application { 
    public static FirebaseAnalytics mFirebaseAnalytics; 
    @Override 
     public void onCreate() { 
      super.onCreate(); 
      mFirebaseAnalytics = FirebaseAnalytics.getInstance(this); 
    } 
    } 

Sau đó, bạn thêm dòng sau trong biểu hiện của bạn, trong thẻ Application

<application 
    android:name=".MyApplication" 
    ... 
+2

Vậy tại sao Steve Ganem nói nó không được hỗ trợ? –

+1

@ H.S.H không nói rằng Page/ScreenViews được hỗ trợ. Anh ta chỉ trả lời câu hỏi nếu nó cần được khởi tạo trong mọi hoạt động. Và câu trả lời là không, bạn có thể khởi tạo nó trong lớp Ứng dụng. – RenatoIvancic

+0

Xin chào, tôi là Android noob và tôi thích thú về những gì đã xảy ra ở đây. Tôi nghĩ rằng phép thuật thực sự đã xảy ra khi '" .Ứng dụng của tôi "' đã được thêm vào trong tệp kê khai. Bạn có thể vui lòng dành chút thời gian và giải thích chính xác những gì đã xảy ra ở đây không? – Anuj

4

tự động Theo dõi màn hình chưa được hỗ trợ trong Firebase Analytics, nhưng đây là điều chúng tôi đang xem xét cẩn thận ngay bây giờ.

7

Màn hình theo dõi bây giờ có thể được thực hiện với chỉ một dòng

**Your ApplicationClass** 
    public FirebaseAnalytics mFirebaseAnalytics; 
    @Override 
     public void onCreate() { 
    mFirebaseAnalytics = FirebaseAnalytics.getInstance(this); 
    } 

    public FirebaseAnalytics getmFirebaseAnalytics() { 
      return mFirebaseAnalytics; 
     } 

Sau đó tạo Hoạt động cơ sở và gọi getter FirebaseAnalytics từ đây. Sau đó sử dụng .setCurrentScreen như sau bên dưới

**Your BaseActivity** 
    @Override 
     protected void onResume() { 

      FirebaseAnalytics firebaseAnalytics = ((ApplicationClass) getApplication()).getmFirebaseAnalytics(); 
      firebaseAnalytics.setCurrentScreen(this, getClass().getSimpleName(), null); 
      Log.d("FAnalytics", "setCurrentScreen: " + getClass().getSimpleName()); 
      super.onResume(); 
     } 

Đừng quên! Tất cả các hoạt động của bạn phải được kéo dài từ BaseActivity https://firebase.google.com/docs/analytics/screenviews

0

Firebase Tự động theo dõi các hoạt động trên màn hình ngay bây giờ, tuy nhiên, bạn vẫn có thể theo dõi chúng theo cách thủ công.

mFirebaseAnalytics.setCurrentScreen(this, screenName, null /* class override */); 

nguồn:

https://firebase.google.com/docs/analytics/screenviews

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