我希望我的iOS应用能够使用Firebase Analytics。我知道我可以将Analytics.logEvent("EventName", parameters: nil)
内的行UIViewControllers
记录到Firebase中,但是我正在尝试找到一种方法来使用包装类(即某种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的blog posts之一,但是我相信我没有足够的经验来完全理解他的实现。