parent
96dbe50a09
commit
e83164ded5
|
@ -82,17 +82,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
|
||||||
}
|
}
|
||||||
|
|
||||||
private func logUtmInFirebase() {
|
private func logUtmInFirebase() {
|
||||||
let utmSource = AppState.shared.marketingUtmSource.trimmingCharacters(in: .whitespacesAndNewlines)
|
FirebaseTracking.shared.logUtm()
|
||||||
let utmMedium = AppState.shared.marketingUtmMedium.trimmingCharacters(in: .whitespacesAndNewlines)
|
|
||||||
let utmCampaign = AppState.shared.marketingUtmCampaign.trimmingCharacters(in: .whitespacesAndNewlines)
|
|
||||||
|
|
||||||
if !utmSource.isEmpty && !utmMedium.isEmpty && !utmCampaign.isEmpty {
|
|
||||||
Analytics.logEvent("campaign_utm", parameters: [
|
|
||||||
"utm_source": utmSource,
|
|
||||||
"utm_medium": utmMedium,
|
|
||||||
"utm_campaign": utmCampaign
|
|
||||||
])
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,34 @@
|
||||||
|
//
|
||||||
|
// FirebaseTracking.swift
|
||||||
|
// SodaLive
|
||||||
|
//
|
||||||
|
// Created by klaus on 3/10/25.
|
||||||
|
//
|
||||||
|
|
||||||
|
import Firebase
|
||||||
|
|
||||||
|
class FirebaseTracking {
|
||||||
|
static let shared = FirebaseTracking()
|
||||||
|
|
||||||
|
func signUp(method: String) {
|
||||||
|
Analytics.logEvent(AnalyticsEventSignUp, parameters: [AnalyticsParameterMethod: method])
|
||||||
|
}
|
||||||
|
|
||||||
|
func login(method: String) {
|
||||||
|
Analytics.logEvent(AnalyticsEventLogin, parameters: [AnalyticsParameterMethod: method])
|
||||||
|
}
|
||||||
|
|
||||||
|
func logUtm() {
|
||||||
|
let utmSource = AppState.shared.marketingUtmSource.trimmingCharacters(in: .whitespacesAndNewlines)
|
||||||
|
let utmMedium = AppState.shared.marketingUtmMedium.trimmingCharacters(in: .whitespacesAndNewlines)
|
||||||
|
let utmCampaign = AppState.shared.marketingUtmCampaign.trimmingCharacters(in: .whitespacesAndNewlines)
|
||||||
|
|
||||||
|
if !utmSource.isEmpty && !utmMedium.isEmpty && !utmCampaign.isEmpty {
|
||||||
|
Analytics.logEvent("campaign_utm", parameters: [
|
||||||
|
"utm_source": utmSource,
|
||||||
|
"utm_medium": utmMedium,
|
||||||
|
"utm_campaign": utmCampaign
|
||||||
|
])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -50,6 +50,7 @@ final class LoginViewModel: ObservableObject {
|
||||||
let decoded = try jsonDecoder.decode(ApiResponse<LoginResponse>.self, from: responseData)
|
let decoded = try jsonDecoder.decode(ApiResponse<LoginResponse>.self, from: responseData)
|
||||||
|
|
||||||
if let data = decoded.data, decoded.success {
|
if let data = decoded.data, decoded.success {
|
||||||
|
FirebaseTracking.shared.login(method: "email")
|
||||||
UserDefaults.set(data.profileImage, forKey: .profileImage)
|
UserDefaults.set(data.profileImage, forKey: .profileImage)
|
||||||
UserDefaults.set(data.nickname, forKey: .nickname)
|
UserDefaults.set(data.nickname, forKey: .nickname)
|
||||||
UserDefaults.set(data.userId, forKey: .userId)
|
UserDefaults.set(data.userId, forKey: .userId)
|
||||||
|
|
|
@ -99,6 +99,7 @@ final class SignUpViewModel: ObservableObject {
|
||||||
let decoded = try jsonDecoder.decode(ApiResponse<LoginResponse>.self, from: responseData)
|
let decoded = try jsonDecoder.decode(ApiResponse<LoginResponse>.self, from: responseData)
|
||||||
|
|
||||||
if let data = decoded.data, decoded.success {
|
if let data = decoded.data, decoded.success {
|
||||||
|
FirebaseTracking.shared.signUp(method: "email")
|
||||||
UserDefaults.set(data.profileImage, forKey: .profileImage)
|
UserDefaults.set(data.profileImage, forKey: .profileImage)
|
||||||
UserDefaults.set(data.nickname, forKey: .nickname)
|
UserDefaults.set(data.nickname, forKey: .nickname)
|
||||||
UserDefaults.set(data.userId, forKey: .userId)
|
UserDefaults.set(data.userId, forKey: .userId)
|
||||||
|
|
Loading…
Reference in New Issue