এই বিকাশকারী নির্দেশিকা বর্ণনা করে কিভাবে 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();
}
}