Firebase 트래킹 추가
- 회원가입, 로그인
This commit is contained in:
@@ -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()
|
||||
}
|
||||
}
|
||||
|
||||
|
34
SodaLive/Sources/Tracking/FirebaseTracking.swift
Normal file
34
SodaLive/Sources/Tracking/FirebaseTracking.swift
Normal file
@@ -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)
|
||||
|
Reference in New Issue
Block a user