ACRA, переопределенная отправка является пользовательской ReportSender никогда не вызывался

Недавно я обновил ACRA до версии 4.5.0, и метод отправки в моем пользовательском ReportSender больше не вызывается.

Судя по журналам, похоже, что он пытается загрузить отчет о сбое в Документы Google.

Я включил часть нашего кода ниже.

Пользовательский отправитель отчетов:

public class AcraPassportSender implements ReportSender {
    ...
    public AcraPassportSender(int versionCode, boolean isStoreVersion){
    ...
    }

    @Override
    public void send(CrashReportData report) throws ReportSenderException {
        PLog.i(TAG, "Attempting to create and upload a bug report");
    ...
    }
}

Класс приложения:

@ReportsCrashes(formKey="")
public class MyApp extends Application {

    @Override
    public void onCreate() {
        ACRA.init(this);
        AcraPassportSender acsender = new AcraPassportSender(version, isStoreVersion);
        ACRA.getErrorReporter().setReportSender(acsender);
    }
}

Журналы показывают, что ACRA инициализируется. Это работало до того, как я обновил ACRA. Любые идеи о том, что может происходить здесь?


person John    schedule 18.05.2015    source источник


Ответы (2)


Вы можете найти следующее предложение на веб-сайте ACRA:

После недавнего обновления Google Forms компанией Google использование Google Docs в качестве механизма хранения отчетов ACRA больше не рекомендуется.

Насколько я знаю, Google Forms был методом отчетов о сбоях по умолчанию в ACRA. Вы можете просмотреть проект ACRA на GitHub и попробовать использовать метод отчетности, отличный от Google Forms.

Кроме того, я рекомендую вам использовать такие инструменты, как Crashlytics, которые лучше, чем ACRA, позволяют собирать отчеты о сбоях. и контролировать ваши приложения. Обратите внимание, что Crashlytics был приобретен Twitter, и теперь они доступны в домене fabric.io. Вы также можете использовать платные инструменты, такие как Bugsnag, или создать собственное решение для создания отчетов.

person Piotr Wittchen    schedule 18.05.2015
comment
Да, я создал собственный ReportSender: github.com/ACRA/ acra/wiki/ Однако журналы показывают запись в Google Docs, когда она должна использовать это пользовательское поведение. - person John; 18.05.2015
comment
Если вы сделали это таким образом, я думаю, вам следует использовать HttpSender, определить свой собственный URL-адрес и подготовить свой сервер для сбора данных о сбоях или использовать EmailIntentSender и отправлять сбои на указанную электронную почту через намерение. Я предполагаю, что GoogleFormSender может быть устаревшим или библиотека ведет себя не так, как вы ожидаете. - person Piotr Wittchen; 18.05.2015

Последняя версия ACRA — 4.6.2. Я бы предложил перейти на это.

GoogleFormSender был удален в версии 4.6.0. Помимо этого, трудно понять, что происходит, поскольку вы не опубликовали код для своего отправителя и не разместили свой лог-код.

Я предлагаю сначала обновиться до 4.6.2, а затем переоценить.

person William    schedule 19.05.2015