Hướng dẫn cho nhà phát triển này mô tả cách sử dụng Google Analytics SDK phiên bản 4 dành cho Android để đo lường các sự kiện trong ứng dụng của bạn.
Tổng quan
Sự kiện là một cách hữu ích để thu thập dữ liệu về hoạt động tương tác của người dùng với các thành phần tương tác trong ứng dụng, chẳng hạn như thao tác nhấn nút hoặc sử dụng một mục cụ thể trong trò chơi.
Một sự kiện bao gồm 4 trường mà bạn có thể dùng để mô tả hoạt động tương tác của người dùng với nội dung ứng dụng:
Tên trường
Loại
Bắt buộc
Nội dung mô tả
Danh mục
String
Có
Danh mục sự kiện
Hành động
String
Có
Hành động sự kiện
Hãng nhạc
String
Không
Nhãn sự kiện
Giá trị
Long
Không
Giá trị sự kiện
Triển khai
Để gửi một sự kiện đến Google Analytics, hãy sử dụng
HitBuilders.EventBuilder
và gửi lượt truy cập, như minh hoạ trong ví dụ sau:
// Get tracker.
Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker(
TrackerName.APP_TRACKER);
// Build and send an Event.
t.send(new HitBuilders.EventBuilder()
.setCategory(getString(categoryId))
.setAction(getString(actionId))
.setLabel(getString(labelId))
.build());
Xem phần
Cấu hình nâng cao để biết thông tin chi tiết về phương thức getTracker.
Để biết thêm thông tin về lượt truy cập không tương tác và thời điểm sử dụng, hãy đọc về
các sự kiện không tương tác trong Trung tâm trợ giúp Analytics.
Xem đoạn mã từ Ứng dụng mẫu
Đoạn mã sau đây cho thấy một ví dụ về Fragment gửi một sự kiện:
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 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 Event hits.
*/
public class EventFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
View view = inflater.inflate(R.layout.event, container, false);
setupEvent(view, R.id.video1Play, R.string.videoCategory, R.string.videoPlay, R.string.video1);
setupEvent(view, R.id.video1Pause, R.string.videoCategory, R.string.videoPause,
R.string.video1);
setupEvent(view, R.id.video2Play, R.string.videoCategory, R.string.videoPlay, R.string.video2);
setupEvent(view, R.id.video2Pause, R.string.videoCategory, R.string.videoPause,
R.string.video2);
setupEvent(view, R.id.book1View, R.string.bookCategory, R.string.bookView, R.string.book1);
setupEvent(view, R.id.book1Share, R.string.bookCategory, R.string.bookShare, R.string.book1);
final Button dispatchButton = (Button) view.findViewById(R.id.eventDispatch);
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().getApplicationContext()).dispatchLocalHits();
}
});
return view;
}
private void setupEvent(View v, int buttonId, final int categoryId, final int actionId,
final int labelId) {
final Button pageviewButton = (Button) v.findViewById(buttonId);
pageviewButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// Get tracker.
Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker(
TrackerName.APP_TRACKER);
// Build and send an Event.
t.send(new HitBuilders.EventBuilder()
.setCategory(getString(categoryId))
.setAction(getString(actionId))
.setLabel(getString(labelId))
.build());
}
});
}
}