콘텐츠 메인 - 배너 광고 추가
This commit is contained in:
parent
26e43bd548
commit
cae15b7f39
|
@ -52,12 +52,12 @@ android {
|
||||||
buildConfigField 'String', 'BOOTPAY_APP_ID', '"64c35be1d25985001dc50c87"'
|
buildConfigField 'String', 'BOOTPAY_APP_ID', '"64c35be1d25985001dc50c87"'
|
||||||
buildConfigField 'String', 'AGORA_APP_ID', '"e34e40046e9847baba3adfe2b8ffb4f6"'
|
buildConfigField 'String', 'AGORA_APP_ID', '"e34e40046e9847baba3adfe2b8ffb4f6"'
|
||||||
buildConfigField 'String', 'AGORA_APP_CERTIFICATE', '"15cadeea4ba94ff7b091c9a10f4bf4a6"'
|
buildConfigField 'String', 'AGORA_APP_CERTIFICATE', '"15cadeea4ba94ff7b091c9a10f4bf4a6"'
|
||||||
buildConfigField 'String', 'ADMOB_FREE_CONTENT_BANNER_UNIT_ID', '"ca-app-pub-1299501215847962/8351317711"'
|
|
||||||
|
|
||||||
// manifest
|
// manifest
|
||||||
manifestPlaceholders["ADMOB_APP_ID"] = "ca-app-pub-1299501215847962~1110535210"
|
manifestPlaceholders["ADMOB_APP_ID"] = "ca-app-pub-1299501215847962~1110535210"
|
||||||
|
|
||||||
resValue 'string', 'admob_free_content_banner_unit_id', 'ca-app-pub-1299501215847962/8351317711'
|
resValue 'string', 'admob_free_content_banner_unit_id', 'ca-app-pub-1299501215847962/8351317711'
|
||||||
|
resValue 'string', 'admob_curation_banner_unit_id', 'ca-app-pub-1299501215847962/3008928485'
|
||||||
}
|
}
|
||||||
|
|
||||||
debug {
|
debug {
|
||||||
|
@ -69,12 +69,12 @@ android {
|
||||||
buildConfigField 'String', 'BOOTPAY_APP_ID', '"6242a7772701800023f68b2e"'
|
buildConfigField 'String', 'BOOTPAY_APP_ID', '"6242a7772701800023f68b2e"'
|
||||||
buildConfigField 'String', 'AGORA_APP_ID', '"b96574e191a9430fa54c605528aa3ef7"'
|
buildConfigField 'String', 'AGORA_APP_ID', '"b96574e191a9430fa54c605528aa3ef7"'
|
||||||
buildConfigField 'String', 'AGORA_APP_CERTIFICATE', '"ae18ade3afcf4086bd4397726eb0654c"'
|
buildConfigField 'String', 'AGORA_APP_CERTIFICATE', '"ae18ade3afcf4086bd4397726eb0654c"'
|
||||||
buildConfigField 'String', 'ADMOB_FREE_CONTENT_BANNER_UNIT_ID', '"ca-app-pub-3940256099942544/6300978111"'
|
|
||||||
|
|
||||||
// manifest
|
// manifest
|
||||||
manifestPlaceholders["ADMOB_APP_ID"] = "ca-app-pub-1299501215847962~3769074871"
|
manifestPlaceholders["ADMOB_APP_ID"] = "ca-app-pub-1299501215847962~3769074871"
|
||||||
|
|
||||||
resValue 'string', 'admob_free_content_banner_unit_id', 'ca-app-pub-3940256099942544/6300978111'
|
resValue 'string', 'admob_free_content_banner_unit_id', 'ca-app-pub-3940256099942544/6300978111'
|
||||||
|
resValue 'string', 'admob_curation_banner_unit_id', 'ca-app-pub-3940256099942544/6300978111'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
compileOptions {
|
compileOptions {
|
||||||
|
|
|
@ -8,6 +8,7 @@ import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
|
import com.google.android.gms.ads.AdRequest
|
||||||
import kr.co.vividnext.sodalive.databinding.ItemAudioContentMainCurationBinding
|
import kr.co.vividnext.sodalive.databinding.ItemAudioContentMainCurationBinding
|
||||||
import kr.co.vividnext.sodalive.extensions.dpToPx
|
import kr.co.vividnext.sodalive.extensions.dpToPx
|
||||||
|
|
||||||
|
@ -22,10 +23,16 @@ class AudioContentMainCurationAdapter(
|
||||||
private val context: Context,
|
private val context: Context,
|
||||||
private val binding: ItemAudioContentMainCurationBinding
|
private val binding: ItemAudioContentMainCurationBinding
|
||||||
) : RecyclerView.ViewHolder(binding.root) {
|
) : RecyclerView.ViewHolder(binding.root) {
|
||||||
fun bind(item: GetAudioContentCurationResponse) {
|
fun bind(item: GetAudioContentCurationResponse, index: Int) {
|
||||||
binding.tvTitle.text = item.title
|
binding.tvTitle.text = item.title
|
||||||
binding.tvDesc.text = item.description
|
binding.tvDesc.text = item.description
|
||||||
setAudioContentList(item.audioContents)
|
setAudioContentList(item.audioContents)
|
||||||
|
|
||||||
|
if (index % 2 != 0) {
|
||||||
|
setupAdMob()
|
||||||
|
} else {
|
||||||
|
binding.adView.visibility = View.GONE
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun setAudioContentList(audioContents: List<GetAudioContentMainItem>) {
|
private fun setAudioContentList(audioContents: List<GetAudioContentMainItem>) {
|
||||||
|
@ -68,6 +75,12 @@ class AudioContentMainCurationAdapter(
|
||||||
binding.rvCuration.adapter = adapter
|
binding.rvCuration.adapter = adapter
|
||||||
adapter.addItems(audioContents)
|
adapter.addItems(audioContents)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun setupAdMob() {
|
||||||
|
val adRequest = AdRequest.Builder().build()
|
||||||
|
binding.adView.visibility = View.VISIBLE
|
||||||
|
binding.adView.loadAd(adRequest)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ViewHolder(
|
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ViewHolder(
|
||||||
|
@ -80,7 +93,7 @@ class AudioContentMainCurationAdapter(
|
||||||
)
|
)
|
||||||
|
|
||||||
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
|
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
|
||||||
holder.bind(items[position])
|
holder.bind(items[position], position)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getItemCount() = items.size
|
override fun getItemCount() = items.size
|
||||||
|
|
|
@ -12,6 +12,7 @@ import android.widget.Toast
|
||||||
import androidx.core.content.ContextCompat
|
import androidx.core.content.ContextCompat
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
|
import com.google.android.gms.ads.AdRequest
|
||||||
import com.zhpan.bannerview.BaseBannerAdapter
|
import com.zhpan.bannerview.BaseBannerAdapter
|
||||||
import com.zhpan.indicator.enums.IndicatorSlideMode
|
import com.zhpan.indicator.enums.IndicatorSlideMode
|
||||||
import com.zhpan.indicator.enums.IndicatorStyle
|
import com.zhpan.indicator.enums.IndicatorStyle
|
||||||
|
@ -55,11 +56,16 @@ class AudioContentMainFragment : BaseFragment<FragmentAudioContentMainBinding>(
|
||||||
) as InputMethodManager
|
) as InputMethodManager
|
||||||
|
|
||||||
setupView()
|
setupView()
|
||||||
|
setupAdMob()
|
||||||
bindData()
|
bindData()
|
||||||
|
|
||||||
viewModel.getMain()
|
viewModel.getMain()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun setupAdMob() {
|
||||||
|
binding.adView.loadAd(AdRequest.Builder().build())
|
||||||
|
}
|
||||||
|
|
||||||
private fun setupView() {
|
private fun setupView() {
|
||||||
if (SharedPreferenceManager.role == MemberRole.CREATOR.name) {
|
if (SharedPreferenceManager.role == MemberRole.CREATOR.name) {
|
||||||
binding.llUploadContent.visibility = View.VISIBLE
|
binding.llUploadContent.visibility = View.VISIBLE
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:ads="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent">
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
|
@ -53,6 +55,17 @@
|
||||||
android:layout_marginTop="6.7dp"
|
android:layout_marginTop="6.7dp"
|
||||||
android:layout_marginBottom="40dp" />
|
android:layout_marginBottom="40dp" />
|
||||||
|
|
||||||
|
<com.google.android.gms.ads.AdView
|
||||||
|
android:id="@+id/ad_view"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginVertical="13.3dp"
|
||||||
|
ads:adSize="SMART_BANNER"
|
||||||
|
ads:adUnitId="@string/admob_curation_banner_unit_id"
|
||||||
|
app:layout_constraintEnd_toEndOf="@+id/tv_title"
|
||||||
|
app:layout_constraintStart_toStartOf="@+id/tv_title"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/rv_curation" />
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:id="@+id/ll_my_stash"
|
android:id="@+id/ll_my_stash"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:ads="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
@ -21,9 +22,9 @@
|
||||||
android:id="@+id/tv_desc"
|
android:id="@+id/tv_desc"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="4dp"
|
||||||
android:fontFamily="@font/gmarket_sans_medium"
|
android:fontFamily="@font/gmarket_sans_medium"
|
||||||
android:paddingHorizontal="13.3dp"
|
android:paddingHorizontal="13.3dp"
|
||||||
android:layout_marginTop="4dp"
|
|
||||||
android:textColor="@color/color_777777"
|
android:textColor="@color/color_777777"
|
||||||
android:textSize="13sp"
|
android:textSize="13sp"
|
||||||
app:layout_constraintEnd_toEndOf="@+id/tv_title"
|
app:layout_constraintEnd_toEndOf="@+id/tv_title"
|
||||||
|
@ -43,4 +44,16 @@
|
||||||
app:layout_constraintStart_toStartOf="@+id/tv_title"
|
app:layout_constraintStart_toStartOf="@+id/tv_title"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/tv_desc" />
|
app:layout_constraintTop_toBottomOf="@+id/tv_desc" />
|
||||||
|
|
||||||
|
<com.google.android.gms.ads.AdView
|
||||||
|
android:id="@+id/ad_view"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="13.3dp"
|
||||||
|
android:visibility="gone"
|
||||||
|
ads:adSize="SMART_BANNER"
|
||||||
|
ads:adUnitId="@string/admob_curation_banner_unit_id"
|
||||||
|
app:layout_constraintEnd_toEndOf="@+id/tv_title"
|
||||||
|
app:layout_constraintStart_toStartOf="@+id/tv_title"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/rv_curation" />
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
Loading…
Reference in New Issue