Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Z tego przewodnika dla programistów dowiesz się, jak mierzyć zdarzenia w aplikacji za pomocą pakietu SDK Google Analytics w wersji 4 na Androida.
Przegląd
Zdarzenia to przydatny sposób zbierania danych o interakcjach użytkowników z interaktywnymi komponentami aplikacji, np. naciśnięciami przycisków czy korzystaniu z konkretnego elementu w grze.
Zdarzenie składa się z 4 pól, których możesz używać do opisania interakcji użytkownika z treścią aplikacji:
Nazwa pola
Typ
Wymagane
Opis
Kategoria
String
Tak
Kategoria zdarzenia
Działanie
String
Tak
Czynność zdarzenia
Wytwórnia
String
Nie
Etykieta zdarzenia
Wartość
Long
Nie
Wartość zdarzenia
Implementacja
Aby wysłać zdarzenie do Google Analytics, użyj funkcji HitBuilders.EventBuilder i wyślij działanie, jak pokazano w tym przykładzie:
// Get tracker.
Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker(
TrackerName.APP_TRACKER);
// Build and send an Event.
t.send(new HitBuilders.EventBuilder()
.setCategory(getString(categoryId))
.setAction(getString(actionId))
.setLabel(getString(labelId))
.build());
Więcej informacji o działaniach niezwiązanych z interakcjami i o tym, kiedy ich używać, znajdziesz w artykule o
zdarzeniach niezwiązanych z interakcjami w Centrum pomocy Analytics.
Wyświetl fragment kodu z przykładowej aplikacji
Ten fragment kodu pokazuje przykładowy element Fragment, który wysyła zdarzenie:
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 com.google.android.apps.mobileplayground.AnalyticsSampleApp.TrackerName;
import com.google.android.gms.analytics.GoogleAnalytics;
import com.google.android.gms.analytics.HitBuilders;
import com.google.android.gms.analytics.Tracker;
/**
* Class to exercise Event hits.
*/
public class EventFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
View view = inflater.inflate(R.layout.event, container, false);
setupEvent(view, R.id.video1Play, R.string.videoCategory, R.string.videoPlay, R.string.video1);
setupEvent(view, R.id.video1Pause, R.string.videoCategory, R.string.videoPause,
R.string.video1);
setupEvent(view, R.id.video2Play, R.string.videoCategory, R.string.videoPlay, R.string.video2);
setupEvent(view, R.id.video2Pause, R.string.videoCategory, R.string.videoPause,
R.string.video2);
setupEvent(view, R.id.book1View, R.string.bookCategory, R.string.bookView, R.string.book1);
setupEvent(view, R.id.book1Share, R.string.bookCategory, R.string.bookShare, R.string.book1);
final Button dispatchButton = (Button) view.findViewById(R.id.eventDispatch);
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().getApplicationContext()).dispatchLocalHits();
}
});
return view;
}
private void setupEvent(View v, int buttonId, final int categoryId, final int actionId,
final int labelId) {
final Button pageviewButton = (Button) v.findViewById(buttonId);
pageviewButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// Get tracker.
Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker(
TrackerName.APP_TRACKER);
// Build and send an Event.
t.send(new HitBuilders.EventBuilder()
.setCategory(getString(categoryId))
.setAction(getString(actionId))
.setLabel(getString(labelId))
.build());
}
});
}
}