앱 메인

- pid 업데이트 API 적용
This commit is contained in:
klaus 2025-03-04 13:28:22 +09:00
parent 658f304ce5
commit 95c77d531d
5 changed files with 46 additions and 19 deletions

View File

@ -198,7 +198,7 @@ class MainActivity : BaseActivity<ActivityMainBinding>(ActivityMainBinding::infl
checkPermissions() checkPermissions()
pushTokenUpdate() pushTokenUpdate()
gaidUpdate() updatePidAndGaid()
getMemberInfo() getMemberInfo()
getEventPopup() getEventPopup()
@ -498,8 +498,8 @@ class MainActivity : BaseActivity<ActivityMainBinding>(ActivityMainBinding::infl
} }
} }
private fun gaidUpdate() { private fun updatePidAndGaid() {
viewModel.fetchAndUpdateGaid(context = applicationContext) viewModel.fetchAndUpdateGaidAndPid(context = applicationContext)
} }
private fun getMemberInfo() { private fun getMemberInfo() {

View File

@ -98,7 +98,8 @@ class MainViewModel(
SharedPreferenceManager.can = data.can SharedPreferenceManager.can = data.can
SharedPreferenceManager.role = data.role.name SharedPreferenceManager.role = data.role.name
SharedPreferenceManager.isAuth = data.isAuth SharedPreferenceManager.isAuth = data.isAuth
SharedPreferenceManager.isAuditionNotification = data.auditionNotice ?: false SharedPreferenceManager.isAuditionNotification =
data.auditionNotice ?: false
if ( if (
data.followingChannelUploadContentNotice == null && data.followingChannelUploadContentNotice == null &&
data.followingChannelLiveNotice == null && data.followingChannelLiveNotice == null &&
@ -158,14 +159,17 @@ class MainViewModel(
) )
} }
fun fetchAndUpdateGaid(context: Context) { fun fetchAndUpdateGaidAndPid(context: Context) {
Executors.newSingleThreadExecutor().execute { Executors.newSingleThreadExecutor().execute {
try { try {
val adInfo = AdvertisingIdClient.getAdvertisingIdInfo(context) val adInfo = AdvertisingIdClient.getAdvertisingIdInfo(context)
adInfo.id?.let { gaid -> adInfo.id?.let { gaid ->
val request = GaidUpdateRequest(adid = gaid) val request = MarketingInfoUpdateRequest(
adid = gaid,
pid = SharedPreferenceManager.marketingPid
)
compositeDisposable.add( compositeDisposable.add(
userRepository.updateGaid( userRepository.updateMarketingInfo(
request, request,
token = "Bearer ${SharedPreferenceManager.token}" token = "Bearer ${SharedPreferenceManager.token}"
) )
@ -176,6 +180,20 @@ class MainViewModel(
} }
} catch (e: Exception) { } catch (e: Exception) {
e.printStackTrace() 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({}, {})
)
} }
} }
} }

View File

@ -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
)

View File

@ -5,6 +5,7 @@ import kr.co.vividnext.sodalive.common.ApiResponse
import kr.co.vividnext.sodalive.explorer.profile.MemberBlockRequest import kr.co.vividnext.sodalive.explorer.profile.MemberBlockRequest
import kr.co.vividnext.sodalive.live.room.detail.GetRoomDetailUser import kr.co.vividnext.sodalive.live.room.detail.GetRoomDetailUser
import kr.co.vividnext.sodalive.main.GaidUpdateRequest 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.main.PushTokenUpdateRequest
import kr.co.vividnext.sodalive.mypage.MyPageResponse import kr.co.vividnext.sodalive.mypage.MyPageResponse
import kr.co.vividnext.sodalive.mypage.block.GetBlockedMemberListResponse import kr.co.vividnext.sodalive.mypage.block.GetBlockedMemberListResponse
@ -147,6 +148,12 @@ interface UserApi {
@Header("Authorization") authHeader: String @Header("Authorization") authHeader: String
): Single<ApiResponse<Any>> ): Single<ApiResponse<Any>>
@PUT("/member/marketing-info/update")
fun updateMarketingInfo(
@Body request: MarketingInfoUpdateRequest,
@Header("Authorization") authHeader: String
): Single<ApiResponse<Any>>
@GET("/member/block") @GET("/member/block")
fun getBlockedMemberList( fun getBlockedMemberList(
@Query("page") page: Int, @Query("page") page: Int,

View File

@ -4,7 +4,7 @@ import io.reactivex.rxjava3.core.Single
import kr.co.vividnext.sodalive.common.ApiResponse import kr.co.vividnext.sodalive.common.ApiResponse
import kr.co.vividnext.sodalive.explorer.profile.MemberBlockRequest import kr.co.vividnext.sodalive.explorer.profile.MemberBlockRequest
import kr.co.vividnext.sodalive.live.room.detail.GetRoomDetailUser 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.main.PushTokenUpdateRequest
import kr.co.vividnext.sodalive.mypage.MyPageResponse import kr.co.vividnext.sodalive.mypage.MyPageResponse
import kr.co.vividnext.sodalive.mypage.profile.ProfileResponse import kr.co.vividnext.sodalive.mypage.profile.ProfileResponse
@ -66,14 +66,6 @@ class UserRepository(private val userApi: UserApi) {
authHeader = token authHeader = token
) )
fun creatorUnFollow(
creatorId: Long,
token: String
) = userApi.creatorUnFollow(
request = CreatorFollowRequestRequest(creatorId = creatorId),
authHeader = token
)
fun searchUser( fun searchUser(
nickname: String, nickname: String,
token: String token: String
@ -116,11 +108,11 @@ class UserRepository(private val userApi: UserApi) {
return userApi.getMyProfile(authHeader = token) return userApi.getMyProfile(authHeader = token)
} }
fun updateGaid( fun updateMarketingInfo(
request: GaidUpdateRequest, request: MarketingInfoUpdateRequest,
token: String token: String
): Single<ApiResponse<Any>> { ): Single<ApiResponse<Any>> {
return userApi.updateGaid(request, authHeader = token) return userApi.updateMarketingInfo(request, authHeader = token)
} }
fun getBlockedMemberList(page: Int, size: Int, token: String) = userApi.getBlockedMemberList( fun getBlockedMemberList(page: Int, size: Int, token: String) = userApi.getBlockedMemberList(