Pular para o conteúdo

App Open

Os anúncios App Open são um formato especial cujo principal objetivo é permitir a monetização das telas de carregamento do app.

Esses anúncios podem ser fechados a qualquer momento e devem ser exibidos quando o app passa para o primeiro plano.

Este formato de anúncio só pode ser integrado por código, implementando uma das duas formas de integração descritas abaixo.

Neste tipo de integração, você precisa criar uma instância da classe AppOpenAd e usar os métodos loadAd() e showAd() para carregar e exibir o anúncio sob demanda. O publisher é o responsável por decidir quando o anúncio deve ser exibido e implementar a lógica necessária.

Abaixo você encontra um exemplo simples de integração:

class MainActivity : Activity() {
private var appOpenAd: AppOpenAd? = null
override fun onCreate(savedInstanceState: Bundle?) {
...
appOpenAd = AppOpenAd(this, "Ad Unit ID da Wortise").also {
it.loadAd()
}
}
override fun onDestroy() {
...
appOpenAd?.destroy()
}
fun showAppOpen() {
if (appOpenAd?.isAvailable == true) {
appOpenAd?.showAd(this)
}
}
}

Além disso, a classe AppOpenAd oferece os seguintes métodos adicionais para configurar seu comportamento:

// Define se um novo anúncio deve ser carregado após fechar o anterior
appOpenAd.autoReload = true
// Exibe um anúncio imediatamente, se disponível. Caso contrário, solicita o
// carregamento de um novo anúncio
appOpenAd.tryToShowAd(activity)

O SDK oferece uma implementação padrão de App Open para facilitar a integração deste formato de anúncio.

Para realizar este tipo de integração, o app precisa estender a classe Application e, dentro dela, criar uma instância de AppOpenManager, como mostrado no exemplo abaixo:

class MyApplication : Application() {
private val appOpenManager by lazy {
AppOpenManager(this, "Ad Unit ID da Wortise")
}
override fun onCreate() {
...
appOpenManager.loadAd()
}
}

Com esta integração simples, o app exibirá anúncios sempre que houver uma transição do segundo plano para o primeiro plano.

Além disso, a classe AppOpenManager oferece os mesmos métodos que AppOpenAd para configurar seu comportamento e exibir anúncios sob demanda.

Assim como nos outros formatos, um listener pode ser definido para receber os eventos que ocorrem durante o ciclo de vida do anúncio. Para isso, você precisa implementar a interface AppOpenAd.Listener como mostrado no exemplo abaixo:

appOpenAd.listener = object : AppOpenAd.Listener() {
override fun onAppOpenClicked(ad: AppOpenAd) {
// Invocado quando o anúncio foi clicado
}
override fun onAppOpenDismissed(ad: AppOpenAd) {
// Invocado quando o anúncio foi fechado
}
override fun onAppOpenFailedToLoad(ad: AppOpenAd, error: AdError) {
// Invocado quando não foi possível carregar o anúncio
// (por causa de um erro ou sem preenchimento (no fill))
}
override fun onAppOpenFailedToShow(ad: AppOpenAd, error: AdError) {
// Invocado quando não foi possível exibir o anúncio
}
override fun onAppOpenImpression(ad: AppOpenAd) {
// Invocado quando o anúncio gerou uma impressão
}
override fun onAppOpenLoaded(ad: AppOpenAd) {
// Invocado quando o anúncio foi carregado
}
override fun onAppOpenRevenuePaid(ad: AppOpenAd,
data: RevenueData) {
// Invocado quando o anúncio gerou receita
}
override fun onAppOpenShown(ad: AppOpenAd) {
// Invocado quando o anúncio foi exibido
}
}