6

Il rilevamento automatico dell'attività è ottimo, tranne il mio MainActivity è un mucchio di diversi frammenti con un cassetto di navigazione (come Google Play Music o il Play Store). Sto usando lo schermo manuale che colpisce per rintracciare i frammenti in quell'attività.Rilevamento automatico delle attività di Google Analytics: puoi escludere una singola attività da questo?

Pertanto, una schermata automatica per il mio MainActivity non ha alcun significato e inquina le mie statistiche. Posso escludere il mio MainActivity da tracciamento in questo modo?

Riferimento: https://developers.google.com/analytics/devguides/collection/android/v4/screens#automatic

risposta

0

Basta impostare enableAutoActivityTracking(false) all'istanza Tracker ottenuto nell'attività.

Supponendo che si è creato un metodo getDefaultTracker() nella classe Application, come descritto nella the official docs, è possibile creare una classe genitore per le vostre attività di applicazione che può cambiare auto-tracking comportamento su richiesta:

public abstract class ParentActivity extends Activity { 

    Tracker mTracker = null; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     getTracker(); 
    } 

    /* Obtains Google Analytics Tracker for this activity */ 
    Tracker getTracker() { 
     if (mTracker == null) { 
      AnalyticsApplication application = (AnalyticsApplication) getApplication(); 
      mTracker = application.getDefaultTracker(); 
      // Enable or disable auto-tracking for this activity 
      mTracker.enableAutoActivityTracking(shouldAutoTrack()); 
     } 
     return mTracker; 
    } 

    /* Defines whether this activity should enable auto-track or not. Default is true. */ 
    protected boolean shouldAutoTrack() { 
     return true; 
    } 
} 

tuo attività principale è sufficiente estendere ParentActivity e sostituire il metodo shouldAutoTrack per restituire false:

public class MainActivity extends ParentActivity { 

    /* Disable auto-tracking for this activity */ 
    protected boolean shouldAutoTrack() { 
     return false; 
    } 

} 
Problemi correlati