mirror of
https://github.com/ActivityLauncher/ActivityLauncher.git
synced 2026-08-31 02:15:16 +00:00
fix(Playwire): load banner on Activity restart
This commit is contained in:
parent
c929aa40d5
commit
2e434b2ecf
5 changed files with 40 additions and 23 deletions
|
|
@ -16,7 +16,7 @@ android {
|
|||
providers.environmentVariable("APPID").getOrElse("de.szalkowski.activitylauncher")
|
||||
minSdk = 16
|
||||
targetSdk = 36
|
||||
versionCode = 7501
|
||||
versionCode = 7502
|
||||
versionName = "2.2.5"
|
||||
|
||||
multiDexEnabled = true
|
||||
|
|
@ -41,9 +41,9 @@ android {
|
|||
create("ads") {
|
||||
dimension = "ads"
|
||||
val admobAppId =
|
||||
providers.environmentVariable("ADMOB_APP_ID").getOrElse("ca-app-pub-3940256099942544~3347511713")
|
||||
val publisherId = providers.environmentVariable("PUBLISHER_ID").getOrElse("")
|
||||
val appId = providers.environmentVariable("APP_ID").getOrElse("")
|
||||
providers.environmentVariable("ADMOB_APP_ID").get()
|
||||
val publisherId = providers.environmentVariable("PUBLISHER_ID").get()
|
||||
val appId = providers.environmentVariable("APP_ID").get()
|
||||
manifestPlaceholders["ADMOB_APP_ID"] = admobAppId
|
||||
resValue("string", "publisher_id", publisherId)
|
||||
resValue("string", "app_id", appId)
|
||||
|
|
@ -109,7 +109,7 @@ if (isAdsBuild) {
|
|||
// Configure AppLovin Quality Service if applied
|
||||
if (isAdsBuild) {
|
||||
extensions.findByName("applovin")?.let { extension ->
|
||||
val adReviewKey = providers.environmentVariable("AD_REVIEW_KEY").getOrElse("")
|
||||
val adReviewKey = providers.environmentVariable("AD_REVIEW_KEY").get()
|
||||
val method = extension.javaClass.methods.find { it.name == "setApiKey" }
|
||||
method?.invoke(extension, adReviewKey)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package de.szalkowski.activitylauncher.services
|
||||
|
||||
import android.app.Activity
|
||||
import android.content.Context
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import com.intergi.playwiresdk.PWNotifier
|
||||
|
|
@ -8,18 +9,19 @@ import com.intergi.playwiresdk.PlaywireSDK
|
|||
import com.intergi.playwiresdk.ads.view.PWViewAd
|
||||
import com.intergi.playwiresdk.ads.view.banner.PWBannerView
|
||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||
import de.szalkowski.activitylauncher.BuildConfig
|
||||
import de.szalkowski.activitylauncher.R
|
||||
import javax.inject.Inject
|
||||
import javax.inject.Singleton
|
||||
|
||||
@Singleton
|
||||
class PlaywireServiceImpl @Inject constructor(
|
||||
@ApplicationContext private val context: android.content.Context,
|
||||
@ApplicationContext private val context: Context,
|
||||
) : AdService {
|
||||
|
||||
private var isInitialized = false
|
||||
private var banner: PWBannerView? = null
|
||||
|
||||
override fun initialize(activity: Activity, container: ViewGroup) {
|
||||
override fun initialize(activity: Activity) {
|
||||
if (isInitialized) return
|
||||
|
||||
val publisherId = context.getString(R.string.publisher_id)
|
||||
|
|
@ -29,16 +31,20 @@ class PlaywireServiceImpl @Inject constructor(
|
|||
return
|
||||
}
|
||||
|
||||
PWNotifier.startConsoleLogger()
|
||||
if (BuildConfig.DEBUG) {
|
||||
PWNotifier.startConsoleLogger()
|
||||
}
|
||||
|
||||
PlaywireSDK.start(publisherId, appId, activity) { success, _ ->
|
||||
if (success) {
|
||||
isInitialized = true
|
||||
setupBanner(activity, container)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun setupBanner(activity: Activity, container: ViewGroup) {
|
||||
override fun loadBanner(context: Context, container: ViewGroup) {
|
||||
banner?.destroy()
|
||||
|
||||
val listener = object : PWViewAd.Listener {
|
||||
override fun onViewAdLoaded(ad: PWViewAd) {
|
||||
container.visibility = View.VISIBLE
|
||||
|
|
@ -54,9 +60,14 @@ class PlaywireServiceImpl @Inject constructor(
|
|||
override fun onViewAdImpression(ad: PWViewAd) {}
|
||||
}
|
||||
|
||||
val banner = PWBannerView(activity, "banner-320x50", listener)
|
||||
banner = PWBannerView(context, "banner-320x50", listener)
|
||||
container.removeAllViews()
|
||||
container.addView(banner)
|
||||
banner.load()
|
||||
banner?.load()
|
||||
}
|
||||
|
||||
override fun destroyBanner() {
|
||||
banner?.destroy()
|
||||
banner = null
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -74,7 +74,8 @@ class MainActivity : AppCompatActivity(), ActionBarSearch {
|
|||
val toolbar = findViewById<MaterialToolbar>(R.id.toolbar)
|
||||
setSupportActionBar(toolbar)
|
||||
|
||||
adService.initialize(this, binding.adContainer)
|
||||
adService.initialize(this)
|
||||
adService.loadBanner(this, binding.adContainer)
|
||||
|
||||
settingsService.applyLocaleConfiguration(baseContext)
|
||||
if (!settingsService.disclaimerAccepted) {
|
||||
|
|
@ -193,6 +194,11 @@ class MainActivity : AppCompatActivity(), ActionBarSearch {
|
|||
}
|
||||
}
|
||||
|
||||
override fun onDestroy() {
|
||||
adService.destroyBanner()
|
||||
super.onDestroy()
|
||||
}
|
||||
|
||||
private fun navigateToAll(navController: NavController) {
|
||||
if (packageListService.isLoaded) {
|
||||
navController.navigate(R.id.PackageListFragment)
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
package de.szalkowski.activitylauncher.services
|
||||
|
||||
import android.app.Activity
|
||||
import android.content.Context
|
||||
import android.view.ViewGroup
|
||||
|
||||
interface AdService {
|
||||
fun initialize(
|
||||
activity: Activity,
|
||||
container: ViewGroup,
|
||||
)
|
||||
fun initialize(activity: Activity)
|
||||
fun loadBanner(context: Context, container: ViewGroup)
|
||||
fun destroyBanner()
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
package de.szalkowski.activitylauncher.services
|
||||
|
||||
import android.app.Activity
|
||||
import android.content.Context
|
||||
import android.view.ViewGroup
|
||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||
import javax.inject.Inject
|
||||
import javax.inject.Singleton
|
||||
|
||||
@Singleton
|
||||
class AdServiceImpl @Inject constructor(
|
||||
@ApplicationContext private val context: android.content.Context,
|
||||
) : AdService {
|
||||
override fun initialize(activity: Activity, container: ViewGroup) {}
|
||||
class AdServiceImpl @Inject constructor() : AdService {
|
||||
override fun initialize(activity: Activity) {}
|
||||
override fun loadBanner(context: Context, container: ViewGroup) {}
|
||||
override fun destroyBanner() {}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue