如何手动使ACRA发送待处理的报告(离线使用)

问题描述 投票:1回答:1

我们处于这种情况下,我们的客户95%的时间离线使用我们的移动应用程序。在工作结束时,当他们回到办公室时,他们会在具有网络连接的情况下将所有数据与我们的服务器同步。

我们为ACRA设置了AcraHttpSender插件,尝试直接向我们发送崩溃报告,但这通常会失败,因为他们正在离线使用应用程序,而ACRA则存储了报告。

据我了解,待处理的报告仅由ACRA通过ACRA.init通过应用程序重新启动发送。问题是用户没有理由在工作日结束时(具有网络连接性)重新启动应用程序。我必须强调,用户是完全的技术素养,我们的客户向我们表明了这一点。

因此,我们真的需要能够告诉ACRA在短时间内可用的网络连接中向我们发送任何未决的崩溃报告。没有任何形式的用户交互。我在想也许在我们主要活动的onCreate函数中。

然而,我一直在查看文档,并且一段时间以来其他人都在问相同的问题,但是没有发现任何明显的问题。这可能吗?

android crash offline acra
1个回答
0
投票

正如@CommonsWare在评论中所述,AdvancedSenderScheduler是必经之路。

示例用法:

implementation "ch.acra:acra-advanced-scheduler:5.5.1"
@AcraScheduler(requiresNetworkType = JobRequest.NetworkType.UNMETERED,
               requiresBatteryNotLow = true)

如果您对AdvancedSenderScheduler选项不满意,也可以注册自己的SenderScheduler,但这很少有必要。

© www.soinside.com 2019 - 2024. All rights reserved.