Add FirebaseManager
This commit is contained in:
@ -66,11 +66,15 @@ class MatomoAnalyticsManager: AnalyticsManagerProtocol {
|
||||
|
||||
class FirebaseAnalyticsManager: AnalyticsManagerProtocol {
|
||||
func logScreen(name: String, path: String) {
|
||||
|
||||
Analytics.logEvent(AnalyticsEventScreenView, parameters: [AnalyticsParameterScreenName: name])
|
||||
}
|
||||
|
||||
func logEvent(name: String) {
|
||||
|
||||
var parameters = [
|
||||
AnalyticsParameterValue: name
|
||||
]
|
||||
|
||||
Analytics.logEvent(AnalyticsEventSelectContent, parameters: parameters)
|
||||
}
|
||||
}
|
||||
|
||||
@ -83,20 +87,27 @@ class AnalyticsManager {
|
||||
|
||||
var managers: [AnalyticsManagerProtocol] = []
|
||||
|
||||
private var isEnabled: Bool = true
|
||||
|
||||
// MARK: - Methods
|
||||
|
||||
func setAnalyticsEnabled(_ enable: Bool) { isEnabled = enable }
|
||||
|
||||
func configure(sideId: String, url: String) {
|
||||
managers.append(MatomoAnalyticsManager(siteId: sideId, url: url))
|
||||
|
||||
managers.append(FirebaseAnalyticsManager())
|
||||
FirebaseApp.configure()
|
||||
}
|
||||
|
||||
private func logScreen(name: String, path: String) {
|
||||
guard isEnabled else { return }
|
||||
managers.forEach { manager in
|
||||
manager.logScreen(name: name, path: path)
|
||||
}
|
||||
}
|
||||
|
||||
private func logEvent(name: String) {
|
||||
guard isEnabled else { return }
|
||||
managers.forEach { manager in
|
||||
manager.logEvent(name: name)
|
||||
}
|
||||
@ -104,11 +115,11 @@ class AnalyticsManager {
|
||||
|
||||
// MARK: - ScreenTag
|
||||
|
||||
func logScreenEcranUn(name: String, path: String) {
|
||||
logScreen(name: name, path: path)
|
||||
func logScreenEcranUn() {
|
||||
logScreen(name: "Ecran un", path: "ecran_un/")
|
||||
}
|
||||
|
||||
func logEventEcranDeux(name: String) {
|
||||
logEvent(name: name)
|
||||
func logEventEcranDeux() {
|
||||
logEvent(name: "Ecran deux")
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user