diff --git a/app/src/main/java/kr/co/vividnext/sodalive/main/MainActivity.kt b/app/src/main/java/kr/co/vividnext/sodalive/main/MainActivity.kt index f07c691..b68bdba 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/main/MainActivity.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/main/MainActivity.kt @@ -198,7 +198,7 @@ class MainActivity : BaseActivity(ActivityMainBinding::infl checkPermissions() pushTokenUpdate() - gaidUpdate() + updatePidAndGaid() getMemberInfo() getEventPopup() @@ -498,8 +498,8 @@ class MainActivity : BaseActivity(ActivityMainBinding::infl } } - private fun gaidUpdate() { - viewModel.fetchAndUpdateGaid(context = applicationContext) + private fun updatePidAndGaid() { + viewModel.fetchAndUpdateGaidAndPid(context = applicationContext) } private fun getMemberInfo() { diff --git a/app/src/main/java/kr/co/vividnext/sodalive/main/MainViewModel.kt b/app/src/main/java/kr/co/vividnext/sodalive/main/MainViewModel.kt index e4975b3..e61f654 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/main/MainViewModel.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/main/MainViewModel.kt @@ -98,7 +98,8 @@ class MainViewModel( SharedPreferenceManager.can = data.can SharedPreferenceManager.role = data.role.name SharedPreferenceManager.isAuth = data.isAuth - SharedPreferenceManager.isAuditionNotification = data.auditionNotice ?: false + SharedPreferenceManager.isAuditionNotification = + data.auditionNotice ?: false if ( data.followingChannelUploadContentNotice == null && data.followingChannelLiveNotice == null && @@ -158,14 +159,17 @@ class MainViewModel( ) } - fun fetchAndUpdateGaid(context: Context) { + fun fetchAndUpdateGaidAndPid(context: Context) { Executors.newSingleThreadExecutor().execute { try { val adInfo = AdvertisingIdClient.getAdvertisingIdInfo(context) adInfo.id?.let { gaid -> - val request = GaidUpdateRequest(adid = gaid) + val request = MarketingInfoUpdateRequest( + adid = gaid, + pid = SharedPreferenceManager.marketingPid + ) compositeDisposable.add( - userRepository.updateGaid( + userRepository.updateMarketingInfo( request, token = "Bearer ${SharedPreferenceManager.token}" ) @@ -176,6 +180,20 @@ class MainViewModel( } } catch (e: Exception) { e.printStackTrace() + + val request = MarketingInfoUpdateRequest( + adid = "", + pid = SharedPreferenceManager.marketingPid + ) + compositeDisposable.add( + userRepository.updateMarketingInfo( + request, + token = "Bearer ${SharedPreferenceManager.token}" + ) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe({}, {}) + ) } } } diff --git a/app/src/main/java/kr/co/vividnext/sodalive/main/MarketingInfoUpdateRequest.kt b/app/src/main/java/kr/co/vividnext/sodalive/main/MarketingInfoUpdateRequest.kt new file mode 100644 index 0000000..1b90bb9 --- /dev/null +++ b/app/src/main/java/kr/co/vividnext/sodalive/main/MarketingInfoUpdateRequest.kt @@ -0,0 +1,10 @@ +package kr.co.vividnext.sodalive.main + +import androidx.annotation.Keep +import com.google.gson.annotations.SerializedName + +@Keep +data class MarketingInfoUpdateRequest( + @SerializedName("adid") val adid: String, + @SerializedName("pid") val pid: String +) diff --git a/app/src/main/java/kr/co/vividnext/sodalive/user/UserApi.kt b/app/src/main/java/kr/co/vividnext/sodalive/user/UserApi.kt index 797401a..0153a1a 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/user/UserApi.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/user/UserApi.kt @@ -5,6 +5,7 @@ import kr.co.vividnext.sodalive.common.ApiResponse import kr.co.vividnext.sodalive.explorer.profile.MemberBlockRequest import kr.co.vividnext.sodalive.live.room.detail.GetRoomDetailUser import kr.co.vividnext.sodalive.main.GaidUpdateRequest +import kr.co.vividnext.sodalive.main.MarketingInfoUpdateRequest import kr.co.vividnext.sodalive.main.PushTokenUpdateRequest import kr.co.vividnext.sodalive.mypage.MyPageResponse import kr.co.vividnext.sodalive.mypage.block.GetBlockedMemberListResponse @@ -147,6 +148,12 @@ interface UserApi { @Header("Authorization") authHeader: String ): Single> + @PUT("/member/marketing-info/update") + fun updateMarketingInfo( + @Body request: MarketingInfoUpdateRequest, + @Header("Authorization") authHeader: String + ): Single> + @GET("/member/block") fun getBlockedMemberList( @Query("page") page: Int, diff --git a/app/src/main/java/kr/co/vividnext/sodalive/user/UserRepository.kt b/app/src/main/java/kr/co/vividnext/sodalive/user/UserRepository.kt index 1f879ec..f9ca8a8 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/user/UserRepository.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/user/UserRepository.kt @@ -4,7 +4,7 @@ import io.reactivex.rxjava3.core.Single import kr.co.vividnext.sodalive.common.ApiResponse import kr.co.vividnext.sodalive.explorer.profile.MemberBlockRequest import kr.co.vividnext.sodalive.live.room.detail.GetRoomDetailUser -import kr.co.vividnext.sodalive.main.GaidUpdateRequest +import kr.co.vividnext.sodalive.main.MarketingInfoUpdateRequest import kr.co.vividnext.sodalive.main.PushTokenUpdateRequest import kr.co.vividnext.sodalive.mypage.MyPageResponse import kr.co.vividnext.sodalive.mypage.profile.ProfileResponse @@ -66,14 +66,6 @@ class UserRepository(private val userApi: UserApi) { authHeader = token ) - fun creatorUnFollow( - creatorId: Long, - token: String - ) = userApi.creatorUnFollow( - request = CreatorFollowRequestRequest(creatorId = creatorId), - authHeader = token - ) - fun searchUser( nickname: String, token: String @@ -116,11 +108,11 @@ class UserRepository(private val userApi: UserApi) { return userApi.getMyProfile(authHeader = token) } - fun updateGaid( - request: GaidUpdateRequest, + fun updateMarketingInfo( + request: MarketingInfoUpdateRequest, token: String ): Single> { - return userApi.updateGaid(request, authHeader = token) + return userApi.updateMarketingInfo(request, authHeader = token) } fun getBlockedMemberList(page: Int, size: Int, token: String) = userApi.getBlockedMemberList(