Bazen, uygulamayı açmaya çalıştığımda uygulamamı kullanmama uzun süre sonra bir ANR alıyorum.ANR Execute service com.example.app/com.google.android.gms.analytics.AnalyticsService
ANR Executing service my.site.app/com.google.android.gms.analytics.AnalyticsService
Açıkçası sorun AnalyticsService
içindedir: google oyun konsolunda aşağıdaki alıyorum. Ancak cihazım bilgisayarıma bağlıyken ANR'yi yeniden oluşturamadım. Ve analitik hesapta ANR'yi göremiyorum.
Bu benim Uygulama sınıftır: my BaseActivity sınıfında
public class BaseApp extends Application {
public static GoogleAnalytics analytics;
public static Tracker tracker;
@Override
public void onCreate() {
analytics = GoogleAnalytics.getInstance(this);
analytics.setLocalDispatchPeriod(1800);
analytics.setDryRun(Constants.IS_DEBUG);
GoogleAnalytics.getInstance(this).getLogger().setLogLevel(Logger.LogLevel.VERBOSE);
tracker = analytics.newTracker(Constants.GOOGLE_ANALYTICS_TRACKER_ID);
tracker.enableExceptionReporting(true);
tracker.enableAdvertisingIdCollection(true);
tracker.enableAutoActivityTracking(true);
super.onCreate();
}
}
Ve sonra:
@Override
public void onStart() {
super.onStart();
sendScreenStat();
}
protected String getScreenStatName() {
return getTitle().toString();
}
private void sendScreenStat() {
BaseApp.tracker.setScreenName(getScreenStatName());
BaseApp.tracker.send(new HitBuilders.ScreenViewBuilder().build());
}
ne sebep olabilir?
Cevabınız için teşekkür ederiz. Google Analytics'ten android analiz kılavuzunu görmemiş olsaydım bunu yapardım: https://developers.google.com/analytics/devguides/collection/android/v4/#tracking-methods Özellikle şunları söylüyorlar: "getInstance (Context) iş parçacığı güvenlidir ve herhangi bir iş parçacığından çağrılabilir". Aslında, kendi kod örneklerini projemde kullanırım, bu yüzden düzgün çalışmasını beklerim. – serg66