您可以通过
FirebaseCrashlytics.getInstance().setCustomKey(key, value)
将任意键/值对与崩溃报告相关联
好的。
但是当我不再需要时如何恢复它们?
考虑以下代码:
// report 'ex_1' with "info" key
FirebaseCrashlytics.getInstance().setCustomKey("info", "abc");
FirebaseCrashlytics.getInstance().recordException(ex_1);
//Now I want to clear custom keys, so I want to report 'ex_2' without "info"
//FirebaseCrashlytics.getInstance().REMOVECustomKey("info");
FirebaseCrashlytics.getInstance().recordException(ex_2);
我在 SDK 中没有看到任何允许这样做的内容。他们确实应该提供一些方法来清除自定义键,但 SDK 也不允许可以为空值。
我解决这个问题的方法只是用
0
覆盖一次性自定义键。
// Set key
FirebaseCrashlytics.getInstance().setCustomKey("key", "value")
// Clear key
FirebaseCrashlytics.getInstance().setCustomKey("key", 0)
这不是最干净的方法,但至少您知道这些值已重置。
接下来的代码将真正删除该值。您将不会再在报告中看到它,它将消失。它的工作原理与字典的工作原理完全相同,当您设置
nil
值时,该键将被删除。
Crashlytics.crashlytics().setCustomValue(nil, forKey: "key")