idfa 업데이트 추가
This commit is contained in:
parent
68ac0a4e76
commit
91504bbda9
|
@ -114,6 +114,7 @@ struct HomeView: View {
|
|||
}
|
||||
.onAppear {
|
||||
pushTokenUpdate()
|
||||
viewModel.fetchAndUpdateIdfa()
|
||||
viewModel.getMemberInfo()
|
||||
viewModel.getEventPopup()
|
||||
viewModel.addAllPlaybackTracking()
|
||||
|
|
|
@ -8,6 +8,9 @@
|
|||
import Foundation
|
||||
import Combine
|
||||
|
||||
import AppTrackingTransparency
|
||||
import AdSupport
|
||||
|
||||
final class HomeViewModel: ObservableObject {
|
||||
|
||||
private var subscription = Set<AnyCancellable>()
|
||||
|
@ -37,6 +40,25 @@ final class HomeViewModel: ObservableObject {
|
|||
.store(in: &subscription)
|
||||
}
|
||||
|
||||
func fetchAndUpdateIdfa() {
|
||||
ATTrackingManager.requestTrackingAuthorization { [unowned self] status in
|
||||
if status == .authorized {
|
||||
let idfa = ASIdentifierManager.shared().advertisingIdentifier.uuidString
|
||||
self.userRepository.updateIdfa(request: IdfaUpdateRequest(adid: idfa))
|
||||
.sink { result in
|
||||
switch result {
|
||||
case .finished:
|
||||
DEBUG_LOG("finish")
|
||||
case .failure(let error):
|
||||
ERROR_LOG(error.localizedDescription)
|
||||
}
|
||||
} receiveValue: { _ in
|
||||
}
|
||||
.store(in: &self.subscription)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func getMemberInfo() {
|
||||
userRepository.getMemberInfo()
|
||||
.sink { result in
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
//
|
||||
// IdfaUpdateRequest.swift
|
||||
// SodaLive
|
||||
//
|
||||
// Created by klaus on 2/26/24.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
|
||||
struct IdfaUpdateRequest: Encodable {
|
||||
let adid: String
|
||||
}
|
|
@ -30,6 +30,7 @@ enum UserApi {
|
|||
case getChangeNicknamePrice
|
||||
case checkNickname(nickname: String)
|
||||
case changeNickname(request: ProfileUpdateRequest)
|
||||
case updateIdfa(request: IdfaUpdateRequest)
|
||||
}
|
||||
|
||||
extension UserApi: TargetType {
|
||||
|
@ -98,6 +99,9 @@ extension UserApi: TargetType {
|
|||
|
||||
case .changeNickname:
|
||||
return "/member/change/nickname"
|
||||
|
||||
case .updateIdfa:
|
||||
return "/member/adid/update"
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -110,7 +114,7 @@ extension UserApi: TargetType {
|
|||
case .searchUser, .getMypage, .getMemberInfo, .getMyProfile, .getChangeNicknamePrice, .checkNickname:
|
||||
return .get
|
||||
|
||||
case .updatePushToken, .profileUpdate, .changeNickname:
|
||||
case .updatePushToken, .profileUpdate, .changeNickname, .updateIdfa:
|
||||
return .put
|
||||
}
|
||||
}
|
||||
|
@ -167,6 +171,9 @@ extension UserApi: TargetType {
|
|||
|
||||
case .changeNickname(let request):
|
||||
return .requestJSONEncodable(request)
|
||||
|
||||
case .updateIdfa(let request):
|
||||
return .requestJSONEncodable(request)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -108,4 +108,8 @@ final class UserRepository {
|
|||
func changeNickname(request: ProfileUpdateRequest) -> AnyPublisher<Response, MoyaError> {
|
||||
return api.requestPublisher(.changeNickname(request: request))
|
||||
}
|
||||
|
||||
func updateIdfa(request: IdfaUpdateRequest) -> AnyPublisher<Response, MoyaError> {
|
||||
return api.requestPublisher(.updateIdfa(request: request))
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue