Ad tag testing for PlayerActivity.
Added ads in new screen as following: Shop, MyListFragment. Updated ad unit for every screen. Added logic to show or not show the google ads in all new and existing screens.
This commit is contained in:
@@ -1,5 +1,11 @@
|
||||
package com.woka.googleads
|
||||
|
||||
// splash fragment
|
||||
const val SPLASH = "ca-app-pub-5699008063638916/6110095586"
|
||||
|
||||
// Home2Fragment
|
||||
const val MORE_ACTIVITY = "ca-app-pub-5699008063638916/6110095586"
|
||||
|
||||
// Home2Fragment
|
||||
const val HOME_THEME_2_BANNER_AD = "ca-app-pub-5699008063638916/6110095586"
|
||||
|
||||
@@ -18,4 +24,19 @@ const val AUDIO_BOOKS_BANNER_AD = "ca-app-pub-5699008063638916/6110095586"
|
||||
// GAME
|
||||
const val GAME_TRAILER_AD = "ca-app-pub-5699008063638916/6110095586"
|
||||
const val GAME_BANNER_AD = "ca-app-pub-5699008063638916/6110095586"
|
||||
const val GAME_INTERSTITIAL_AD = "ca-app-pub-5699008063638916/6300144761"
|
||||
const val GAME_INTERSTITIAL_AD = "ca-app-pub-5699008063638916/6300144761"
|
||||
|
||||
// FM
|
||||
const val FM = "ca-app-pub-5699008063638916/6110095586"
|
||||
|
||||
// karaoke player
|
||||
const val KARAOKE_PLAYER = "ca-app-pub-5699008063638916/6110095586"
|
||||
|
||||
// shop
|
||||
const val SHOP = "ca-app-pub-5699008063638916/6110095586"
|
||||
|
||||
// game player
|
||||
const val GAME_PLAYER = "ca-app-pub-5699008063638916/6110095586"
|
||||
|
||||
// my list
|
||||
const val MY_LIST = "ca-app-pub-5699008063638916/6110095586"
|
||||
@@ -17,7 +17,7 @@ private const val TAG = "aditya_loading_interstitial"
|
||||
class InterstitialAds(private val context: Context) {
|
||||
|
||||
companion object{
|
||||
private const val AD_TIME_INTERVAL_MILLIS = 30_60_000L // 30 mins
|
||||
private const val AD_TIME_INTERVAL_MILLIS = 30 * 60_000L // 30 mins
|
||||
}
|
||||
|
||||
private var interstitialAd: InterstitialAd? = null
|
||||
@@ -53,7 +53,7 @@ class InterstitialAds(private val context: Context) {
|
||||
|
||||
fun showNewAd(activity: Activity, callBack: (() -> Unit)){
|
||||
if (shallShowAd().not()){
|
||||
Log.d(TAG, "showNewAd: ${60 - ((System.currentTimeMillis() - lastTimeAdShown)/1000)} seconds left for next ad")
|
||||
Log.d(TAG, "showNewAd: ${(AD_TIME_INTERVAL_MILLIS - (System.currentTimeMillis() - lastTimeAdShown))/1000} seconds left for next ad")
|
||||
|
||||
callBack()
|
||||
return
|
||||
|
||||
@@ -21,15 +21,21 @@ import androidx.fragment.app.Fragment
|
||||
import androidx.lifecycle.ViewModelProvider
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import androidx.recyclerview.widget.SimpleItemAnimator
|
||||
import com.google.android.gms.ads.AdRequest
|
||||
import com.google.android.gms.ads.AdSize
|
||||
import com.google.android.gms.ads.AdView
|
||||
import com.jwplayer.pub.api.media.playlists.PlaylistItem
|
||||
import com.woka.R
|
||||
import com.woka.WokaApp.Companion.userPrefs
|
||||
import com.woka.advertisements.AdsRepository
|
||||
import com.woka.advertisements.models.ForPage
|
||||
import com.woka.audiobooks.AudioBookRepository
|
||||
import com.woka.audiobooks.models.audiodata.AudioBookData
|
||||
import com.woka.database.helpers.ClicksHelper
|
||||
import com.woka.database.models.ContentType
|
||||
import com.woka.databinding.DialogModuleShowerBinding
|
||||
import com.woka.databinding.FragmentMyListBinding
|
||||
import com.woka.googleads.FM
|
||||
import com.woka.home.mylist.MyListRepository
|
||||
import com.woka.home.mylist.adapters.FavAudioAdapter
|
||||
import com.woka.home.mylist.adapters.FavGamesAdapter
|
||||
@@ -137,6 +143,7 @@ class MyListFragment : Fragment() {
|
||||
|
||||
if (userPrefs?.userType != UserType.GUEST) {
|
||||
loadFavoriteList()
|
||||
loadGoogleAds()
|
||||
} else {
|
||||
binding.noSignInView.show()
|
||||
}
|
||||
@@ -319,6 +326,32 @@ class MyListFragment : Fragment() {
|
||||
}
|
||||
}
|
||||
|
||||
private fun loadGoogleAds() {
|
||||
lifecycleScope.launch {
|
||||
AdsRepository.getADs()?.let { ads ->
|
||||
val fmAds = ads.filter { it.slug == ForPage.FM.value }
|
||||
|
||||
if (fmAds.isNotEmpty()){
|
||||
fmAds.first().google_ad?.let {
|
||||
val adView = AdView(requireContext())
|
||||
|
||||
adView.adUnitId = FM
|
||||
adView.setAdSize(AdSize(AdSize.FULL_WIDTH, 60))
|
||||
|
||||
binding.adsContainer.removeAllViews()
|
||||
binding.adsContainer.addView(adView)
|
||||
|
||||
adView.loadAd(
|
||||
AdRequest.Builder()
|
||||
.build()
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private fun loadFavoriteList() {
|
||||
lifecycleScope.launch {
|
||||
binding.apply {
|
||||
|
||||
@@ -21,7 +21,7 @@ import com.woka.advertisements.models.ForPage
|
||||
import com.woka.database.helpers.ClicksHelper
|
||||
import com.woka.database.models.ContentType
|
||||
import com.woka.databinding.ActivityFmactivityBinding
|
||||
import com.woka.googleads.GAME_BANNER_AD
|
||||
import com.woka.googleads.FM
|
||||
import com.woka.userdata.UserRepository
|
||||
import com.woka.userdata.userDataModels.VideoViewRequestData
|
||||
import com.woka.utils.TAG
|
||||
@@ -217,7 +217,7 @@ class FMActivity : WokaBaseActivity() {
|
||||
fmAds.first().google_ad?.let {
|
||||
val adView = AdView(this@FMActivity)
|
||||
|
||||
adView.adUnitId = GAME_BANNER_AD
|
||||
adView.adUnitId = FM
|
||||
adView.setAdSize(AdSize(AdSize.FULL_WIDTH, 60))
|
||||
|
||||
binding.adsContainer.removeAllViews()
|
||||
|
||||
@@ -7,7 +7,6 @@ import android.graphics.drawable.ColorDrawable
|
||||
import android.graphics.drawable.InsetDrawable
|
||||
import android.os.Bundle
|
||||
import android.text.Html
|
||||
import android.transition.Fade
|
||||
import android.view.WindowManager
|
||||
import androidx.activity.enableEdgeToEdge
|
||||
import androidx.core.view.ViewCompat
|
||||
@@ -24,7 +23,7 @@ import com.woka.database.helpers.ClicksHelper
|
||||
import com.woka.database.models.ContentType
|
||||
import com.woka.databinding.ActivityMoreHomeBinding
|
||||
import com.woka.databinding.DialogBlogsBinding
|
||||
import com.woka.googleads.HOME_THEME_2_BANNER_AD
|
||||
import com.woka.googleads.MORE_ACTIVITY
|
||||
import com.woka.modules.blogs.BlogsAdapter
|
||||
import com.woka.modules.blogs.BlogsRepository
|
||||
import com.woka.modules.blogs.models.Blog
|
||||
@@ -95,7 +94,7 @@ class MoreHomeActivity : WokaBaseActivity() {
|
||||
private fun loadGoogleAds() {
|
||||
// ad container 1
|
||||
val adView1 = AdView(this)
|
||||
adView1.adUnitId = HOME_THEME_2_BANNER_AD
|
||||
adView1.adUnitId = MORE_ACTIVITY
|
||||
adView1.setAdSize(AdSize(AdSize.FULL_WIDTH, 200))
|
||||
|
||||
binding.adsContainer.removeAllViews()
|
||||
|
||||
@@ -41,7 +41,7 @@ import com.woka.advertisements.models.ForPage
|
||||
import com.woka.database.helpers.ClicksHelper
|
||||
import com.woka.database.models.ContentType
|
||||
import com.woka.databinding.ActivityKaraokePlayerrBinding
|
||||
import com.woka.googleads.GAME_BANNER_AD
|
||||
import com.woka.googleads.KARAOKE_PLAYER
|
||||
import com.woka.players.models.PlayBackState
|
||||
import com.woka.userdata.UserRepository
|
||||
import com.woka.userdata.userDataModels.VideoViewRequestData
|
||||
@@ -496,7 +496,7 @@ class KaraokePlayerActivity : WokaBaseActivity() {
|
||||
fmAds.first().google_ad?.let {
|
||||
val adView = AdView(this@KaraokePlayerActivity)
|
||||
|
||||
adView.adUnitId = GAME_BANNER_AD
|
||||
adView.adUnitId = KARAOKE_PLAYER
|
||||
adView.setAdSize(AdSize(AdSize.FULL_WIDTH, 100))
|
||||
|
||||
binding.adsContainer.removeAllViews()
|
||||
|
||||
@@ -3,7 +3,6 @@ package com.woka.onboard.fragments
|
||||
import android.content.Intent
|
||||
import android.media.MediaPlayer
|
||||
import android.os.Bundle
|
||||
import android.util.Log
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
@@ -14,16 +13,14 @@ import androidx.lifecycle.Observer
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import androidx.navigation.fragment.FragmentNavigatorExtras
|
||||
import androidx.navigation.fragment.findNavController
|
||||
import com.google.android.gms.ads.AdListener
|
||||
import com.google.android.gms.ads.AdRequest
|
||||
import com.google.android.gms.ads.AdSize
|
||||
import com.google.android.gms.ads.AdView
|
||||
import com.google.android.gms.ads.LoadAdError
|
||||
import com.woka.BuildConfig
|
||||
import com.woka.R
|
||||
import com.woka.WokaApp.Companion.userPrefs
|
||||
import com.woka.databinding.FragmentSplashBinding
|
||||
import com.woka.googleads.HOME_THEME_2_BANNER_AD
|
||||
import com.woka.googleads.SPLASH
|
||||
import com.woka.home.views.HomeActivity
|
||||
import com.woka.networking.ApiResult
|
||||
import com.woka.onboard.models.appupdate.VersionHistoryResponseData
|
||||
@@ -92,7 +89,7 @@ class SplashFragment : Fragment(), Observer<ApiResult<UserDataResponse>?> {
|
||||
private fun loadGoogleAds() {
|
||||
// ad container 1
|
||||
val adView1 = AdView(requireContext())
|
||||
adView1.adUnitId = HOME_THEME_2_BANNER_AD
|
||||
adView1.adUnitId = SPLASH
|
||||
adView1.setAdSize(AdSize(AdSize.FULL_WIDTH, 100))
|
||||
|
||||
binding.adsContainer1.removeAllViews()
|
||||
@@ -105,7 +102,7 @@ class SplashFragment : Fragment(), Observer<ApiResult<UserDataResponse>?> {
|
||||
|
||||
// ad container 2
|
||||
val adView2 = AdView(requireContext())
|
||||
adView2.adUnitId = HOME_THEME_2_BANNER_AD
|
||||
adView2.adUnitId = SPLASH
|
||||
adView2.setAdSize(AdSize(AdSize.FULL_WIDTH, 100))
|
||||
|
||||
binding.adsContainer2.removeAllViews()
|
||||
|
||||
@@ -38,7 +38,7 @@ private const val TAG = "PlayerActivity_TAG"
|
||||
|
||||
class PlayerActivity : WokaBaseActivity(), FullscreenHandler {
|
||||
|
||||
companion object{
|
||||
companion object {
|
||||
const val EXTRA_PLAY_LIST = "player_play_list"
|
||||
const val EXTRA_PLAY_INDEX = "playing_index"
|
||||
}
|
||||
@@ -79,11 +79,11 @@ class PlayerActivity : WokaBaseActivity(), FullscreenHandler {
|
||||
videoPlayList = intent.getParcelableExtra(EXTRA_PLAY_LIST)
|
||||
playingIndex = intent.getIntExtra(EXTRA_PLAY_INDEX, 0)
|
||||
|
||||
networkCallback = object : ConnectivityManager.NetworkCallback(){
|
||||
networkCallback = object : ConnectivityManager.NetworkCallback() {
|
||||
override fun onAvailable(network: Network) {
|
||||
super.onAvailable(network)
|
||||
runOnUiThread {
|
||||
if (playbackState == PlayBackState.STOPPED){
|
||||
if (playbackState == PlayBackState.STOPPED) {
|
||||
binding.playerView.show()
|
||||
binding.errorView.hide()
|
||||
configAndPlay()
|
||||
@@ -121,10 +121,10 @@ class PlayerActivity : WokaBaseActivity(), FullscreenHandler {
|
||||
uploadVideoView()
|
||||
}
|
||||
|
||||
private fun uploadVideoView(){
|
||||
videoPlayList?.videoViewRequestDataList?.let {playlistData ->
|
||||
if (playingIndex >= 0 && playingIndex < playlistData.size){
|
||||
with(playlistData[playingIndex]){
|
||||
private fun uploadVideoView() {
|
||||
videoPlayList?.videoViewRequestDataList?.let { playlistData ->
|
||||
if (playingIndex >= 0 && playingIndex < playlistData.size) {
|
||||
with(playlistData[playingIndex]) {
|
||||
|
||||
// user video view
|
||||
if (playbackStartTime > 0) {
|
||||
@@ -133,9 +133,9 @@ class PlayerActivity : WokaBaseActivity(), FullscreenHandler {
|
||||
playbackStartTime = 0
|
||||
}
|
||||
|
||||
val playingDurationInSecs = Math.round(totalPlaybackDuration/1000.0)
|
||||
val playingDurationInSecs = Math.round(totalPlaybackDuration / 1000.0)
|
||||
|
||||
id?.let {id ->
|
||||
id?.let { id ->
|
||||
if (id > 0 && playingDurationInSecs > 0) {
|
||||
UserRepository.userVideoView(
|
||||
VideoViewRequestData(
|
||||
@@ -154,7 +154,7 @@ class PlayerActivity : WokaBaseActivity(), FullscreenHandler {
|
||||
}
|
||||
}
|
||||
|
||||
private fun clickEvents(){
|
||||
private fun clickEvents() {
|
||||
binding.apply {
|
||||
retryBtn.setOnClickListener {
|
||||
binding.playerView.show()
|
||||
@@ -170,23 +170,24 @@ class PlayerActivity : WokaBaseActivity(), FullscreenHandler {
|
||||
}
|
||||
}
|
||||
|
||||
private fun setUpPlayer(){
|
||||
private fun setUpPlayer() {
|
||||
player = binding.playerView.getPlayer(this)
|
||||
|
||||
val adSchedule = mutableListOf<AdBreak>()
|
||||
|
||||
val adBreak1 = AdBreak.Builder()
|
||||
.tag("https://pubads.g.doubleclick.net/gampad/ads?iu=/23204950200/VideoAd&description_url=https%3A%2F%2Fwokaland.com%2F&tfcd=1&npa=0&sz=480x320%7C640x480&ciu_szs=480x320&min_ad_duration=10000&max_ad_duration=15000&gdfp_req=1&unviewed_position_start=1&output=vast&env=vp&impl=s&correlator=")
|
||||
.offset("pre")
|
||||
.build()
|
||||
adSchedule.add(
|
||||
AdBreak.Builder()
|
||||
.tag("https://pubads.g.doubleclick.net/gampad/ads?iu=/23204950200/VideoAd&description_url=https%3A%2F%2Fwokaland.com%2F&tfcd=0&npa=0&ad_type=audio_video&sz=640x480%7C1280x720&gdfp_req=1&unviewed_position_start=1&output=vast&env=vp&impl=s&correlator=")
|
||||
.offset("pre")
|
||||
.build()
|
||||
)
|
||||
|
||||
val adBreak2 = AdBreak.Builder()
|
||||
.tag("https://pubads.g.doubleclick.net/gampad/ads?iu=/23204950200/VideoAd&description_url=https%3A%2F%2Fwokaland.com%2F&tfcd=1&npa=0&sz=480x320%7C640x480&ciu_szs=480x320&min_ad_duration=10000&max_ad_duration=15000&gdfp_req=1&unviewed_position_start=1&output=vast&env=vp&impl=s&correlator=")
|
||||
.offset("25%")
|
||||
.build()
|
||||
|
||||
adSchedule.add(adBreak1)
|
||||
adSchedule.add(adBreak2)
|
||||
adSchedule.add(
|
||||
AdBreak.Builder()
|
||||
.tag("https://pubads.g.doubleclick.net/gampad/live/ads?iu=/23204950200/VideoAd&description_url=https%3A%2F%2Fwokaland.com%2F&tfcd=0&npa=0&ad_type=audio_video&sz=640x480%7C1280x720&gdfp_req=1&unviewed_position_start=1&output=vast&env=vp&impl=s&correlator=&nofb=1")
|
||||
.offset("25%")
|
||||
.build()
|
||||
)
|
||||
|
||||
val imaAdvertising = ImaAdvertisingConfig.Builder()
|
||||
.schedule(adSchedule)
|
||||
@@ -210,9 +211,9 @@ class PlayerActivity : WokaBaseActivity(), FullscreenHandler {
|
||||
player.playlistItem(playingIndex)
|
||||
}
|
||||
|
||||
private fun addListeners(){
|
||||
private fun addListeners() {
|
||||
player.addListener(EventType.PLAY, VideoPlayerEvents.OnPlayListener {
|
||||
if (seekPosition > 0){
|
||||
if (seekPosition > 0) {
|
||||
player.seek(seekPosition)
|
||||
}
|
||||
seekPosition = 0.0
|
||||
@@ -220,10 +221,10 @@ class PlayerActivity : WokaBaseActivity(), FullscreenHandler {
|
||||
binding.playerView.show()
|
||||
binding.errorView.hide()
|
||||
|
||||
if (it.playReason == PlayReason.INTERACTION){
|
||||
videoPlayList?.videoViewRequestDataList?.let {playlistData ->
|
||||
if (playingIndex >= 0 && playingIndex < playlistData.size){
|
||||
with(playlistData[playingIndex]){
|
||||
if (it.playReason == PlayReason.INTERACTION) {
|
||||
videoPlayList?.videoViewRequestDataList?.let { playlistData ->
|
||||
if (playingIndex >= 0 && playingIndex < playlistData.size) {
|
||||
with(playlistData[playingIndex]) {
|
||||
ClicksHelper.upsertClickEvent(
|
||||
contentType,
|
||||
id,
|
||||
@@ -240,10 +241,10 @@ class PlayerActivity : WokaBaseActivity(), FullscreenHandler {
|
||||
player.addListener(EventType.PAUSE, VideoPlayerEvents.OnPauseListener {
|
||||
playbackState = PlayBackState.PAUSED
|
||||
|
||||
if (it.pauseReason == PauseReason.INTERACTION){
|
||||
videoPlayList?.videoViewRequestDataList?.let {playlistData ->
|
||||
if (playingIndex >= 0 && playingIndex < playlistData.size){
|
||||
with(playlistData[playingIndex]){
|
||||
if (it.pauseReason == PauseReason.INTERACTION) {
|
||||
videoPlayList?.videoViewRequestDataList?.let { playlistData ->
|
||||
if (playingIndex >= 0 && playingIndex < playlistData.size) {
|
||||
with(playlistData[playingIndex]) {
|
||||
ClicksHelper.upsertClickEvent(
|
||||
contentType,
|
||||
id,
|
||||
@@ -260,10 +261,10 @@ class PlayerActivity : WokaBaseActivity(), FullscreenHandler {
|
||||
playbackStartTime = 0
|
||||
}
|
||||
|
||||
Log.d(TAG, "addListeners: PAUSE ${Math.round(totalPlaybackDuration/1000.0)}")
|
||||
Log.d(TAG, "addListeners: PAUSE ${Math.round(totalPlaybackDuration / 1000.0)}")
|
||||
})
|
||||
player.addListener(EventType.ERROR, VideoPlayerEvents.OnErrorListener {
|
||||
if (player.position != 0.0){
|
||||
if (player.position != 0.0) {
|
||||
seekPosition = player.position
|
||||
}
|
||||
playbackState = PlayBackState.STOPPED
|
||||
@@ -278,10 +279,10 @@ class PlayerActivity : WokaBaseActivity(), FullscreenHandler {
|
||||
})
|
||||
|
||||
player.addListener(EventType.PLAYLIST_ITEM, VideoPlayerEvents.OnPlaylistItemListener {
|
||||
if (playingIndex != it.index){
|
||||
videoPlayList?.videoViewRequestDataList?.let {playlistData ->
|
||||
if (playingIndex >= 0 && playingIndex < playlistData.size){
|
||||
with(playlistData[playingIndex]){
|
||||
if (playingIndex != it.index) {
|
||||
videoPlayList?.videoViewRequestDataList?.let { playlistData ->
|
||||
if (playingIndex >= 0 && playingIndex < playlistData.size) {
|
||||
with(playlistData[playingIndex]) {
|
||||
|
||||
// user video view
|
||||
if (playbackStartTime > 0) {
|
||||
@@ -290,9 +291,9 @@ class PlayerActivity : WokaBaseActivity(), FullscreenHandler {
|
||||
playbackStartTime = 0
|
||||
}
|
||||
|
||||
val playingDurationInSecs = Math.round(totalPlaybackDuration/1000.0)
|
||||
val playingDurationInSecs = Math.round(totalPlaybackDuration / 1000.0)
|
||||
|
||||
id?.let {id ->
|
||||
id?.let { id ->
|
||||
if (id > 0 && playingDurationInSecs > 0) {
|
||||
UserRepository.userVideoView(
|
||||
VideoViewRequestData(
|
||||
|
||||
@@ -16,6 +16,7 @@ import kotlinx.coroutines.launch
|
||||
class ShopViewModel: ViewModel() {
|
||||
|
||||
var onTitleChange: ((String) -> Unit)? = null
|
||||
var onShowGoogleAd: (() -> Unit)? = null
|
||||
|
||||
var singleItemBehaviorDone = false
|
||||
|
||||
|
||||
@@ -8,11 +8,18 @@ import androidx.activity.result.contract.ActivityResultContracts
|
||||
import androidx.core.view.ViewCompat
|
||||
import androidx.core.view.WindowInsetsCompat
|
||||
import androidx.lifecycle.ViewModelProvider
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import com.google.android.gms.ads.AdRequest
|
||||
import com.google.android.gms.ads.AdSize
|
||||
import com.google.android.gms.ads.AdView
|
||||
import com.woka.R
|
||||
import com.woka.WokaApp.Companion.userPrefs
|
||||
import com.woka.advertisements.AdsRepository
|
||||
import com.woka.advertisements.models.ForPage
|
||||
import com.woka.database.helpers.ClicksHelper
|
||||
import com.woka.database.models.ContentType
|
||||
import com.woka.databinding.ActivityShopBinding
|
||||
import com.woka.googleads.FM
|
||||
import com.woka.shop.viewmodels.ShopViewModel
|
||||
import com.woka.shop.views.CartActivity.Companion.EXTRA_CURRENT_PRODUCT
|
||||
import com.woka.userPreference.UserType
|
||||
@@ -20,6 +27,7 @@ import com.woka.utils.NoSignInDialog
|
||||
import com.woka.utils.WokaBaseActivity
|
||||
import com.woka.utils.lightStatusBar
|
||||
import com.woka.utils.setVisibility
|
||||
import kotlinx.coroutines.launch
|
||||
|
||||
class ShopActivity : WokaBaseActivity() {
|
||||
|
||||
@@ -110,5 +118,34 @@ class ShopActivity : WokaBaseActivity() {
|
||||
title.text = it
|
||||
}
|
||||
}
|
||||
|
||||
viewModel.onShowGoogleAd = {
|
||||
loadGoogleAds()
|
||||
}
|
||||
}
|
||||
|
||||
private fun loadGoogleAds() {
|
||||
lifecycleScope.launch {
|
||||
AdsRepository.getADs()?.let { ads ->
|
||||
val fmAds = ads.filter { it.slug == ForPage.FM.value }
|
||||
|
||||
if (fmAds.isNotEmpty()){
|
||||
fmAds.first().google_ad?.let {
|
||||
val adView = AdView(this@ShopActivity)
|
||||
|
||||
adView.adUnitId = FM
|
||||
adView.setAdSize(AdSize(AdSize.FULL_WIDTH, 60))
|
||||
|
||||
binding.adsContainer.removeAllViews()
|
||||
binding.adsContainer.addView(adView)
|
||||
|
||||
adView.loadAd(
|
||||
AdRequest.Builder()
|
||||
.build()
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -155,6 +155,12 @@ class ShopFragment1 : Fragment() {
|
||||
adLink = adDetails.ad_link
|
||||
|
||||
adapter.notifyItemInserted(0)
|
||||
|
||||
return@launch
|
||||
}
|
||||
|
||||
superShopAds.first().google_ad?.let {
|
||||
viewModel.onShowGoogleAd?.invoke()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ import com.woka.advertisements.models.ForPage
|
||||
import com.woka.database.helpers.ClicksHelper
|
||||
import com.woka.database.models.ContentType
|
||||
import com.woka.databinding.ActivityGamePlayerBinding
|
||||
import com.woka.googleads.GAME_BANNER_AD
|
||||
import com.woka.googleads.GAME_PLAYER
|
||||
import com.woka.userdata.UserRepository
|
||||
import com.woka.userdata.userDataModels.VideoViewRequestData
|
||||
import com.woka.utils.DecisionDialog
|
||||
@@ -184,7 +184,7 @@ class GamePlayerActivity : WokaBaseActivity() {
|
||||
fmAds.first().google_ad?.let {
|
||||
val adView = AdView(this@GamePlayerActivity)
|
||||
|
||||
adView.adUnitId = GAME_BANNER_AD
|
||||
adView.adUnitId = GAME_PLAYER
|
||||
adView.setAdSize(AdSize(AdSize.FULL_WIDTH, 60))
|
||||
|
||||
binding.adsContainer.removeAllViews()
|
||||
|
||||
@@ -33,7 +33,6 @@ import com.woka.databinding.ActivityGamesBinding
|
||||
import com.woka.databinding.DialogModuleShowerBinding
|
||||
import com.woka.googleads.GAME_BANNER_AD
|
||||
import com.woka.googleads.GAME_TRAILER_AD
|
||||
import com.woka.googleads.HOME_THEME_2_BANNER_AD
|
||||
import com.woka.networking.ApiResult
|
||||
import com.woka.userPreference.UserType
|
||||
import com.woka.utils.NoSignInDialog
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/main"
|
||||
@@ -10,6 +10,7 @@
|
||||
tools:context=".shop.views.ShopActivity">
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/toolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="?actionBarSize"
|
||||
android:background="@android:color/transparent"
|
||||
@@ -103,10 +104,24 @@
|
||||
|
||||
<androidx.fragment.app.FragmentContainerView
|
||||
android:id="@+id/fc_shop"
|
||||
android:layout_below="@id/toolbar"
|
||||
android:layout_above="@id/ads_container"
|
||||
android:name="androidx.navigation.fragment.NavHostFragment"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
app:defaultNavHost="true"
|
||||
app:navGraph="@navigation/nav_graph_shop" />
|
||||
|
||||
</LinearLayout>
|
||||
<LinearLayout
|
||||
android:id="@+id/ads_container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:gravity="center"
|
||||
|
||||
android:background="@color/orders_bg"
|
||||
|
||||
android:layout_alignParentBottom="true"
|
||||
/>
|
||||
|
||||
</RelativeLayout>
|
||||
@@ -49,7 +49,7 @@
|
||||
android:layout_height="0dp"
|
||||
android:background="#D3EFF8"
|
||||
app:layout_constraintTop_toBottomOf="@id/toolbar"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintBottom_toTopOf="@id/ads_container"
|
||||
>
|
||||
|
||||
<androidx.constraintlayout.widget.Guideline
|
||||
@@ -479,4 +479,15 @@
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/ads_container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:gravity="center"
|
||||
android:layout_marginBottom="20dp"
|
||||
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
/>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -5,7 +5,7 @@ circleimageview = "3.1.0"
|
||||
coreSplashscreen = "1.0.1"
|
||||
glide = "4.16.0"
|
||||
flexbox = "3.0.0"
|
||||
interactivemedia = "3.35.0"
|
||||
interactivemedia = "3.35.1"
|
||||
jwPlayerVersion = "4.17.0"
|
||||
kotlin = "2.0.0"
|
||||
coreKtx = "1.12.0"
|
||||
|
||||
Reference in New Issue
Block a user