Bu geliştirici kılavuzunda, Android için Google Analytics SDK v4 kullanılarak sosyal medya etkileşimlerinin nasıl ölçüleceği açıklanmaktadır.
Genel bakış
Sosyal medya etkileşimi ölçümü, bir kullanıcının içeriğinize yerleştirilmiş çeşitli sosyal ağ paylaşımı ve öneri widget'larıyla olan etkileşimlerini ölçmenize olanak tanır.
Sosyal medya etkileşimleri aşağıdaki alanları içerir:
Alan adı |
Tür |
Gerekli |
Açıklama |
Sosyal Ağ |
String |
Evet |
Kullanıcının etkileşim kurduğu sosyal ağ (ör. Facebook, Google+, Twitter vb.). |
Sosyal Medya İşlemi |
String |
Evet |
Gerçekleştirilen sosyal medya işlemi (ör. Beğen, Paylaş, +1'le vb.). |
Sosyal Medya Hedefi |
String |
Hayır |
Sosyal medya işleminin gerçekleştirildiği içerik (ör. belirli bir makale veya video). |
Android için Google Analytics SDK v4 ile toplanan sosyal medya etkileşimi verileri, özel raporlar ve Temel Raporlama API'si aracılığıyla sunulur.
Uygulama
Google Analytics'e sosyal medya etkileşimi göndermek için aşağıdaki örnekte gösterildiği gibi SocialBuilder
öğesini kullanın:
// 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
yöntemi ile ilgili ayrıntılar için
Gelişmiş Yapılandırma bölümüne bakın.
Örnek Uygulamadan bir Kod Snippet'ine bakın
Aşağıdaki snippet, sosyal medya etkileşimi gönderen bir Fragment
örneğidir:
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();
}
}