이 개발자 가이드에서는 Android용 Google 애널리틱스 SDK v4를 사용하여 소셜 상호작용을
측정하는 방법을 설명합니다.
개요
소셜 상호작용 측정을 사용하면 콘텐츠에 삽입된 다양한 소셜 네트워크 공유 및 추천 위젯과의 사용자 상호작용을 측정할 수 있습니다.
소셜 상호작용에는 다음과 같은 필드가 포함됩니다.
필드 이름 |
유형 |
필수 |
설명 |
소셜 네트워크 |
String |
예 |
사용자가 상호작용하는 소셜 네트워크 (예: Facebook, Google+, Twitter 등) |
소셜 액션 |
String |
예 |
취한 소셜 액션 (예: 좋아요, 공유, +1 등) |
소셜 타겟 |
String |
아니요 |
소셜 액션을 취하고 있는 콘텐츠 (예: 특정 기사 또는 동영상) |
Android용 Google 애널리틱스 SDK v4에서 수집하는 소셜 상호작용 데이터는 맞춤 보고서와 Core Reporting API를 통해 사용할 수 있습니다.
구현
Google 애널리틱스로 소셜 상호작용을 보내려면
다음 예와 같이 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();
}
}