@Override public Integration<?> create(ValueMap settings, Analytics analytics) { Logger logger = analytics.logger(GOOGLE_ANALYTICS_KEY); if (!hasPermission( analytics.getApplication(), Manifest.permission.ACCESS_NETWORK_STATE)) { logger.debug("ACCESS_NETWORK_STATE is required for Google Analytics."); return null; } String mobileTrackingId = settings.getString("mobileTrackingId"); if (isNullOrEmpty(mobileTrackingId)) { logger.debug("mobileTrackingId is required for Google Analytics."); return null; } Context context = analytics.getApplication(); com.google.android.gms.analytics.GoogleAnalytics ga = com.google.android.gms.analytics.GoogleAnalytics.getInstance(context); GoogleAnalytics googleAnalytics = new DefaultGoogleAnalytics(ga); return new GoogleAnalyticsIntegration(context, googleAnalytics, settings, logger); }