Как правильно показывать тестовую рекламу в debug_mode?
У меня в приложении есть рекламный баннер, но согласно правилам адмоба я не могу воспроизводить реальную рекламу на тестовых устройствах. В связи с чем возникает вопрос, как правильно сделать так чтобы во время тестов всегда была тестовая реклама а при релизе настоящая?
Я так понимаю можно сделать так:
val mAdView = AdView(context)
mAdView.adSize = AdSize.SMART_BANNER
if (BuildConfig.DEBUG) {
mAdView.adUnitId = adsIdTest
} else {
mAdView.adUnitId = adsIdRelease
}
adMobView.addView(mAdView)
val adRequest = AdRequest.Builder().build()
mAdView.loadAd(adRequest)
Но я не уверен на сколько это правильно, и как хорошо это отработает?
Ответы (2 шт):
Ну по другому вы и не сделаете. Только вот if вот этот конечно нужно вынести не там где вы создаете вашу View, а где-то на уровне Application.
Или вообще обернуть рекламу в какой-то класс который будет закрыт интерфейсом. У этого интерфейса будет 2 реализации: одна прод с реальной рекламой, вторая дебажная. И вот на уровне DI определить: что если у вас запущена прод версия то подсовывать прод реализацию иначе дебаг. А всю работу производить в коде через интерфейс
На kotlin лучше так
val mAdView = AdView(context).apply {
size = AdSize.SMART_BANNER
mAdView.adUnitId = when(BuildConfig.DEBUG) {
true -> adsIdTest
else -> adsIdRelease
}
}