Hướng dẫn cho nhà phát triển này mô tả cách đo lường lượt tương tác trên mạng xã hội bằng cách sử dụng
Google Analytics SDK phiên bản 4 dành cho Android.
Tổng quan
Tính năng đo lường lượt tương tác trên mạng xã hội cho phép bạn đo lường các lượt tương tác của người dùng với các tiện ích đề xuất và chia sẻ khác nhau trên mạng xã hội được nhúng trong nội dung của bạn.
Tương tác trên mạng xã hội có các trường sau:
Tên trường |
Loại |
Bắt buộc |
Nội dung mô tả |
Mạng xã hội |
String |
Có |
Mạng xã hội mà người dùng đang tương tác (ví dụ: Facebook, Google+, Twitter, v.v.). |
Hành động trên mạng xã hội |
String |
Có |
Hành động trên mạng xã hội được thực hiện (ví dụ: Thích, Chia sẻ, +1, v.v.). |
Mục tiêu xã hội |
String |
Không |
Nội dung nơi thực hiện hành động trên mạng xã hội (ví dụ: một bài viết hoặc video cụ thể). |
Dữ liệu tương tác trên mạng xã hội do Google Analytics SDK phiên bản 4 dành cho
Android thu thập được cung cấp thông qua báo cáo tùy chỉnh và
API báo cáo chính.
Triển khai
Để gửi lượt tương tác trên mạng xã hội đến Google Analytics, hãy sử dụng
SocialBuilder
như trong ví dụ sau:
// Get tracker.
Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker(
TrackerName.APP_TRACKER);
// Build and send social interaction.
t.send(new HitBuilders.SocialBuilder()
.setNetwork(getSocialNetwork())
.setAction(getSocialAction())
.setTarget(getSocialTarget())
.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
.
Xem đoạn mã từ ứng dụng mẫu
Đoạn mã sau đây là một ví dụ về Fragment
sẽ gửi
một lượt tương tác trên mạng xã hội:
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.apps.mobileplayground.MobilePlayground.UserInputException;
import com.google.android.gms.analytics.GoogleAnalytics;
import com.google.android.gms.analytics.HitBuilders;
import com.google.android.gms.analytics.Tracker;
/**
* Class to exercise Social hits.
*/
public class SocialFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
View view = inflater.inflate(R.layout.social, container, false);
final Button sendButton = (Button) view.findViewById(R.id.socialSend);
sendButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
try {
// Get tracker.
Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker(
TrackerName.APP_TRACKER);
// Build and send social interaction.
t.send(new HitBuilders.SocialBuilder()
.setNetwork(getSocialNetwork())
.setAction(getSocialAction())
.setTarget(getSocialTarget())
.build());
} catch (UserInputException e) {
e.printStackTrace();
}
}
});
final Button dispatchButton = (Button) view.findViewById(R.id.socialDispatch);
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 getSocialNetwork() throws UserInputException {
String result =
((EditText) getView().findViewById(R.id.editSocialNetwork)).getText().toString().trim();
if (result.length() == 0) {
throw new UserInputException(getString(R.string.socialNetworkWarning));
}
return result;
}
private String getSocialAction() throws UserInputException {
String result =
((EditText) getView().findViewById(R.id.editSocialAction)).getText().toString().trim();
if (result.length() == 0) {
throw new UserInputException(getString(R.string.socialActionWarning));
}
return result;
}
private String getSocialTarget() {
return ((EditText) getView().findViewById(R.id.editSocialTarget)).getText().toString().trim();
}
}