Add FirebaseManager

This commit is contained in:
2023-12-06 11:23:26 +01:00
parent 3e133773a9
commit 6aef8bc2de
4 changed files with 73 additions and 41 deletions

View File

@ -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")
}
}