इस डेवलपर गाइड में, Android के लिए Google Analytics SDK v4
की मदद से उपयोगकर्ता समय को मेज़र करने का तरीका बताया गया है.
खास जानकारी
उपयोगकर्ता समय को मापने से, Google Analytics में किसी खास समयावधि को मापने का
एक आसान तरीका उपलब्ध होता है. उदाहरण के लिए, यह संसाधन लोड होने में लगने वाले समय को मापने के लिए उपयोगी हो सकता है.
उपयोगकर्ता समय में ये फ़ील्ड होते हैं:
फ़ील्ड का नाम |
टाइप |
ज़रूरी है |
ब्यौरा |
कैटगरी |
String
| हां |
तय समय वाले इवेंट की कैटगरी |
वैल्यू |
long
| हां |
मिलीसेकंड में समय का मेज़रमेंट |
नाम |
String
| हां |
तय समय पर होने वाले इवेंट का नाम |
लेबल |
String
| नहीं |
किसी तय समय पर होने वाले इवेंट का लेबल |
उपयोगकर्ता समय का डेटा, मुख्य रूप से ऐप्लिकेशन स्पीड की उपयोगकर्ता समय रिपोर्ट में देखा जा सकता है.
लागू करने का तरीका
Google Analytics को उपयोगकर्ता का समय भेजने के लिए, TimingBuilder
बनाएं और Tracker
का इस्तेमाल करके उसे भेजें.
// Get tracker.
Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker(
TrackerName.APP_TRACKER);
// Build and send timing.
t.send(new HitBuilders.TimingBuilder()
.setCategory(getTimingCategory())
.setValue(getTimingInterval())
.setVariable(getTimingName())
.setLabel(getTimingLabel())
.build());
getTracker
तरीके के बारे में ज़्यादा जानने के लिए,
बेहतर कॉन्फ़िगरेशन देखें.
सैंपल ऐप्लिकेशन से एक कोड स्निपेट देखें
यह स्निपेट एक उदाहरण Fragment
दिखाता है, जो उपयोगकर्ता का समय भेजता है:
package com.google.android.apps.mobileplayground;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import com.google.android.apps.mobileplayground.AnalyticsSampleApp.TrackerName;
import com.google.android.gms.analytics.GoogleAnalytics;
import com.google.android.gms.analytics.HitBuilders;
import com.google.android.gms.analytics.Tracker;
/**
* Class to exercise Timing hits.
*/
public class TimingFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
View view = inflater.inflate(R.layout.timing, container, false);
final Button sendButton = (Button) view.findViewById(R.id.timingSend);
sendButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// Get tracker.
Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker(
TrackerName.APP_TRACKER);
// Build and send timing.
t.send(new HitBuilders.TimingBuilder()
.setCategory(getTimingCategory())
.setValue(getTimingInterval())
.setVariable(getTimingName())
.setLabel(getTimingLabel())
.build());
}
});
final Button dispatchButton = (Button) view.findViewById(R.id.timingDispatch);
dispatchButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// Manually start a dispatch (Unnecessary if the tracker has a dispatch interval)
GoogleAnalytics.getInstance(getActivity().getBaseContext()).dispatchLocalHits();
}
});
return view;
}
private String getTimingCategory() {
return ((EditText) getView().findViewById(R.id.editTimingCategory)).getText().toString().trim();
}
private long getTimingInterval() {
String value =
((EditText) getView().findViewById(R.id.editTimingInterval)).getText().toString().trim();
if (value.length() == 0) {
return 0;
}
return Long.valueOf(value);
}
private String getTimingName() {
return ((EditText) getView().findViewById(R.id.editTimingName)).getText().toString().trim();
}
private String getTimingLabel() {
return ((EditText) getView().findViewById(R.id.editTimingLabel)).getText().toString().trim();
}
}