diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 99a0f4b..d48f5ef 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -65,8 +65,7 @@ dependencies { implementation("com.google.firebase:firebase-analytics-ktx") implementation("com.google.firebase:firebase-crashlytics-ktx") - //----------------------Liftoff SDK - implementation (libs.vungle.ads) + } \ No newline at end of file diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index f99985f..5be59cd 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -23,37 +23,3 @@ -keep class com.sunny.app.soft.timberkeyboardnew.data.entity.BackgroundEntity { *; } - #=======================================UNity SDK - # Keep filenames and line numbers for stack traces - -keepattributes SourceFile,LineNumberTable - - # Keep JavascriptInterface for WebView bridge - -keepattributes JavascriptInterface - - - -keep class android.webkit.JavascriptInterface { - *; - } - - # Keep all classes in Unity Ads package - - -keep class com.unity3d.ads.** { - *; - } - - # Keep all classes in Unity Services package - -keep class com.unity3d.services.** { - *; - } - - -keep class com.google.android.gms.ads.initialization.** { - *; - } - - -keep class com.google.android.gms.ads.MobileAds { - *; - } - - -dontwarn com.google.ads.mediation.admob.* - -dontwarn com.google.android.gms.ads.** - #==================================UNity SDK \ No newline at end of file diff --git a/app/src/main/java/com/sunny/app/soft/timberkeyboardnew/App.kt b/app/src/main/java/com/sunny/app/soft/timberkeyboardnew/App.kt index 3c37b56..dde4251 100644 --- a/app/src/main/java/com/sunny/app/soft/timberkeyboardnew/App.kt +++ b/app/src/main/java/com/sunny/app/soft/timberkeyboardnew/App.kt @@ -2,11 +2,6 @@ package com.sunny.app.soft.timberkeyboardnew import android.app.Application import android.content.Context -import android.util.Log -import com.sunny.app.soft.timberkeyboardnew.liftoff.AdManager -import com.vungle.ads.InitializationListener -import com.vungle.ads.VungleAds -import com.vungle.ads.VungleError class App : Application() { @@ -36,15 +31,7 @@ class App : Application() { private fun initLiftoff() { - VungleAds.init(this, APP_ID, object : InitializationListener { - override fun onSuccess() { - Log.d(TAG, "Vungle SDK init onSuccess()") - AdManager.loadAllAd() - } - override fun onError(vungleError: VungleError) { - Log.d(TAG, "onError(): ${vungleError.localizedMessage}") - } - }) + } } \ No newline at end of file diff --git a/app/src/main/java/com/sunny/app/soft/timberkeyboardnew/liftoff/AdCallBack.kt b/app/src/main/java/com/sunny/app/soft/timberkeyboardnew/liftoff/AdCallBack.kt deleted file mode 100644 index 02c8585..0000000 --- a/app/src/main/java/com/sunny/app/soft/timberkeyboardnew/liftoff/AdCallBack.kt +++ /dev/null @@ -1,10 +0,0 @@ -package com.sunny.app.soft.timberkeyboardnew.liftoff - -interface AdCallBack { - - fun onLoaded() - - fun onShowFail() - - fun onClose() -} \ No newline at end of file diff --git a/app/src/main/java/com/sunny/app/soft/timberkeyboardnew/liftoff/AdManager.kt b/app/src/main/java/com/sunny/app/soft/timberkeyboardnew/liftoff/AdManager.kt deleted file mode 100644 index 0224213..0000000 --- a/app/src/main/java/com/sunny/app/soft/timberkeyboardnew/liftoff/AdManager.kt +++ /dev/null @@ -1,199 +0,0 @@ -package com.sunny.app.soft.timberkeyboardnew.liftoff - -import android.content.Context -import android.os.CountDownTimer -import android.util.Log -import com.sunny.app.soft.timberkeyboardnew.App -import com.vungle.ads.AdConfig -import com.vungle.ads.BaseAd -import com.vungle.ads.BaseAdListener -import com.vungle.ads.InterstitialAd -import com.vungle.ads.InterstitialAdListener -import com.vungle.ads.VungleError - -object AdManager { - /** - * CUSTOM_KEYBOARD_ANDROID_INTER_OPEN-6034009 - * CUSTOM_KEYBOARD_ANDROID_INTER_SET-7095031 - * CUSTOM_KEYBOARD_ANDROID_INTER_THEME-1069696 - */ - const val TAG = "=============" - const val placementId1 = "CUSTOM_KEYBOARD_ANDROID_INTER_OPEN-6034009" - const val placementId2 = "CUSTOM_KEYBOARD_ANDROID_INTER_SET-7095031" - const val placementId3 = "CUSTOM_KEYBOARD_ANDROID_INTER_THEME-1069696" - - - const val adPos_0 = 0 - const val adPos_1 = 1 - const val adPos_2 = 2 - - const val NO_CACHE = 0 - const val HAS_CACHE = 1 - const val SHOW_FAIL = 2 - const val SHOW_SUCCESS = 3 - const val SHOW_CLOSE = 4 - - val list: MutableList = mutableListOf() - fun loadAllAd() { - if (list.size <= 0) { - var interstitialAd1 = InterstitialAd(App.appContext, placementId1, AdConfig().apply { }) - var interstitialAd2 = InterstitialAd(App.appContext, placementId2, AdConfig().apply { }) - var interstitialAd3 = InterstitialAd(App.appContext, placementId3, AdConfig().apply { }) - list.add(interstitialAd1) - list.add(interstitialAd2) - list.add(interstitialAd3) - } - for (ad in list) { - if (!ad.canPlayAd()) { - //一个广告对象show之后,不能再次load,需要新建对象 - val newAd = getNewAd(ad.placementId) - list[list.indexOf(ad)] = newAd - setCallBack(newAd, object : AdCallBack { - override fun onLoaded() { - - } - - override fun onShowFail() { - - } - - override fun onClose() { - - } - - }) - newAd.load() - } - } - - - } - - private fun getNewAd(place: String): InterstitialAd { - - return InterstitialAd(App.appContext, place, AdConfig().apply { }) - } - - - private fun getReadyAd(pos: Int): InterstitialAd? { - if (list.size <= 0) { - return null - } - if (list[pos].canPlayAd()) { - return list[pos] - } - for (ad in list) { - if (ad.canPlayAd()) { - return ad - } - } - return null - } - - @JvmStatic - fun showWelComeAd(totalTim: Long, actionGoMain: () -> Unit): CountDownTimer { - var needShow = true - val myTimer = object : CountDownTimer(totalTim, 100) { - override fun onTick(millisUntilFinished: Long) { - if (needShow) { - showAd(adPos_0) { - if (it == HAS_CACHE) { - needShow = false - } - if (it == SHOW_FAIL) { - needShow = true - } - if (it == SHOW_CLOSE) { - actionGoMain.invoke() - } - } - } - - } - - override fun onFinish() { - if (needShow) { - showAd(adPos_0) { - if (it == SHOW_FAIL || it == NO_CACHE || it == SHOW_CLOSE) { - actionGoMain.invoke() - } - - } - } - - } - } - myTimer.start() - return myTimer - } - - fun showAd(firstPos: Int, action: (result: Int) -> Unit) { - val readyAd = getReadyAd(firstPos) - if (readyAd == null) { - action.invoke(NO_CACHE) - } else { - Log.d(TAG, "-----show Ad=${readyAd.placementId}") - action.invoke(HAS_CACHE) - setCallBack(readyAd, object : AdCallBack { - override fun onLoaded() { - - } - - override fun onShowFail() { - action.invoke(SHOW_FAIL) - } - - override fun onClose() { - action.invoke(SHOW_CLOSE) - } - - }) - readyAd.play() - } - - } - - fun setCallBack(ad: InterstitialAd, callBack: AdCallBack) { - ad.adListener = object : InterstitialAdListener { - override fun onAdClicked(baseAd: BaseAd) { - - } - - override fun onAdEnd(baseAd: BaseAd) { - callBack.onClose() - Log.d(TAG, "onAdEnd:" + baseAd.placementId) - loadAllAd() - } - - override fun onAdFailedToLoad(baseAd: BaseAd, adError: VungleError) { - Log.d( - TAG, - "onAdFailedToLoad:-----${baseAd.placementId}---------${adError.code} ----${adError.errorMessage}" - ) - } - - override fun onAdFailedToPlay(baseAd: BaseAd, adError: VungleError) { - callBack.onShowFail() - Log.d(TAG, "onAdFailedToPlay:" + baseAd.placementId) - } - - override fun onAdImpression(baseAd: BaseAd) { - - } - - override fun onAdLeftApplication(baseAd: BaseAd) { - Log.d(TAG, "onAdLeftApplication:" + baseAd.placementId) - } - - override fun onAdLoaded(baseAd: BaseAd) { - callBack.onLoaded() - Log.d(TAG, "onAdLoaded:" + baseAd.placementId) - } - - override fun onAdStart(baseAd: BaseAd) { - - } - - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/sunny/app/soft/timberkeyboardnew/ui/activity/DownloadActivity.kt b/app/src/main/java/com/sunny/app/soft/timberkeyboardnew/ui/activity/DownloadActivity.kt index 735d1aa..31a24f3 100644 --- a/app/src/main/java/com/sunny/app/soft/timberkeyboardnew/ui/activity/DownloadActivity.kt +++ b/app/src/main/java/com/sunny/app/soft/timberkeyboardnew/ui/activity/DownloadActivity.kt @@ -16,7 +16,6 @@ import com.bumptech.glide.request.target.Target import com.sunny.app.soft.timberkeyboardnew.R import com.sunny.app.soft.timberkeyboardnew.data.entity.BackgroundEntity import com.sunny.app.soft.timberkeyboardnew.databinding.ActivityDownloadBinding -import com.sunny.app.soft.timberkeyboardnew.liftoff.AdManager import com.sunny.app.soft.timberkeyboardnew.tools.AppConstant import com.sunny.app.soft.timberkeyboardnew.tools.KeyboardManager import com.sunny.app.soft.timberkeyboardnew.tools.ZipTools @@ -88,11 +87,11 @@ class DownloadActivity : private fun onShowAd() { - AdManager.showAd(AdManager.adPos_2) { - if (it == AdManager.SHOW_FAIL || it == AdManager.NO_CACHE || it == AdManager.SHOW_CLOSE) { +// AdManager.showAd(AdManager.adPos_2) { +// if (it == AdManager.SHOW_FAIL || it == AdManager.NO_CACHE || it == AdManager.SHOW_CLOSE) { startSetSkin() - } - } +// } +// } } diff --git a/app/src/main/java/com/sunny/app/soft/timberkeyboardnew/ui/activity/LoadingActivity.kt b/app/src/main/java/com/sunny/app/soft/timberkeyboardnew/ui/activity/LoadingActivity.kt index 6c2d6be..5bfdc5a 100644 --- a/app/src/main/java/com/sunny/app/soft/timberkeyboardnew/ui/activity/LoadingActivity.kt +++ b/app/src/main/java/com/sunny/app/soft/timberkeyboardnew/ui/activity/LoadingActivity.kt @@ -4,7 +4,6 @@ import android.content.Intent import android.os.CountDownTimer import android.view.View import com.sunny.app.soft.timberkeyboardnew.databinding.ActivityLoadingBinding -import com.sunny.app.soft.timberkeyboardnew.liftoff.AdManager class LoadingActivity : BaseActivity() { @@ -28,9 +27,9 @@ class LoadingActivity : BaseActivity() { override fun initView() { super.initView() - timer = AdManager.showWelComeAd(time) { +// timer = AdManager.showWelComeAd(time) { intoMainActivity() - } +// } } diff --git a/app/src/main/java/com/sunny/app/soft/timberkeyboardnew/ui/activity/MainActivity.kt b/app/src/main/java/com/sunny/app/soft/timberkeyboardnew/ui/activity/MainActivity.kt index 1cb8e6c..ccc40de 100644 --- a/app/src/main/java/com/sunny/app/soft/timberkeyboardnew/ui/activity/MainActivity.kt +++ b/app/src/main/java/com/sunny/app/soft/timberkeyboardnew/ui/activity/MainActivity.kt @@ -1,19 +1,13 @@ package com.sunny.app.soft.timberkeyboardnew.ui.activity import android.view.View -import android.view.ViewParent import androidx.fragment.app.Fragment import androidx.viewpager.widget.ViewPager -import com.sunny.app.soft.timberkeyboardnew.App import com.sunny.app.soft.timberkeyboardnew.R import com.sunny.app.soft.timberkeyboardnew.databinding.ActivityMainBinding -import com.sunny.app.soft.timberkeyboardnew.liftoff.AdCallBack -import com.sunny.app.soft.timberkeyboardnew.liftoff.AdManager import com.sunny.app.soft.timberkeyboardnew.ui.adapter.MainViewPagerAdapter import com.sunny.app.soft.timberkeyboardnew.ui.fragment.HomeFragment import com.sunny.app.soft.timberkeyboardnew.ui.fragment.SettingFragment -import com.vungle.ads.AdConfig -import com.vungle.ads.InterstitialAd class MainActivity : BaseActivity(), @@ -30,23 +24,23 @@ class MainActivity : override fun initView() { super.initView() - InterstitialAd(this, AdManager.placementId1, AdConfig().apply { }).apply { - AdManager.setCallBack(this, object : AdCallBack { - override fun onLoaded() { - - } - - override fun onShowFail() { - - } - - override fun onClose() { - - } - - }) - load() - } +// InterstitialAd(this, AdManager.placementId1, AdConfig().apply { }).apply { +// AdManager.setCallBack(this, object : AdCallBack { +// override fun onLoaded() { +// +// } +// +// override fun onShowFail() { +// +// } +// +// override fun onClose() { +// +// } +// +// }) +// load() +// } initViewPager() initTabButton() diff --git a/app/src/main/java/com/sunny/app/soft/timberkeyboardnew/ui/activity/SelectActivity.kt b/app/src/main/java/com/sunny/app/soft/timberkeyboardnew/ui/activity/SelectActivity.kt index b719154..ae91127 100644 --- a/app/src/main/java/com/sunny/app/soft/timberkeyboardnew/ui/activity/SelectActivity.kt +++ b/app/src/main/java/com/sunny/app/soft/timberkeyboardnew/ui/activity/SelectActivity.kt @@ -7,7 +7,6 @@ import androidx.recyclerview.widget.GridLayoutManager import com.sunny.app.soft.timberkeyboardnew.data.entity.BackgroundEntity import com.sunny.app.soft.timberkeyboardnew.data.entity.CategoryEntity import com.sunny.app.soft.timberkeyboardnew.databinding.ActivitySelectBinding -import com.sunny.app.soft.timberkeyboardnew.liftoff.AdManager import com.sunny.app.soft.timberkeyboardnew.tools.AppConstant import com.sunny.app.soft.timberkeyboardnew.ui.adapter.SelectAdapter import com.sunny.app.soft.timberkeyboardnew.ui.listener.OnBgItemClickListener diff --git a/app/src/main/java/com/sunny/app/soft/timberkeyboardnew/ui/fragment/HomeFragment.kt b/app/src/main/java/com/sunny/app/soft/timberkeyboardnew/ui/fragment/HomeFragment.kt index 24b7f4a..47f6868 100644 --- a/app/src/main/java/com/sunny/app/soft/timberkeyboardnew/ui/fragment/HomeFragment.kt +++ b/app/src/main/java/com/sunny/app/soft/timberkeyboardnew/ui/fragment/HomeFragment.kt @@ -8,7 +8,6 @@ import com.sunny.app.soft.timberkeyboardnew.R import com.sunny.app.soft.timberkeyboardnew.data.DataManager import com.sunny.app.soft.timberkeyboardnew.data.entity.CategoryEntity import com.sunny.app.soft.timberkeyboardnew.databinding.FragmentHomeBinding -import com.sunny.app.soft.timberkeyboardnew.liftoff.AdManager import com.sunny.app.soft.timberkeyboardnew.tools.AppConstant import com.sunny.app.soft.timberkeyboardnew.ui.activity.SelectActivity import com.sunny.app.soft.timberkeyboardnew.ui.adapter.HomeViewAdapter @@ -61,11 +60,11 @@ class HomeFragment : fun onShowAd() { - AdManager.showAd(AdManager.adPos_1) { - if (it == AdManager.SHOW_FAIL || it == AdManager.NO_CACHE || it == AdManager.SHOW_CLOSE) { +// AdManager.showAd(AdManager.adPos_1) { +// if (it == AdManager.SHOW_FAIL || it == AdManager.NO_CACHE || it == AdManager.SHOW_CLOSE) { enterList() - } - } +// } +// } }