Настройка класса Analytics Manager для Firebase - PullRequest
0 голосов
/ 22 октября 2018

Я хочу, чтобы мое iOS-приложение использовало Firebase Analytics.Я знаю, что могу регистрировать события в Firebase, просто имея строку Analytics.logEvent("EventName", parameters: nil) внутри моего UIViewControllers, но я пытаюсь найти способ использовать класс-оболочку (то есть какой-то вид Analytics Manager), который бы обеспечивал уровень абстракции,Смысл в том, чтобы код выглядел чище и более модульным.Проблема в том, что я не совсем уверен, что такое лучшие практики на iOS (и, честно говоря, я даже не уверен, как создать класс AnalyticsManager).

Прямо сейчас у меня есть что-то вроде этого:

enum AnalyticsEvent {

/* Long list of Events */

}

extension AnalyticsEvent {
    func sendEvent() {
        switch self {
            case X:
                Analytics.logEvent("X", parameters: nil)
            case Y:
                Analytics.logEvent("Y", parameters: nil)
            case Z:
                Analytics.logEvent("Z", parameters: nil)
            default:
                print("")
        }
    }
}

Я не думаю, что это правильный путь ... В идеале, я бы создал класс AnalyticsManager и пошел бы оттуда, но я даже не уверен в этом как Я бы это реализовал.

Существует не так много ресурсов о том, как создать слой абстракции для аналитики Firebase.Единственный полезный ресурс, который я нашел до сих пор, - это одна из публикаций в блоге Sundell об этом, но я считаю, что у меня недостаточно опыта, чтобы полностью понять его реализацию.

...