2012-11-28 9 views
11

के बिना एंड्रॉइड के लिए Google मोबाइल एनालिटिक्स v2 में सत्र को कैसे रोकें मैंने GoogleAnalytics v2 वेबसाइट पर प्रलेखन पढ़ा है (मैंने मूल रूप से https://developers.google.com/analytics/devguides/ से सभी पृष्ठों को पढ़ा है) लेकिन पर्याप्त सटीक नहीं मिला मेरे सवाल का जवाब दो। यह या तो संस्करण 1 दस्तावेज के साथ गायब या मिश्रित है।EasyTracker

मुझे पता है कि EasyTracker के साथ, आप एक timeout_session पैरामीटर सेट कर सकते हैं। लेकिन मैं EasyTracker का उपयोग नहीं करना चाहता हूं और मैं अपने कोड में किसी बिंदु पर स्पष्ट रूप से सत्र को रोकना चाहता हूं। (क समय-समाप्ति सेट नहीं)

मैं एक सत्र शुरू जब मैं के साथ अपने आवेदन खोलें:

mTracker.setStartSession(true); 

और अगर

mTracker.setStartSession(false); 

बुला सोच रहा था पर स्पष्ट रूप से यह बंद हो जाता है।

किसी बेहतर ट्यूटोरियल/दस्तावेज़ीकरण के लिए कोई मदद या बिंदु बहुत सराहना की जाएगी।

उत्तर

1

जीए v3 में, मैन्युअल रूप से प्रारंभ या एक सत्र समाप्त, इस प्रकार ट्रैकर के सत्र नियंत्रण पैरामीटर उपयोग करने के लिए:

प्रारंभ एक नया सत्र। इस ट्रैकर से अगली हिट एक नए सत्र में पहली होगी।

[tracker set:kGAISessionControl value:@"start"]; 

एक सत्र समाप्त करें। इस ट्रैकर से अगली हिट वर्तमान सत्र में आखिरी होगी। https://developers.google.com/analytics/devguides/collection/ios/v3/sessions

+1

हाय, इसके लिए धन्यवाद! मैं एंड्रॉइड के लिए पूछ रहा था (मैंने अपने प्रश्न में टैग "एंड्रॉइड" रखा है) तो यहां मेरे प्रश्न के लिए एक लिंक अधिक उपयुक्त है: https://developers.google.com/analytics/devguides/collection/android/v3/ सत्र यह आपके जैसा ही है लेकिन एंड्रॉइड के लिए ... इसके अलावा मैं एनालिटिक्स v2 के लिए पूछ रहा था लेकिन मुझे लगता है कि मुझे v3 में माइग्रेट करना होगा। मैं आपका जवाब स्वीकार करता हूं क्योंकि मुझे लगता है कि यह अधिक सटीक है। फिर से धन्यवाद। – p4u144

0

GoogleAnalytics v2 में उनके पास सत्र प्रारंभ/बंद करने के नए तरीके हैं।

मैंने आपके कोड mTracker.setStartSession(true) और mTracker.setStartSession(false) को पहले नहीं देखा है।
mTracker.startNewSession("UA-xxxxxxx-x", 20, this);

पहला इनपुट जा रहा है
(String uniqueGoogleAnalyticsKey, int autoDispatchTimer, Context this)

यह बंद करने के लिए के साथ

:

अब, आप EasyTracker तरीकों का उपयोग नहीं करना चाहते, तो आप का पालन करते हुए एक नया सत्र शुरू कर सकते हैं: tracker.stopSession();

+1

हाय:

[tracker set:kGAISessionControl value:@"end"]; 

यह जानकारी लिंक से उपलब्ध है।यदि आप इस पृष्ठ पर जाते हैं: https://developers.google.com/analytics/devguides/collection/android/v2/sessions जो स्पष्ट रूप से सुझाव देते हैं कि यह v2 दस्तावेज़ है, तो आप "मैन्युअल सत्र प्रबंधन" अनुभाग में देखेंगे वे 'myTracker.setStartSession (true) का उपयोग करते हैं;' मेरा सवाल था: क्या हम 'myTracker.setStartSession (false)' का उपयोग कर सकते हैं जैसा कि आप सुझाव देते हैं 'myTracker.stopSession()' मौजूद नहीं है। – p4u144

+0

@ p4u144, मुझे लगता है कि ग्रांट जीए वी 1 (विरासत) का जिक्र कर रहा था, न कि मौजूदा वी 2 बीटा। हालांकि, मुझे आपके प्रश्न का हल ढूंढने में भी रूचि है। वी 1 के दस्तावेज़ यहां हैं: https://developers.google.com/analytics/devguides/collection/android/devguide – Gautam

+0

@ ग्रांट मुझे विश्वास है कि EasyTracker Google Analytics –

6

अवलोकन

इसलिए मैंने Measurement Protocol के साथ-साथ लॉगकैट में डीबग लॉग देखकर कुछ समय बिताया।

GET /collect?... 

और parameters का एक समूह है कि हिट का प्रकार परिभाषित द्वारा पीछा किया जाता है: जीए अपने फोन को 'डिस्पैच' हिट फिल्मों में से एक गुच्छा पर, हर हिट लॉग के साथ शुरू होता में एक इसी HTTP अनुरोध है लगता है जब (उदाहरण के लिए घटना, सामाजिक, ई-कॉमर्स) और ऐप के बारे में कुछ बुनियादी जानकारी (जैसे ऐप आईडी, ट्रैकिंग आईडी, टाइमस्टैम्प)।

यहाँ मैं क्या सीखा है:

setStartSession(false)नहीं एक सत्र को समाप्त करता है।


मैं कैसे यह

की खोज की मैंने पहले कहा के रूप में, हर हिट एक कार्रवाई के कुछ प्रकार का प्रतिनिधित्व करता है। हालांकि, सत्र शुरू होता है या सत्र समाप्त होता है हिट नहीं माना जाता है। वे केवल अतिरिक्त डेटा हैं जो पर हाल ही में हिट पर जोड़े गए हैं जो GA को भविष्य में हिट को नए सत्र में समूहित करने के लिए बताते हैं।

तो तुम sendEvent(...) और फिर setStartSession(true), और फिर dispatch(), आप लॉग एक अतिरिक्त पैरामीटर &sc=start कि एक नया सत्र की शुरुआत का वर्णन के साथ घटना का वर्णन करता है में एक हिट दिखाई देगी।

मैंने उपरोक्त को setStartSession(false) का उपयोग करने का प्रयास किया और मैंने अतिरिक्त &sc पैरामीटर नहीं देखा। here वर्णित यह &sc=end होना चाहिए था।


संभावित हैक

ट्रैकर एक send(...) विधि है जैसे कि यह आप एक कस्टम आवश्यक मानकों को निर्दिष्ट करने के द्वारा मारा भेजने की अनुमति होगी लगता है कि था। कुछ परीक्षण और त्रुटि के बाद, निम्नलिखित ने सफलतापूर्वक एक घटना और को ऊपर वर्णित सत्र समाप्ति पैरामीटर संलग्न किया।

Map<String, String> data; 
data = EasyTracker.getTracker().constructEvent("Test", "Test", "Test", 0L); 
data.put("sessionControl", "end"); 
EasyTracker.getTracker().send("event", data); 

तो सैद्धांतिक रूप से, हर बार जब आप एक सत्र को समाप्त करने के लिए, आप हो सकता है एक डमी घटना (ऊपर की तरह), sessionControl पैरामीटर, और प्रेषण जोड़ना चाहते हैं। लॉग से यह पूरी तरह से काम करता प्रतीत होता है, लेकिन मैंने इसे अपने GA डैशबोर्ड पर सत्यापित नहीं किया है।

और सुनिश्चित करें कि आप अपनेफ़ाइल में ga_sessionTimeout-1 पर सेट करके स्वचालित सत्र नियंत्रण अक्षम कर दें।

मैंने my project here भी अपलोड किया है, यदि आप लॉग को देखने और हिट की तुलना करने का प्रयास करना चाहते हैं। सुनिश्चित करें कि आप अपनी जीए ट्रैकिंग आईडी अपडेट करें। उम्मीद है की यह मदद करेगा!


मेरे लॉग्स

प्रारंभ सत्र + टेस्ट इवेंट, डिस्पैच

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 

समाप्ति सत्र + टेस्ट इवेंट, डिस्पैच

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 

समाप्ति सत्र हैक + टेस्ट इवेंट, डिस्पैच

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 
+0

धन्यवाद! यह उपयोगी है। मैंने अभी तक कोशिश नहीं की, लेकिन यह निश्चित रूप से एक कदम आगे है। मैं आपको बता दूंगा कि जब मैं कोशिश करूंगा तो परिणाम क्या हैं। बहुत बुरा है कि हमें एक छोटे से हैक का उपयोग करने की आवश्यकता है और यह सत्र समाप्त करने के लिए कोई आधिकारिक तरीका नहीं है ... – p4u144