8

Tôi đã triển khai Firebase Analytics. Nó hoạt động tốt. Tôi cũng muốn sử dụng Google Analytics. Dựa trên các cuộc thảo luận here Tôi đã bao gồm các đối tượng dưới đây trong google-services.jsonThêm Firebase Analytics và Google Analytics trong Ứng dụng Android

"analytics_service": { 
     "status": 2, 
     "analytics_property": { 
     "tracking_id": "<your tracking id>" 
     } 
    }, 

Đối với Google Analytics, tôi có Tracker Lớp

public class PuzzleGamesTracker extends Application { 

// The following line should be changed to include the correct property id. 
private static final String PROPERTY_ID = "<your tracking id>"; 

private Tracker mTracker; 


@Override 
protected void attachBaseContext(Context base) { 
    super.attachBaseContext(base); 
    MultiDex.install(this); 
} 

/** 
* Gets the default {@link Tracker} for this {@link Application}. 
* @return tracker 
*/ 
synchronized public Tracker getDefaultTracker() { 
    if (mTracker == null) { 
     GoogleAnalytics analytics = GoogleAnalytics.getInstance(this); 
     // To enable debug logging use: adb shell setprop log.tag.GAv4 DEBUG 
     mTracker = analytics.newTracker(R.xml.global_tracker); 
    } 
    return mTracker; 
} 

}

Cách sử dụng

public void sendToGoogleAnalytics(String arg) { 
    // TODO Auto-generated method stub 
    sendToFireBase(); 
    PuzzleGamesTracker application = (PuzzleGamesTracker) getApplication(); 
    Tracker mTracker = application.getDefaultTracker(); 

    mTracker.setScreenName(arg); 
    mTracker.send(new HitBuilders.AppViewBuilder().build()); 

} 

public void sendToFireBase() { 
    Bundle bundle = new Bundle(); 
    bundle.putString(FirebaseAnalytics.Param.ITEM_ID, "Test_Item 1A"); 
    bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, "Test_Name 1A"); 
    bundle.putString(FirebaseAnalytics.Param.CONTENT_TYPE, "Test_Image 1"); 
    mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_CONTENT, bundle); 

    bundle.putString(FirebaseAnalytics.Param.ITEM_ID, "Test_Item B"); 
    bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, "Test_Name B"); 
    bundle.putString(FirebaseAnalytics.Param.CONTENT_TYPE, "Test_Image 1"); 
    mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_CONTENT, bundle); 

    bundle.putString(FirebaseAnalytics.Param.ITEM_ID, "Test_Item 2A"); 
    bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, "Test_Name 2A"); 
    bundle.putString(FirebaseAnalytics.Param.CONTENT_TYPE, "Test_Image 2"); 
    mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_CONTENT, bundle); 

} 

Lỗi Kịch bản

Nếu tôi không bao gồm đối tượng google analytics bên dưới trong google-services.json, thì Fire Base sẽ hoạt động bình thường.

"analytics_service": { 
    "status": 2, 
    "analytics_property": { 
    "tracking_id": "<your tracking id>" 
    } 
}, 

Khi tôi bao gồm phân tích google đối tượng trong google-services.json, sau đó tôi nhận được báo lỗi dưới đây này

Error:Execution failed for task ':android:mergeReleaseResources'. 
> [xml/global_tracker] C:\Users\android\build\generated\res\google- services\release\xml\global_tracker.xml [xml/global_tracker] C:\Users\android\res\xml\global_tracker.xml: Error: Duplicate resources 

Câu hỏi 1. Tôi có cần phải loại bỏ các ecommerce_tracker.xml và global_tracker.xml? Đã PuzzleGamesTracker lớp đang sử dụng nó. Làm thế nào để vượt qua nó? 2. Xin hướng dẫn cho tôi để tôi có thể có cả FA và GA thực hiện thành công

+1

lý do bạn triển khai hai điều tương tự? – johnrao07

+0

Chúng không giống nhau. Tôi không phải OP nhưng có cùng một vấn đề. Một trong những khách hàng của tôi đã yêu cầu tôi thêm phân tích FireBase trong khi họ đã có Google Analytics trong ứng dụng. Họ có lý do kinh doanh của họ và cả hai sẽ có thể làm việc song song, sau khi cả hai đều là các sản phẩm của Google. – breakline

Trả lời

7

Cuối cùng, tôi tìm thấy một câu trả lời cho việc thêm cả

Bước 1. Loại bỏ các tập tin xml GA và FA R.xml.global_tracker

Bước 2. Thay thế mTracker = analytics.newTracker (R.xml.global_tracker); với mTracker = analytics.newTracker (PROPERTY_ID);

Bước 3. Thêm dòng sau trong tệp json "analytics_service": { "trạng thái": 2, "analytics_property": { "TRACKING_ID": "" }} ,

+0

về id ứng dụng trong google-services.json như thế nào? Tôi có thể hỏi bạn làm thế nào để bạn tạo dự án firebase của bạn? Tôi đọc một câu trả lời từ câu hỏi SO khác về việc này. http://stackoverflow.com/a/39323887/510577 yêu cầu bạn phải nhập GA GA thay vì tạo ứng dụng mới. Đó là trường hợp của bạn? –

+0

Bạn cần ID Google Analytics, đây là ID khác với ID dự án Firebase. Tạo một dự án mới vào trang web Analytics để lấy ID "UA-XXXXXXXX-XX". – Pelanes

0

Trông mát mẻ , nhưng về id ứng dụng, chúng tôi không cần id ứng dụng để theo dõi sự kiện trên cả Google và Firebase Analytics

+0

Đây có phải là câu trả lời hoặc nhận xét không? – hering

+0

Đây phải là nhận xét, nhưng tôi không có quyền viết nhận xét về bài đăng của người khác !! –

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