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
Leggi la Guida all'implementazione delle app mobile per scoprire come utilizzare Google Analytics per misurare le interazioni degli utenti e rispondere a domande sull'utilizzo delle app.
Esamina altre opzioni di configurazione, come campionamento, test e debug, impostazioni di disattivazione e così via.
Se la tua app deve raccogliere identificatori pubblicità, attiva le funzionalità pubblicitarie per l'app.