Как распечатать настроить регистрацию в Crashlytics Swift? - PullRequest
0 голосов
/ 20 декабря 2018

У нас есть установочный файл pod для фабрики и сбоев и он импортирован в делегат приложения. Fabric.with ([Crashlytics.self, Branch.self]) в didFinishLaunchingWithOptions функция.Работает нормально.Но я хочу напечатать, какое действие может нажать пользователь. Например) Нажал кнопку входа Кнопка.

Я видел, что мы можем вызвать эту функцию, но где я могу вызвать это?

func write(string: String) {
        CLSLogv("%@", getVaList([string]))
    }

мы не сможем найти строку кода из этого сбоя

Как напечатать пользовательские журналы на ткани?Какая функция по умолчанию вызывается при сбое?

Ответы [ 2 ]

0 голосов
/ 20 декабря 2018

Вы можете создать 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 документы .

0 голосов
/ 20 декабря 2018

Вы можете регистрировать пользовательские действия с помощью .recordError(NSERROR) ниже кода.Тем не менее, я не рекомендую вам использовать Crashlytics для таких журналов «Нажатие кнопки».Используйте некоторые инструменты Google Analytics, например (Google Analytics).

let customError = NSError(domain: errorDomain, code: errorCode, userInfo: [
            NSLocalizedDescriptionKey: message,
            ])
            Crashlytics.sharedInstance().recordError(customError)
...