In diesem Entwicklerleitfaden wird beschrieben, wie Sie mit dem Google Analytics SDK Version 4 für Android Interaktionen in sozialen Netzwerken messen.
Überblick
Mit der Messung sozialer Interaktionen können Sie die Interaktionen eines Nutzers mit verschiedenen Widgets zum Teilen von Inhalten und Empfehlungen in sozialen Netzwerken messen, die in Ihre Inhalte eingebettet sind.
Soziale Interaktionen umfassen die folgenden Felder:
Feldname |
Typ |
Erforderlich |
Beschreibung |
Soziales Netzwerk |
String |
Ja |
Das soziale Netzwerk, mit dem der Nutzer interagiert (z. B. Facebook, Google+ oder Twitter). |
Soziale Interaktion |
String |
Ja |
Die durchgeführte soziale Interaktion (z. B. positive Bewertungen, Teilen, +1 usw.) |
Ziel der sozialen Interaktion |
String |
Nein |
Die Inhalte, zu denen die soziale Interaktion stattfindet (z.B. ein bestimmter Artikel oder Video). |
Daten zu sozialen Interaktionen, die mit Version 4 des Google Analytics SDK für Android erfasst werden, sind über benutzerdefinierte Berichte und die Core Reporting API verfügbar.
Implementierung
Um eine soziale Interaktion an Google Analytics zu senden, verwenden Sie SocialBuilder
wie im folgenden Beispiel:
// 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());
Weitere Informationen zur Methode getTracker
finden Sie unter
Erweiterte Konfiguration.
Code-Snippet aus der Beispielanwendung ansehen
Das folgende Snippet ist ein Beispiel für Fragment
, das eine soziale Interaktion sendet:
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();
}
}