คู่มือนักพัฒนาซอฟต์แวร์นี้จะอธิบายวิธีวัดการโต้ตอบทางโซเชียลโดยใช้ Google Analytics SDK v4 สำหรับ Android
ภาพรวม
การวัดการโต้ตอบทางโซเชียลช่วยให้คุณวัดการโต้ตอบของผู้ใช้กับการแชร์ผ่านโซเชียลเน็ตเวิร์กและวิดเจ็ตคำแนะนำต่างๆ ที่ฝังอยู่ในเนื้อหาได้
การโต้ตอบทางโซเชียลประกอบด้วยช่องต่อไปนี้
ชื่อช่อง |
ประเภท |
จำเป็น |
คำอธิบาย |
โซเชียลเน็ตเวิร์ก |
String |
ได้ |
โซเชียลเน็ตเวิร์กที่ผู้ใช้โต้ตอบด้วย (เช่น Facebook, Google+, Twitter ฯลฯ) |
การกระทำในเครือข่ายสังคม |
String |
ได้ |
การกระทำในเครือข่ายสังคมที่เกิดขึ้น (เช่น กดชอบ แชร์ +1 ฯลฯ) |
เป้าหมายบนโซเชียล |
String |
ไม่ได้ |
เนื้อหาที่เกิดการกระทำในเครือข่ายโซเชียล (เช่น บทความหรือวิดีโอที่เจาะจง) |
ข้อมูลการโต้ตอบทางโซเชียลที่รวบรวมโดย Google Analytics SDK v4 สำหรับ Android จะใช้ได้ผ่านรายงานที่กำหนดเองและ Core Reporting API
การใช้งาน
หากต้องการส่งการโต้ตอบทางโซเชียลไปยัง Google Analytics ให้ใช้ SocialBuilder
ตามตัวอย่างต่อไปนี้
// 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());
ดูรายละเอียดเกี่ยวกับเมธอด 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.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();
}
}