diff --git a/app/build.gradle b/app/build.gradle index 7d03af5..844eeaa 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -52,6 +52,12 @@ android { buildConfigField 'String', 'BOOTPAY_APP_ID', '"64c35be1d25985001dc50c87"' buildConfigField 'String', 'AGORA_APP_ID', '"e34e40046e9847baba3adfe2b8ffb4f6"' buildConfigField 'String', 'AGORA_APP_CERTIFICATE', '"15cadeea4ba94ff7b091c9a10f4bf4a6"' + buildConfigField 'String', 'ADMOB_FREE_CONTENT_BANNER_UNIT_ID', '"ca-app-pub-1299501215847962/8351317711"' + + // manifest + manifestPlaceholders["ADMOB_APP_ID"] = "ca-app-pub-1299501215847962~1110535210" + + resValue 'string', 'admob_free_content_banner_unit_id', 'ca-app-pub-1299501215847962/8351317711' } debug { @@ -63,6 +69,12 @@ android { buildConfigField 'String', 'BOOTPAY_APP_ID', '"6242a7772701800023f68b2e"' buildConfigField 'String', 'AGORA_APP_ID', '"b96574e191a9430fa54c605528aa3ef7"' buildConfigField 'String', 'AGORA_APP_CERTIFICATE', '"ae18ade3afcf4086bd4397726eb0654c"' + buildConfigField 'String', 'ADMOB_FREE_CONTENT_BANNER_UNIT_ID', '"ca-app-pub-3940256099942544/6300978111"' + + // manifest + manifestPlaceholders["ADMOB_APP_ID"] = "ca-app-pub-1299501215847962~3769074871" + + resValue 'string', 'admob_free_content_banner_unit_id', 'ca-app-pub-3940256099942544/6300978111' } } compileOptions { @@ -148,4 +160,6 @@ dependencies { annotationProcessor 'com.github.bumptech.glide:compiler:4.12.0' implementation "com.michalsvec:single-row-calednar:1.0.0" + + implementation 'com.google.android.gms:play-services-ads:22.3.0' } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 1489a00..5218050 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -135,5 +135,9 @@ android:name="com.google.firebase.messaging.default_notification_channel_id" android:value="@string/default_notification_channel_id" /> + + diff --git a/app/src/main/java/kr/co/vividnext/sodalive/app/SodaLiveApp.kt b/app/src/main/java/kr/co/vividnext/sodalive/app/SodaLiveApp.kt index 1d11857..0ef436e 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/app/SodaLiveApp.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/app/SodaLiveApp.kt @@ -1,10 +1,14 @@ package kr.co.vividnext.sodalive.app import android.app.Application +import android.content.Context import android.content.pm.ApplicationInfo import android.content.pm.PackageManager import android.os.Build import androidx.appcompat.app.AppCompatDelegate +import com.google.android.gms.ads.MobileAds +import com.google.android.gms.common.ConnectionResult +import com.google.android.gms.common.GoogleApiAvailability import com.orhanobut.logger.AndroidLogAdapter import com.orhanobut.logger.Logger import kr.co.vividnext.sodalive.BuildConfig @@ -26,6 +30,12 @@ class SodaLiveApp : Application() { AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES) SharedPreferenceManager.init(applicationContext) + + if (isGooglePlayServicesAvailable(this)) { + MobileAds.initialize(this) { + Logger.e("ADMOB 초기화 - ${it.adapterStatusMap}") + } + } } private fun isDebuggable(): Boolean { @@ -47,4 +57,10 @@ class SodaLiveApp : Application() { return debuggable } + + private fun isGooglePlayServicesAvailable(context: Context): Boolean { + val googleApiAvailability = GoogleApiAvailability.getInstance() + val resultCode = googleApiAvailability.isGooglePlayServicesAvailable(context) + return resultCode == ConnectionResult.SUCCESS + } } diff --git a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/detail/AudioContentDetailActivity.kt b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/detail/AudioContentDetailActivity.kt index bdfc722..c65ed05 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/detail/AudioContentDetailActivity.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/detail/AudioContentDetailActivity.kt @@ -20,6 +20,7 @@ import coil.load import coil.transform.CircleCropTransformation import com.bumptech.glide.Glide import com.bumptech.glide.request.RequestOptions +import com.google.android.gms.ads.AdRequest import com.google.gson.Gson import kr.co.vividnext.sodalive.R import kr.co.vividnext.sodalive.audio_content.AudioContentPlayService @@ -95,6 +96,7 @@ class AudioContentDetailActivity : BaseActivity 0 + + if ((!it.existOrdered && it.price > 0) || it.price <= 0) setupAdMob() } viewModel.isContentPlayLoopLiveData.observe(this) { diff --git a/app/src/main/res/layout/activity_audio_content_detail.xml b/app/src/main/res/layout/activity_audio_content_detail.xml index 5b00db8..faa5ed4 100644 --- a/app/src/main/res/layout/activity_audio_content_detail.xml +++ b/app/src/main/res/layout/activity_audio_content_detail.xml @@ -1,5 +1,6 @@ + +