analytics #9
@ -26,10 +26,14 @@ class FirebaseAnalyticsManager: AnalyticsManagerProtocol {
|
|||||||
path: String,
|
path: String,
|
||||||
params: [String: Any]?
|
params: [String: Any]?
|
||||||
) {
|
) {
|
||||||
let parameters = [
|
var parameters = [
|
||||||
AnalyticsParameterScreenName: name as NSObject
|
AnalyticsParameterScreenName: name as NSObject
|
||||||
]
|
]
|
||||||
|
|
||||||
|
if path.isEmpty == false {
|
||||||
|
parameters["path"] = path + "/iOS" as NSObject
|
||||||
|
}
|
||||||
|
|
||||||
if let supplementaryParameters = params {
|
if let supplementaryParameters = params {
|
||||||
for (newKey, newValue) in supplementaryParameters {
|
for (newKey, newValue) in supplementaryParameters {
|
||||||
if parameters.contains(where: { (key: String, value: NSObject) in
|
if parameters.contains(where: { (key: String, value: NSObject) in
|
||||||
@ -55,10 +59,16 @@ class FirebaseAnalyticsManager: AnalyticsManagerProtocol {
|
|||||||
params: [String: Any]?
|
params: [String: Any]?
|
||||||
) {
|
) {
|
||||||
var parameters: [String:NSObject] = [
|
var parameters: [String:NSObject] = [
|
||||||
AnalyticsParameterItemName: name.replacingOccurrences(of: " ", with: "_") as NSObject,
|
AnalyticsParameterItemName: name.replacingOccurrences(of: " ", with: "_") as NSObject
|
||||||
AnalyticsParameterItemCategory: category as NSObject,
|
|
||||||
"action": action as NSObject,
|
|
||||||
]
|
]
|
||||||
|
|
||||||
|
if category.isEmpty == false {
|
||||||
|
parameters["AnalyticsParameterItemCategory"] = category as NSObject
|
||||||
|
}
|
||||||
|
|
||||||
|
if action.isEmpty == false {
|
||||||
|
parameters["action"] = action as NSObject
|
||||||
|
}
|
||||||
|
|
||||||
if let supplementaryParameters = params {
|
if let supplementaryParameters = params {
|
||||||
for (newKey, newValue) in supplementaryParameters {
|
for (newKey, newValue) in supplementaryParameters {
|
||||||
@ -136,11 +146,11 @@ class AnalyticsManager {
|
|||||||
|
|
||||||
// MARK: - section_one
|
// MARK: - section_one
|
||||||
|
|
||||||
static func logScreenS1DefOne(title: String, test2: String = "test") {
|
static func logScreenS1DefOne() {
|
||||||
AnalyticsManager.shared.logScreen(
|
AnalyticsManager.shared.logScreen(
|
||||||
name: "s1 def one \(title)",
|
name: "s1 def one \(title)",
|
||||||
path: "",
|
path: "s1_def_one/\(title)",
|
||||||
params: ["test2": test2]
|
params: nil
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -167,7 +177,7 @@ class AnalyticsManager {
|
|||||||
static func logScreenS2DefOne() {
|
static func logScreenS2DefOne() {
|
||||||
AnalyticsManager.shared.logScreen(
|
AnalyticsManager.shared.logScreen(
|
||||||
name: "s2 def one",
|
name: "s2 def one",
|
||||||
path: "",
|
path: "s2_def_one/",
|
||||||
params: nil
|
params: nil
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
@ -9,14 +9,8 @@ categories:
|
|||||||
parameters:
|
parameters:
|
||||||
- name: title
|
- name: title
|
||||||
type: String
|
type: String
|
||||||
|
value: try test
|
||||||
replaceIn: name,path
|
replaceIn: name,path
|
||||||
- name: test
|
|
||||||
type: String
|
|
||||||
value: test
|
|
||||||
replaceIn: name,path
|
|
||||||
- name: test2
|
|
||||||
type: String
|
|
||||||
defaultValue: test
|
|
||||||
|
|
||||||
events:
|
events:
|
||||||
- id: s1_def_two
|
- id: s1_def_two
|
||||||
|
@ -48,10 +48,9 @@ class AnalyticsDefinition {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private func getParameters() -> String {
|
private func getParameters() -> String {
|
||||||
var params = parameters
|
|
||||||
var result: String
|
var result: String
|
||||||
|
|
||||||
let paramsString = params.compactMap { parameter -> String? in
|
let paramsString = parameters.compactMap { parameter -> String? in
|
||||||
guard parameter.value.isEmpty else { return nil }
|
guard parameter.value.isEmpty else { return nil }
|
||||||
|
|
||||||
let defaultValue: String
|
let defaultValue: String
|
||||||
|
@ -68,6 +68,12 @@ class AnalyticsFileParser {
|
|||||||
Analytics.exit(withError: error)
|
Analytics.exit(withError: error)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if dtoParameter.value != nil, dtoParameter.replaceIn != nil {
|
||||||
|
let error = AnalyticsError.invalidParameter("you can't set 'value' and 'replaceIn' for \(dtoParameter.name)")
|
||||||
|
print(error.description)
|
||||||
|
Analytics.exit(withError: error)
|
||||||
|
}
|
||||||
|
|
||||||
verify(value: dtoParameter.value, for: typeEnum)
|
verify(value: dtoParameter.value, for: typeEnum)
|
||||||
verify(value: dtoParameter.defaultValue, for: typeEnum)
|
verify(value: dtoParameter.defaultValue, for: typeEnum)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user