@@ -23,6 +23,8 @@ public struct LoginFeature {
2323 var userDefaults
2424 @Dependency ( KeychainClient . self)
2525 var keychain
26+ @Dependency ( \. amplitude)
27+ var amplitude
2628 /// - State
2729 @ObservableState
2830 public struct State {
@@ -108,8 +110,10 @@ private extension LoginFeature {
108110 func handleViewAction( _ action: Action . View , state: inout State ) -> Effect < Action > {
109111 switch action {
110112 case . 애플로그인_버튼_눌렀을때:
113+ amplitude. track ( . login_start( method: . apple) )
111114 return . send( . async( . 애플로그인_소셜_API) )
112115 case . 구글로그인_버튼_눌렀을때:
116+ amplitude. track ( . login_start( method: . google) )
113117 return . send( . async( . 구글로그인_소셜_API) )
114118 }
115119 }
@@ -169,7 +173,7 @@ private extension LoginFeature {
169173 let appleTokenRequest = AppleTokenRequest ( authCode: authCode, jwt: jwt)
170174 let appleTokenResponse = try await authClient. apple ( appleTokenRequest)
171175 keychain. save ( . serverRefresh, appleTokenResponse. refresh_token)
172-
176+ amplitude . track ( . login_complete ( method : . apple ) )
173177 await send ( . inner( . 로그인_이후_화면이동( isRegistered: tokenResponse. isRegistered) ) )
174178 }
175179 case let . 구글로그인_API( response) :
@@ -185,6 +189,7 @@ private extension LoginFeature {
185189 keychain. save ( . accessToken, tokenResponse. accessToken)
186190 keychain. save ( . refreshToken, tokenResponse. refreshToken)
187191 keychain. save ( . serverRefresh, response. serverRefreshToken)
192+ amplitude. track ( . login_complete( method: . google) )
188193
189194 await send ( . inner( . 로그인_이후_화면이동( isRegistered: tokenResponse. isRegistered) ) )
190195 }
0 commit comments