parent
96dbe50a09
commit
e83164ded5
|
@ -82,17 +82,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
|
|||
}
|
||||
|
||||
private func logUtmInFirebase() {
|
||||
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
|
||||
])
|
||||
}
|
||||
FirebaseTracking.shared.logUtm()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
||||
if let data = decoded.data, decoded.success {
|
||||
FirebaseTracking.shared.login(method: "email")
|
||||
UserDefaults.set(data.profileImage, forKey: .profileImage)
|
||||
UserDefaults.set(data.nickname, forKey: .nickname)
|
||||
UserDefaults.set(data.userId, forKey: .userId)
|
||||
|
|
|
@ -99,6 +99,7 @@ final class SignUpViewModel: ObservableObject {
|
|||
let decoded = try jsonDecoder.decode(ApiResponse<LoginResponse>.self, from: responseData)
|
||||
|
||||
if let data = decoded.data, decoded.success {
|
||||
FirebaseTracking.shared.signUp(method: "email")
|
||||
UserDefaults.set(data.profileImage, forKey: .profileImage)
|
||||
UserDefaults.set(data.nickname, forKey: .nickname)
|
||||
UserDefaults.set(data.userId, forKey: .userId)
|
||||
|
|
Loading…
Reference in New Issue