[ios][statistics] Url params from deep links are sent into statistics.

This commit is contained in:
Arsentiy Milchakov 2020-01-30 11:07:23 +03:00 committed by Aleksandr Zatsepin
parent aab28bc72e
commit a6ce311126

View file

@ -7,13 +7,30 @@ protocol IDeepLinkHandlerStrategy {
}
extension IDeepLinkHandlerStrategy {
fileprivate func makeParams(type: String) -> [String: String] {
let params = [kStatType : type, kStatProvider: deeplinkURL.provider.statName]
guard let components = URLComponents(string: deeplinkURL.url.absoluteString) else {
return params
}
var result = [String: String]()
components.queryItems?
.filter({ $0.name.starts(with: "utm_") || $0.name == "booking_aid" })
.forEach({ result[$0.name] = $0.value ?? "" })
// Internal params are more perffered than url params.
for param in params {
result.updateValue(param.value, forKey: param.key)
}
return result
}
func sendStatisticsOnSuccess(type:String) {
Statistics.logEvent(kStatDeeplinkCall, withParameters: [kStatType : type,
kStatProvider: deeplinkURL.provider.statName])
Statistics.logEvent(kStatDeeplinkCall, withParameters: makeParams(type:type))
}
func sendStatisticsOnFail(type:String) {
Statistics.logEvent(kStatDeeplinkCallMissed, withParameters: [kStatType : type,
kStatProvider: deeplinkURL.provider.statName])
Statistics.logEvent(kStatDeeplinkCallMissed, withParameters: makeParams(type:type))
}
}