Aggiungi Analytics alla tua app Android

Questa guida illustra come aggiungere Analytics alla tua app per Android per misurare l'attività degli utenti per le schermate denominate. Se non hai ancora un'applicazione e vuoi solo vedere come funziona Analytics, consulta la nostra applicazione di esempio.

Obbligatorio: le versioni più recenti di:

Configura il progetto

Aggiorna il file AndroidManifest.xml del tuo progetto in modo che includa le autorizzazioni INTERNET e ACCESS_NETWORK_STATE:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.example.analytics">

  <uses-permission android:name="android.permission.INTERNET"/>
  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

  <application android:name="AnalyticsApplication">
    ...
  </application>
</manifest>

Aggiungi la seguente dipendenza a build.gradle a livello di progetto:

dependencies {
  // ...
  classpath 'com.google.gms:google-services:3.0.0'
}

Aggiungi a app/build.gradle la seguente dipendenza su Google Play Services:

dependencies {
  // ...
  compile 'com.google.android.gms:play-services-analytics:10.2.4'
}

Crea global_tracker.xml

Crea il file app/src/res/xml/global_tracker.xml con i seguenti contenuti:

<?xml version="1.0" encoding="utf-8"?>
<resources>
  <string name="ga_trackingId" translatable="false">${YOUR_TRACKING_ID}</string>
</resources>

Sostituisci ${YOUR_TRACKING_ID} con il tuo ID monitoraggio.

Aggiungere il monitoraggio dello schermo

Qui invierai una visualizzazione di schermata con nome ad Analytics ogni volta che l'utente apre o modifica le schermate della tua app. Il tuo codice deve:

  • Fornisci il tracker condiviso tramite una sottoclasse Applicazione.
  • Esegui l'override del metodo di callback per l'attività in primo piano.
  • Dai un nome allo schermo ed esegui il monitoraggio.

Applicazione

Devi fornire una sottoclasse Application e fornire un metodo helper che restituisca il tracker della tua applicazione.</>

/*
 * Copyright Google Inc. All Rights Reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.google.samples.quickstart.analytics;

import android.app.Application;

import com.google.android.gms.analytics.GoogleAnalytics;
import com.google.android.gms.analytics.Tracker;

/**
 * This is a subclass of {@link Application} used to provide shared objects for this app, such as
 * the {@link Tracker}.
 */
public class AnalyticsApplication extends Application {

  private static GoogleAnalytics sAnalytics;
  private static Tracker sTracker;

  @Override
  public void onCreate() {
    super.onCreate();

    sAnalytics = GoogleAnalytics.getInstance(this);
  }

  /**
   * Gets the default {@link Tracker} for this {@link Application}.
   * @return tracker
   */
  synchronized public Tracker getDefaultTracker() {
    // To enable debug logging use: adb shell setprop log.tag.GAv4 DEBUG
    if (sTracker == null) {
      sTracker = sAnalytics.newTracker(R.xml.global_tracker);
    }

    return sTracker;
  }
}

Attività o frammento

Apri l'attività che desideri monitorare. Puoi anche monitorare un Fragment, ma assicurati che rappresenti correttamente una visualizzazione di schermata.

Esegui l'override del metodo onCreate del metodo Activity o del metodo Fragment da monitorare per ottenere l'istanza Tracker condivisa:

// Obtain the shared Tracker instance.
AnalyticsApplication application = (AnalyticsApplication) getApplication();
mTracker = application.getDefaultTracker();

Esegui l'override del metodo appropriato, ad esempio onResume per un Activity o onPageSelected per un ViewPager per registrare quando la schermata cambia.

Log.i(TAG, "Setting screen name: " + name);
mTracker.setScreenName("Image~" + name);
mTracker.send(new HitBuilders.ScreenViewBuilder().build());

Aggiungi il codice di monitoraggio a ogni Activity o Fragment che rappresenta uno schermo. Assicurati di impostare un nome all'interno di ogni Activity o Fragment se vuoi differenziare le visualizzazioni di schermata della tua app in Analytics. Per tutte le attività registrate sul tracker condiviso viene inviato il nome schermata più recente fino a quando non viene sostituita o cancellata (impostazione impostata su null).

Invia un evento

Per inviare un evento, imposta i valori del campo sullo schermo sul tracker, quindi invia l'hit. L'esempio seguente utilizza HitBuilders.EventBuilder per inviare un Event:

mTracker.send(new HitBuilders.EventBuilder()
    .setCategory("Action")
    .setAction("Share")
    .build());

Passaggi successivi