Каково влияние наличия нескольких инструментов для отчетов о сбоях в приложении для Android?

В своем приложении я интегрировал Crashlytics, ACRA и Google Analytics для отчетов о сбоях

-> есть ли побочные эффекты одного на других?

-> Какой лучше использовать.

-> Как работают инструменты отчетов о сбоях, если один из них обнаружил сбой, как другой сможет сообщить о таком же сбое?


person Harsh Middha    schedule 16.12.2014    source источник
comment
ванна или хороша для аварии   -  person Naveen Tamrakar    schedule 16.12.2014


Ответы (3)


есть ли побочные эффекты одного на других?

Google Analytics не очень удобен. Я создал учетную запись Google Analytics за несколько дней до внедрения. Он не использовался и даже не копировался (код), и когда я вернулся, чтобы вставить Google Analytics, мне пришлось получить код. Никто не использовал версию приложения Google Analytics, и оно даже не было выпущено, и в нем было зарегистрировано множество использований. Мне не нравится Google Analytics, потому что код легко взломать, и он используется сторонними веб-сайтами без согласия для добавления ложных кликов на ваш сайт, когда код там даже не используется.

Кроме того, Google Analytics обрабатывает данные только тогда, когда он принудительно регистрируется. Поскольку это не специальный инструмент для анализа сбоев, он не регистрирует сбои, такие как сбои ACRA, Crashalytics и Firebase.

Какой лучше использовать.

Это действительно зависит от вас, но лично я считаю, что ACRA лучше, потому что вы можете использовать бэкенды на своем собственном сайте. Если сайт выходит из строя, то же самое происходит с ACRA, так что это действительно помогает ощутить контроль над его восстановлением.

Кроме того, существует множество бэкэндов, если вы хотите использовать свой собственный сайт. И если вы не найдете подходящего, вы можете его создать. Crashalytics и Firebase полагаются на собственную панель управления на своих страницах, что означает, что нужно запомнить еще один пароль и имя пользователя.

Как работают инструменты отчетов о сбоях, если один из них обнаружил сбой, как другой сможет сообщить о таком же сбое?

См. Ответ Дрю

person Zoe    schedule 15.07.2016

Использование нескольких решений для отчетов о сбоях в одном проекте одновременно может привести к тому, что ваше приложение столкнется с проблемой параллелизма, когда приложение в конечном итоге зависнет навсегда при любом сбое.

Решения для отчетов о сбоях так или иначе перехватывают неперехваченные сбои. Поток в основном такой же:

  1. Перехватить неперехваченную аварию;
  2. Зарегистрируйте его, чтобы иметь возможность отправлять информацию на сервер;
  3. Перебросить сбой, чтобы приложение со временем вылетело.

Я мог бы представить себе ситуацию, когда 2 решения для отчетов о сбоях создают бесконечный цикл, навсегда генерируя одно и то же исключение друг для друга, в соответствии с описанными выше шагами.

По крайней мере, так это выглядело, когда я использовал Google Analyticsвключенной системой отчетов о сбоях) вместе с Crashlytics. Приложение просто зависло навсегда без видимых сбоев, пока я, наконец, не отключил отчеты о сбоях Google Analytics.

person Drew    schedule 18.06.2015

Инструменты аналитики сбоев могут использовать глобальную обработку исключений, как в этом https://stackoverflow.com/a/8877177/1602333 для всего приложения для обработки неперехваченных исключений.

Итак, если вы используете несколько инструментов анализа сбоев, каждый из них может заменить глобальный обработчик исключений.

person MohK    schedule 16.12.2014
comment
Я уже использую метод uncaughtException (), чтобы перезапустить мое приложение, если есть какой-либо сбой, оказывает ли это негативное влияние на инструменты отчетности о сбоях? - person Harsh Middha; 16.12.2014
comment
вы проверили, что крашлитика добавляет исключение или нет? - person MohK; 16.12.2014
comment
в порядке. отличный. они также могут использовать предыдущий обработчик, как в этом. stackoverflow.com/a/2766515/1602333 - person MohK; 16.12.2014