将ACRA与Tracepot一起用作后端

时间:2018-09-16 23:49:37

标签: android acra

作为学校项目的一部分,我刚刚完成了我的第一个android应用程序。.我的一个朋友在尝试探索该应用程序中的一项活动时遇到了问题..so,因此我寻找解决方案以获取崩溃报告他们碰巧修复了错误..i碰到了ACRA ..我跟随SO线程之一将ACRA设置到我的应用程序中。

结果:当崩溃发生时,gmail应用程序将在设备中启动,用户(如果愿意)将通过电子邮件发送崩溃报告。考虑到并非所有用户都想要..i在某些开发人员使用tracepot的SO线程之一的注释中发现。
所以我已经使用他们的链接集成到formUri中,但是在tracepot上浏览我的帐户却无济于事。.是否有我做错的事情(或者,如果有比使用tracepot后端更好的解决方案,请提出建议/解释或链接一个好方法教程,谢谢!) MyApplication.Java(编辑后

(2) [{…}, {…}]
0: {public_id: "spirit-fest1604170329_copy_rwmfaa", version: 1537141402, signature: "8ac06c23a1da8d138cf28e8c9696acb5cde54dcd", width: 379, height: 506, …}
1: {public_id: "FullSizeRender_gcten2", version: 1537141451, signature: "8de460788d6f1a782accf81c6e18aeb600cef3e3", width: 640, height: 468, …}
2: {public_id: "spirit-fest1604170329_copy_ds54m9", version: 1537141451, signature: "60baed9f0ce892779e09c124b0d22fc8987bc1c4", width: 379, height: 506, …}
length: 3
__proto__: Array(0)
ui-cloudinaryimages.js:232 
(3) [{…}, {…}, {…}]
0: {public_id: "spirit-fest1604170329_copy_rwmfaa", version: 1537141402, signature: "8ac06c23a1da8d138cf28e8c9696acb5cde54dcd", width: 379, height: 506, …}
1: {public_id: "FullSizeRender_gcten2", version: 1537141451, signature: "8de460788d6f1a782accf81c6e18aeb600cef3e3", width: 640, height: 468, …}
2: {public_id: "spirit-fest1604170329_copy_ds54m9", version: 1537141451, signature: "60baed9f0ce892779e09c124b0d22fc8987bc1c4", width: 379, height: 506, …}
length: 3
__proto__: Array(0)

编辑: 如果我使用http和电子邮件,则在logcat中显示msg:

@ReportsCrashes(


 formUri = "https://collector.tracepot.com/79b1***",
         reportType = org.acra.sender.HttpSender.Type.JSON,
    httpMethod = org.acra.sender.HttpSender.Method.PUT,
                mode = ReportingInteractionMode.TOAST,
        resToastText = R.string.crash_toast_text
)
public class MyApplication extends Application {
     @Override
    public void onCreate() {
        super.onCreate();

  CaocConfig.Builder.create()
            //.errorActivity(CustomErrorActivity.class) //default: null (default error activity)
            .apply();

        // The following line triggers the initialization of ACRA
        ACRA.init(this);
    }
}

如果我仅使用http:

09-17 18:37:33.700 14329-14812/ma.ac.iav.menunaviagtion:acra W/ACRA: ma.ac.iav.menunaviagtion reports will be sent by email (if accepted by user).
09-17 18:37:33.703 14329-14812/ma.ac.iav.menunaviagtion:acra I/ACRA: Sending report /data/user/0/ma.ac.iav.menunaviagtion/app_ACRA-approved/2018-09-17T18:37:33.441+01:00-IS_SILENT.stacktrace

实施:

09-17 22:47:00.648 20116-20137/ma.ac.iav.myapplication:acra E/ACRA: Failed to send crash report for /data/user/0/ma.ac.iav.myapplication/app_ACRA-approved/2018-09-17T22:44:52.199+00:00-IS_SILENT.stacktrace

F43nd1r的LOGCAT

compile 'ch.acra:acra:4.9.2'

2 个答案:

答案 0 :(得分:2)

您没有将所有必填字段发送到Tracepot。

https://tracepot.uservoice.com/knowledgebase/articles/355272-what-are-the-required-fields-acra-needs-to-send

  • ANDROID_VERSION
  • APP_VERSION_CODE
  • APP_VERSION_NAME
  • PACKAGE_NAME
  • REPORT_ID
  • STACK_TRACE
  • USER_APP_START_DATE
  • USER_CRASH_DATE

答案 1 :(得分:2)

默认情况下,如果存在邮件配置,则Acra 4将通过邮件发送,而不会发送其他任何邮件。 要同时使用两者,您必须配置reportSenderFactories


  

400:客户端错误

表示该跟踪器拒绝了您的报告。这可能有多种原因。要找出问题所在,请在ACRA.DEV_LOGGING = true;之前致电ACRA.init并张贴带有ACRA标签的所有logcat。


还请注意,ACRA 4.9.2不支持android Oreo及更高版本,建议至少升级到ACRA 4.11,或仅升级到最新版本5.2.0