Google Analytics с Android: программно установить ga_reportUncaughtExceptions?

ТЛ; др

Есть ли способ программно включить reportUncaughtExceptions для Google Analytics (v4) без использования xml-конфигурации в Android?

Более длительное объяснение

Я использую Google Analytics v4 в приложении для Android, и мне нужен способ установить два разных идентификатора отслеживания, создав их. Я использовал общую конфигурацию global_tracker.xml (см. Ниже), хотя мне нужен способ «динамически внедрить» идентификатор отслеживания на основе вкуса.

<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="TypographyDashes"> <integer name="ga_sessionTimeout">300</integer> <bool name="ga_autoActivityTracking">true</bool> <bool name="ga_reportUncaughtExceptions">true</bool> <!-- The following value should be replaced with correct property id. --> <string name="ga_trackingId">UA-xxxxxx-xx</string> </resources> 

Чтобы избежать дублирования конфигураций xml в папках источника аромата сборки, я инициализирую трекер непосредственно с помощью trackingId и автоматически устанавливаю атрибуты.

 mGATracker = analytics.newTracker(R.string.ga_code); // this is dynamic depending on flavor mGATracker.setSessionTimeout(300); mGATracker.enableAutoActivityTracking(true); 

Есть ли способ включить reportUncaughtExceptions без использования xml config?

Solutions Collecting From Web of "Google Analytics с Android: программно установить ga_reportUncaughtExceptions?"

Нет. В текущей версии API нет способа сделать это. Спасибо, что указали на это. Мы рассмотрим его и, возможно, добавим в одну из следующих версий sdk.

Если я не понял ваш вопрос неправильно, решение будет ниже:

MGATracker – ваш собственный трекер.

 mGATracker.enableExceptionReporting(true); 

Надеюсь, это поможет, спасибо.

Ссылка: https://developers.google.com/android/reference/com/google/android/gms/analytics/Tracker#enableExceptionReporting(boolean)

Я думаю, что лучшее, что вы сможете сделать программно, – это два разных конфигурационных файла трекера xml с обоими ga_trackingId но с разными значениями для ga_reportUncaughtExceptions . Используйте метод GoogleAnalytics.newTracker() с ресурсом xml для правильного файла конфигурации вместо идентификатора trackingId.

 if (buildFlavor == 1) mGATracker = analytics.newTracker(R.xml.tracker_config_1) else mGATracker = analytics.newTracker(R.xml.tracker_config_2) 

См. http://developer.android.com/reference/com/google/android/gms/analytics/GoogleAnalytics.html#newTracker (int)

Вы можете настроить обработчик исключений Analytics программно.

 UncaughtExceptionHandler myHandler = new ExceptionReporter( myTracker, // Currently used Tracker. Thread.getDefaultUncaughtExceptionHandler(), // Current default uncaught exception handler. context); // Context of the application. // Make myHandler the new default uncaught exception handler. Thread.setDefaultUncaughtExceptionHandler(myHandler); 

Подробнее см. На странице https://developer.android.com/reference/com/google/android/gms/analytics/ExceptionReporter.html.