GoogleAnalyticsIntegration( Context context, GoogleAnalytics googleAnalytics, ValueMap settings, Logger logger) { this.googleAnalytics = googleAnalytics; this.logger = logger; String mobileTrackingId = settings.getString("mobileTrackingId"); tracker = googleAnalytics.newTracker(mobileTrackingId); logger.verbose("GoogleAnalytics.getInstance(context).newTracker(%s);", mobileTrackingId); boolean anonymizeIp = settings.getBoolean("anonymizeIp", false); tracker.setAnonymizeIp(anonymizeIp); logger.verbose("tracker.setAnonymizeIp(%s);", anonymizeIp); boolean reportUncaughtExceptions = settings.getBoolean("reportUncaughtExceptions", false); if (reportUncaughtExceptions) { tracker.setUncaughtExceptionReporter(context); logger.verbose("Thread.setDefaultUncaughtExceptionHandler(new ExceptionReporter(...));"); } sendUserId = settings.getBoolean("sendUserId", false); customDimensions = settings.getValueMap("dimensions"); if (isNullOrEmpty(customDimensions)) customDimensions = EMPTY; customMetrics = settings.getValueMap("metrics"); if (isNullOrEmpty(customMetrics)) customMetrics = EMPTY; }
public void uncaughtException(Thread thread, Throwable throwable) { String s = "UncaughtException"; if (xZ != null) { if (thread != null) { s = thread.getName(); } else { s = null; } s = xZ.getDescription(s, throwable); } z.V((new StringBuilder()).append("Tracking Exception: ").append(s).toString()); xY.send((new HitBuilders.ExceptionBuilder()).setDescription(s).setFatal(true).build()); GoogleAnalytics.getInstance(mContext).dispatchLocalHits(); if (xX != null) { z.V("Passing exception to original handler."); xX.uncaughtException(thread, throwable); } }
@Override public void flush() { googleAnalytics.dispatchLocalHits(); logger.verbose("GoogleAnalytics.getInstance(context).dispatchLocalHits();"); }
@Override public void onActivityStopped(Activity activity) { super.onActivityStopped(activity); googleAnalytics.reportActivityStop(activity); logger.verbose("GoogleAnalytics.getInstance(context).reportActivityStop(activity);"); }
@Override public void onNavigation(NavigationEvent navigationEvent) { analytics.trackPageview(navigationEvent.getRequest().getNameToken()); }