4

CUSTOM_DATA フィールドを couchdb で設定するには?

エラーとともに送信する構成値を設定したいと思います。バックエンドには、ACLARYZER Web アプリを備えたソファ データベースがあります。

これは、このカスタム データ値を定義した Android の Application.class のコードです。

@ReportsCrashes(
    formUri = "https://user.cloudant.com/acra-report/_design/acra-storage/_update/report",
    reportType = HttpSender.Type.JSON,
    httpMethod = HttpSender.Method.POST,
    formUriBasicAuthLogin = "user",
    formUriBasicAuthPassword = "pass",
    formKey = "", // This is required for backward compatibility but not used
    customReportContent = {
            ReportField.APP_VERSION_CODE,
            ReportField.APP_VERSION_NAME,
            ReportField.ANDROID_VERSION,
            ReportField.PACKAGE_NAME,
            ReportField.REPORT_ID,
            ReportField.BUILD,
            ReportField.STACK_TRACE,
            ReportField.CUSTOM_DATA
    },
    mode = ReportingInteractionMode.TOAST,
    resToastText = R.string.reporte_error
)
public class my_applicaction  extends Application{

 @Override
protected void attachBaseContext(Context base) {
    super.attachBaseContext(base);
    MultiDex.install(this);
    ACRA.init(my_applicaction.this);
    ACRA.getErrorReporter().putCustomData("myKey", "myValue");
    ACRA.getErrorReporter().handleException(null);


}
}

ここでの問題は、カウチ データベースに値を追加して、このカスタム データ フィールドを取得する方法です。または、ACRALYZER でカスタム データを定義する必要がありますか?

ありがとう </p>

4

1 に答える 1

7

最後に、想像以上に簡単です。

この行をすべての CUSTOM_DATA に追加するだけです

 ACRA.getErrorReporter().putCustomData("NAME_VALUE1", "VALUE1");

次に、コードは次のようになります。

@Override
protected void attachBaseContext(Context base) {
    super.attachBaseContext(base);
    ACRA.init(Application.this);
    ACRA.getErrorReporter().putCustomData("NAME_VALUE1", "VALUE1");
    ACRA.getErrorReporter().putCustomData("NAME_VALUE2", "VALUE2");
    ACRA.getErrorReporter().putCustomData("NAME_VALUE3", "VALUE3");
}

残りは ACLARYZER が行います。

于 2016-01-13T16:46:47.347 に答える