Add parameter defaultValue and value and add replaceIn parameter in another parameter

This commit is contained in:
2024-07-18 08:24:23 +02:00
parent 8f7fd8cbe2
commit f29a076541
10 changed files with 201 additions and 47 deletions

View File

@@ -79,11 +79,27 @@ class MatomoAnalyticsManager: AnalyticsManagerProtocol {
// MARK: - Firebase
class FirebaseAnalyticsManager: AnalyticsManagerProtocol {
func logScreen(name: String, path: String) {
func logScreen(
name: String,
path: String,
params: [String: Any]?
) {
let parameters = [
AnalyticsParameterScreenName: name as NSObject
]
if let supplementaryParameters = params {
for (newKey, newValue) in supplementaryParameters {
if parameters.contains(where: { (key: String, value: NSObject) in
key == newKey
}) {
continue
}
parameters[newKey] = newValue as? NSObject
}
}
Analytics.logEvent(
AnalyticsEventScreenView,
parameters: parameters
@@ -147,7 +163,11 @@ class AnalyticsManager {
guard isEnabled else { return }
managers.forEach { manager in
manager.logScreen(name: name, path: path)
manager.logScreen(
name: name,
path: path,
params: params
)
}
}
@@ -171,31 +191,39 @@ class AnalyticsManager {
// MARK: - section_one
func logScreenS1DefOne(title: String) {
logScreen(
static func logScreenS1DefOne(title: String, test2: String = "test") {
AnalyticsManager.shared.logScreen(
name: "s1 def one \(title)",
path: ""
path: "",
params: ["test2": test2]
)
}
func logEventS1DefTwo(title: String, count: String) {
logEvent(
static func logEventS1DefTwo(
title: String,
count: String,
test2: String = "test"
) {
AnalyticsManager.shared.logEvent(
name: "s1 def two",
action: "test",
category: "test",
params: [
"title": title,
"count": count
"count": count,
"test": "test",
"test2": test2
]
)
}
// MARK: - section_two
func logScreenS2DefOne() {
logScreen(
static func logScreenS2DefOne() {
AnalyticsManager.shared.logScreen(
name: "s2 def one",
path: ""
path: "",
params: nil
)
}
}

View File

@@ -10,6 +10,13 @@ categories:
- name: title
type: String
replaceIn: name,path
- name: test
type: String
value: test
replaceIn: name,path
- name: test2
type: String
defaultValue: test
events:
- id: s1_def_two
@@ -22,6 +29,12 @@ categories:
type: String
- name: count
type: String
- name: test
type: String
value: test
- name: test2
type: String
defaultValue: test
- id: section_two
screens: