Tổng quan
Vì vậy, tôi đã dành một số thời gian đi qua các Measurement Protocol cũng như xem qua các bản ghi gỡ lỗi trong LogCat. Khi GA trên điện thoại của bạn 'công văn' một loạt các hit, mỗi hit dường như có một yêu cầu HTTP tương ứng trong nhật ký bắt đầu với:
GET /collect?...
và được theo sau bởi một loạt các parameters xác định loại hit (ví dụ: sự kiện, xã hội, thương mại điện tử) và một số thông tin cơ bản về ứng dụng (ví dụ: id ứng dụng, id theo dõi, dấu thời gian).
Đây là những gì tôi đã học:
setStartSession(false)
không không kết thúc một phiên làm việc.
Làm thế nào tôi phát hiện ra nó
Như tôi đã nói trước đó, mỗi hit đại diện cho một số loại của một hành động. Tuy nhiên, phiên bắt đầu hoặc kết thúc phiên không được coi là lần truy cập. Chúng chỉ là dữ liệu bổ sung được thêm vào lần truy cập gần đây nhất cho GA biết nhóm các lần truy cập trong tương lai trong một phiên mới.
Vì vậy, nếu bạn sendEvent(...)
và sau đó setStartSession(true)
, và sau đó dispatch()
, bạn sẽ thấy ONE hit trong các bản ghi mô tả các sự kiện với một tham số bổ sung &sc=start
mô tả khởi đầu của một phiên làm việc mới.
Sau đó, tôi đã thử thực hiện ở trên bằng cách sử dụng setStartSession(false)
và tôi không nhận thấy thông số bổ sung &sc
. Nó phải là &sc=end
, như được mô tả here.
tiềm năng Hack
Các theo dõi đã có một phương pháp send(...)
rằng có vẻ như nó sẽ cho phép bạn gửi một phong tục nhấn bằng cách xác định các thông số cần thiết. Sau một số thử nghiệm và lỗi, sau đây đã tạo thành công sự kiện và đính kèm thông số kết thúc phiên như được mô tả ở trên.
Map<String, String> data;
data = EasyTracker.getTracker().constructEvent("Test", "Test", "Test", 0L);
data.put("sessionControl", "end");
EasyTracker.getTracker().send("event", data);
Vì vậy, về mặt lý thuyết, mỗi lần bạn muốn kết thúc phiên, bạn có thể có sự kiện giả (như trên), thêm thông số sessionControl
và gửi đi. Từ các bản ghi có vẻ như nó hoạt động hoàn hảo, nhưng tôi chưa xác minh điều này trên bảng điều khiển GA của mình.
Và đảm bảo bạn tắt kiểm soát phiên tự động bằng cách đặt ga_sessionTimeout
thành -1
trong tệp analytics.xml
của bạn.
Tôi cũng đã tải lên my project here, nếu bạn muốn thử xem qua nhật ký và so sánh số lần truy cập. Đảm bảo bạn cập nhật id theo dõi GA của mình. Hi vọng điêu nay co ich!

Logs My
Bắt đầu phiên + Kiểm tra tổ chức sự kiện, văn
GET /collect?ul=en-us&ev=0&ht=1362779137510&sr=720x1184&a=0&sc=start&aid=com.example.com.example.sessiontest&ea=Test&cid=ae57a272-89b2-46ab-8c82-7acdb49c3669&ec=Test&av=1.0&v=1&t=event&el=Test&an=com.example.sessiontest&tid=UA-XXXXXXXX-X&_u=.sMC&_v=ma1b4&cd=com.example.com.example.sessiontest.MainActivity&qt=2788&z=48 HTTP/1.1
Cuối phiên + Kiểm tra tổ chức sự kiện, văn
GET /collect?ul=en-us&ev=0&ht=1362779233499&sr=720x1184&a=0&aid=com.example.com.example.sessiontest&ea=Test&cid=ae57a272-89b2-46ab-8c82-7acdb49c3669&ec=Test&av=1.0&v=1&t=event&el=Test&an=com.example.sessiontest&tid=UA-XXXXXXXX-X&_u=.ssMMC&_v=ma1b4&cd=com.example.com.example.sessiontest.MainActivity&qt=3726&z=50 HTTP/1.1
Cuối phiên Hack + Kiểm tra tổ chức sự kiện, văn
GET /collect?ul=en-us&ev=0&ht=1362779194381&sr=720x1184&a=0&sc=end&aid=com.example.com.example.sessiontest&ea=Test&cid=ae57a272-89b2-46ab-8c82-7acdb49c3669&ec=Test&av=1.0&v=1&t=event&el=Test&an=com.example.sessiontest&tid=UA-XXXXXXXX-X&_u=.ssyL&_v=ma1b4&cd=com.example.com.example.sessiontest.MainActivity&qt=3581&z=49 HTTP/1.1
Xin chào, cảm ơn bạn vì điều đó! Tôi đã yêu cầu cho android (tôi đã đặt thẻ "Android" cho câu hỏi của tôi) vì vậy đây là một liên kết thích hợp hơn cho câu hỏi của tôi: https://developers.google.com/analytics/devguides/collection/android/v3/ phiên Nó giống như của bạn nhưng đối với Android ... Ngoài ra tôi đã yêu cầu phân tích v2 nhưng tôi đoán tôi sẽ phải di chuyển sang v3 sau đó. Tôi chấp nhận câu trả lời của bạn vì tôi nghĩ nó chính xác hơn. Cảm ơn bạn lần nữa. – p4u144