2015-11-06 16 views
7

Tôi đọc về việc sử dụng google-services.json trong What does google-services.json really do?: Sau khi phát hành ứng dụng của bạn ở nơi công cộng, nó sẽ không hoạt động nếu không có tệp json.autoActivityTracking khi đang sử dụng google-services.json

GoogleAnalytics analytics = GoogleAnalytics.getInstance(this); 
mTracker = analytics.newTracker(R.xml.global_tracker); 

Tôi đọc trong một bài viết khác về autoActivityTracking. Chúng tôi cũng có thể tạo một tập tin nguồn xml dưới res/xml/ và thiết lập hoạt động, chúng tôi muốn theo dõi:

 <string name="ga_trackingId">UA-XXXXXX-X</string> 

     <bool name="ga_autoActivityTracking">true</bool> 

     <screenName name="com.example.android.dinnerapp.MainActivity"> 
      Main screen 
     </screenName> 

     <screenName name="com.example.android.dinnerapp.OrderDinnerActivity"> 
      Order dinner 
     </screenName> 

     <screenName name="com.example.android.dinnerapp.RemoveMealActivity"> 
      Eradicate dinner 
     </screenName> 

     <screenName name="com.example.android.dinnerapp.ShowDinnerActivity"> 
      Show dinner 
     </screenName> 

     <screenName name="com.example.android.dinnerapp.ShowRecipeActivity"> 
      Show recipe 
     </screenName> 

Và thiết lập nó bằng cách sử dụng:

GoogleAnalytics analytics = GoogleAnalytics.getInstance(this); 
mTracker = analytics.newTracker(R.xml.track_app); 

Tôi tự hỏi làm thế nào nó có thể khi chúng ta sử dụng json thay vào đó?

+0

Tôi tò mò, bạn có hình dung điều này cuối cùng không? – nana

+0

Thật không may. Do sử dụng thư viện ABS, tôi không thể sử dụng tệp json (xung đột với API Android mới). Vì vậy, tôi đã sử dụng giải pháp cũ mà tôi đã đề cập trong câu trả lời. – Ali

Trả lời

3

Tôi đã vấp phải vấn đề tương tự ngay bây giờ, đã thực hiện một cuộc điều tra nhỏ và đi đến kết luận rằng không thể thực hiện này.

Đánh giá bởi the sources của plugin Gradle tạo tài nguyên từ google-services.json, tất cả những gì nó có thể đặt trong tệp XML cấu hình là id theo dõi. Đây là phần có liên quan của mã:

private static String getGlobalTrackerContent(String ga_trackingId) { 
    return "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n" + 
      "<resources>\n" + 
      " <string name=\"ga_trackingId\">" + ga_trackingId + "</string>\n" + 
      "</resources>\n"; 
} 

Vì bạn không thể chia tệp cấu hình thành hai, tôi không thấy cách sử dụng các thuộc tính này và plugin cùng một lúc.

Tôi muốn nói bạn chỉ nên tạo các tệp một lần, đặt chúng vào tài nguyên của bạn, sau đó xóa plugin và thêm bất kỳ chuỗi nào bạn cần. Tôi thất vọng với bản thân rằng Google loại bỏ các hướng dẫn cũ và đưa ra những hướng dẫn mới liên quan đến việc sử dụng một số giải pháp nửa nướng.

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