Ce guide du développeur explique comment mesurer les interactions sur les réseaux sociaux à l'aide du SDK Google Analytics v4 pour Android.
Présentation
La mesure des interactions sur les réseaux sociaux vous permet de mesurer les interactions d'un utilisateur avec divers widgets de partage et de recommandation sur les réseaux sociaux intégrés à votre contenu.
Les interactions sur les réseaux sociaux comportent les champs suivants:
Nom du champ |
Type |
Obligatoire |
Description |
Réseau social |
String |
Oui |
Réseau social avec lequel l'utilisateur interagit (par exemple, Facebook, Google+, Twitter, etc.). |
Action sur un réseau social |
String |
Oui |
Action effectuée sur un réseau social (par exemple, "J'aime", "Partager", "+1", etc.). |
Cible de réseau social |
String |
Non |
Contenu sur lequel l'action sur le réseau social est effectuée (par exemple, un article ou une vidéo spécifique). |
Les données sur les interactions sur les réseaux sociaux collectées par la version 4 du SDK Google Analytics pour Android sont disponibles via des rapports personnalisés et l'API Core Reporting.
Implémentation
Pour envoyer une interaction sur les réseaux sociaux à Google Analytics, utilisez SocialBuilder
comme dans l'exemple suivant:
// 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());
Pour en savoir plus sur la méthode getTracker
, consultez la section
Configuration avancée.
Afficher un extrait de code de l'exemple d'application
L'extrait de code suivant est un exemple de Fragment
qui envoie une interaction sur les réseaux sociaux:
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();
}
}