Я хочу, чтобы мое 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 об этом, но я считаю, что у меня недостаточно опыта, чтобы полностью понять его реализацию.