Вы можете создать CrashLogger
класс с функцией logEvent, которая принимает eventName как String
, и словарь данных в формате [String: CustomStringConvertible]
для передачи любой необходимой информации в Crashlytics
import Crashlytics
final class CrashLogger {
static let shared = CrashLogger()
private init() { }
func logEvent(_ event: String, withData data: [String: CustomStringConvertible]) {
let dataString = data.reduce("Event: \(event): ", { (result, element: (key: String, value: CustomStringConvertible)) -> String in
return result + " (" + element.key + ": " + String(describing: element.value) + " )"
})
logEvent(dataString)
}
private func logEvent(_ message: String) {
CLSLogv("%@", getVaList([message]))
}
}
Теперь вы можете вызывать этоlogEvent
метод всякий раз, когда вы хотите зарегистрировать пользовательское событие в Crashlytics, и оно будет доступно в разделе журналов при просмотре любого сбоя в Firebase.
Как использовать: например addToCart
функция в приложении электронной коммерции:
func addToCard(_ product: Product) {
CrashLogger.logEvent("addToCart", withData: ["productId": product.id, "productName": product.name)
//do further processing like update cart item count etc.
}
Для получения дополнительной информации см. пользовательскую регистрацию Crashlytics документы .