我已经围绕着在特定情况下限制Crashlytics网络使用能力的问题工作了一段时间。例如 - 漫游、计量网络等等。
根据SDK文档,我只找到了两个选项来解决这个问题:
在运行时通过“Opt Out”简单地不初始化Crashlytics
发送崩溃报告之前内置用户同意对话框
这些API非常有限,因为:
不仅会防止网络访问,而且还会防止任何机会使Crashlytics在本地保存崩溃报告,以便最终事件将被发送。更不用说没有好的方法在运行时退出,除非残酷地覆盖Thread.setUncaughtExceptionHandler
如果在后台发生崩溃,同意对话框对用户没有任何意义。
我的问题基本上是: 我错过了什么吗? 有没有办法限制Crashlytics的网络访问?
我的动机来自于需要防止我的应用程序在某些条件下使用可能会花费用户资金的网络带宽,尽管启用了“蜂窝网络”或“漫游数据”设备设置。