Anúncios de abertura do aplicativo
Os anúncios de abertura de aplicativos são um formato de anúncio especial para monetizar as telas de carregamento do seu app. Esses anúncios podem ser fechados a qualquer momento e foram criados para serem veiculados:
- Quando o app é aberto.
- Quando o app é trazido para o primeiro plano.
- Quando o usuário volta do segundo plano para o app.
Este guia abrange o processo de integração de anúncios exibidos ao abrir um aplicativo iOS. Além de exemplos de código e instruções, contém recomendações específicas aos formatos e links para recursos adicionais.
Aparência
Os anúncios de abertura do aplicativo incluem um botão Go to the app para que os usuários saibam que estão no seu aplicativo e possam fechar o anúncio. Veja um exemplo de como este formato de anúncio pode se apresentar:
Pré-requisito
- Siga os passos de integração do SDK descritos em Início rápido.
- Primeiro, é preciso inicializar o SDK de publicidade.
- Certifique-se de estar usando a última versão do Yandex Mobile Ads SDK e, caso esteja usando mediação, a última versão do build unificado.
Termos
- Inicialização a frio é a inicialização de um aplicativo que não está na RAM, criando uma nova sessão de aplicativo.
- Inicialização a quente é a alternação do aplicativo do modo de segundo plano, quando o aplicativo está pausado na RAM, para o modo de primeiro plano.
Implementação
- Inicialize o SDK ao inicializar o aplicativo.
- Crie e configure o objeto carregador de anúncios
AppOpenAdLoader. - Carregar o anúncio.
- Usar o método
applicationDidBecomeActive(_ application: UIApplication)da classe AppDelegate para renderizar anúncios na abertura do aplicativo. - Antes de renderizar o anúncio, definir o delegado do método de callback do anúncio
AppOpenAdDelegate. - Veicule o anúncio usando o método
show.
Principais etapas
-
Inicialize o SDK ao inicializar o aplicativo.
// aguarde a inicialização do SDK antes de carregar anúncios YandexAds.initializeSDK(completionHandler: completionHandler) -
Crie e configure o objeto carregador de anúncios
AppOpenAdLoader.Você vai precisar da ID de posicionamento do anúncio obtida na interface da Yandex Advertising Network (
AD_UNIT_ID).Você pode expandir os parâmetros de solicitação de anúncio através de
AdRequest, passando interesses do usuário, dados contextuais da página, detalhes de localização ou outras informações. O acréscimo de mais contexto às solicitações de anúncios pode melhorar a qualidade dos anúncios consideravelmente. Para saber mais, consulte Segmentação de anúncios.private lazy var appOpenAdLoader: AppOpenAdLoader = { let loader = AppOpenAdLoader() return loader }() -
Carregar o anúncio.
Swift ConcurrencyCompletion handlerfunc loadAd() async { // Substitua demo-appopenad-yandex pela ID efetiva da unidade de anúncio let request = AdRequest(adUnitID: "demo-appopenad-yandex") do{ let ad = try await appOpenAdLoader.loadAd(with: request) appOpenAd = ad appOpenAd?.delegate = self } catch{ // Anúncio não carregou. Tentar carregar outro anúncio a partir daqui é fortemente desencorajado. } }func loadAd() { // Substitua demo-appopenad-yandex pela ID efetiva da unidade de anúncio let request = AdRequest(adUnitID: "demo-appopenad-yandex") self.appOpenAdLoader.loadAd(with: request){ [weak self] result in switch result { case .success(let ad): self?.appOpenAd = ad self?.appOpenAd?.delegate = self case .failure: // Anúncio não carregou. Tentar carregar outro anúncio a partir daqui é fortemente desencorajado. break } } } -
Use o método da classe AppDelegate para exibir anúncios ao abri-lo.
func applicationDidBecomeActive(_ application: UIApplication) -
Antes de renderizar o anúncio, definir o delegado do método de callback do anúncio
AppOpenAdDelegate.extension AppOpenAdController: AppOpenAdDelegate { func appOpenAd(_ appOpenAd: AppOpenAd, didFailToShow error: Error) { // Convocado quando um anúncio deixa de ser exibido. // Carregar próximo anúncio após não exibição com erro loadAd() } func appOpenAdDidShow(_ appOpenAd: AppOpenAd) { // Convocado quando o anúncio é exibido. } func appOpenAdDidDismiss(_ appOpenAd: AppOpenAd) { // Convocado quando o anúncio é descartado. // Carregar próximo anúncio após descarte loadAd() } func appOpenAdDidClick(_ appOpenAd: AppOpenAd) { // Convocado quando há o registro de clique em um anúncio. } func appOpenAd(_ appOpenAd: AppOpenAd, didTrackImpression impressionData: ImpressionData?) { // Convocado quando há o registro de impressão de um anúncio. } } -
Veicule o anúncio usando o método
show.self.appOpenAd?.show(from: self)Observação
Se o anúncio já tiver sido veiculado, a chamada do método
show(from:)(mostrar desde) retornará um erro de exibição emAppOpenAdDelegate.appOpenAd(_:didFailToShowError:)(falha na exibição, erro no anúncio).
Funcionalidades da integração de anúncios de abertura do aplicativo
- Todas as chamadas para métodos do Yandex Mobile Ads SDK devem ser feitas a partir do thread principal.
- O carregamento pode demorar, então não aumente o tempo de inicialização a frio se o anúncio não tiver carregado.
- Pré-carregue anúncios com antecedência para impressões subsequentes em inicializações a quente.
- Não recomendamos carregar anúncios de abertura de app em simultâneo com outros formatos de anúncio na inicialização do aplicativo, pois este pode estar baixando dados operacionais essenciais. Isso pode gerar cargas excessivas para o seu dispositivo e para a conexão de internet, atrasando o carregamento dos anúncios.
- Se ocorrer um erro durante o carregamento (caso
.failureno completion handler ou blococatchem swift concurrency), não tente carregar outro anúncio. Se não houver outra opção, limite o número de tentativas de carregamento de anúncios. Isso ajudará a evitar solicitações constantes malsucedidas e problemas de conexão se houver limitações.
Teste da integração de anúncios de abertura de app
Uso de blocos de anúncios de demonstração para teste de anúncios
Use anúncios-teste para verificar a integração dos anúncios na hora da abertura do app e durante o processo de testagem. Para garantir que os anúncios-teste sejam retornados para cada solicitação de anúncio, é possível usar uma ID especial de posicionamento de anúncios demonstrativa.
adUnitId de demonstração: demo-appopenad-yandex.
Importante
Antes de publicar seu app na loja, certifique-se de substituir a ID de posicionamento demonstrativa pela ID real obtida na interface Yandex Advertising Network.
Para a lista de todas as IDs de posicionamento de anúncio demonstrativas disponíveis, consulte Blocos de anúncio demonstrativos para testes.
Teste da integração de anúncios
Você pode testar sua integração de anúncios usando a ferramenta Console nativa.
Para ver logs detalhados, convoque o método enableLogging da classe YandexAds.
YandexAds.enableLogging()
Para ver os logs do SDK, acesse a ferramenta Console e defina Subsystem = com.mobile.ads.ads.sdk. Você também pode filtrar logs por categoria e nível de erro.
Se você estiver tendo problemas para integrar anúncios, receberá um relatório detalhado sobre os problemas e recomendações de como corrigi-los.
Recomendações
-
Não recomendamos a exibição de anúncios de abertura de app antes da tela de carregamento inicial do aplicativo.
A apresentação da tela de carregamento inicial melhora a experiência do usuário, tornando-a mais intuitiva. Dessa forma, o usuário sabe que abriu o aplicativo certo e não fica surpreso ou confuso com o anúncio. Na mesma tela, você pode avisar os usuários sobre o próximo anúncio. Use um indicador de carregamento ou simplesmente uma mensagem de texto informando ao usuário que ele retomará a visualização do conteúdo do aplicativo após o anúncio.
-
Se houver um atraso entre a solicitação e a renderização do anúncio, o usuário poderá abrir brevemente seu aplicativo e, em seguida, ver inesperadamente um anúncio não relacionado ao conteúdo. Isso pode impactar negativamente a experiência do usuário, então vale a pena evitar. Uma possível solução é exibir a tela de carregamento inicial antes da apresentação do conteúdo principal, e só começar a exibir anúncios a partir dessa tela. Não recomendamos a exibição de anúncios caso o app já tenha apresentado conteúdo após a tela de carregamento inicial.
-
Espere os usuários novos abrirem e usarem o aplicativo algumas vezes antes de começar a exibir impressões de anúncios de abertura de app. Só exiba o anúncio para usuários que atendam a critérios específicos (por exemplo, que concluam uma determinada fase, abram o app um certo número de vezes ou não participem de oferecimentos recompensados). Não recomendamos a exibição de anúncios imediatamente após a instalação do aplicativo.
-
Ajuste a frequência de impressões com base no comportamento do usuário. Não recomendamos a veiculação de anúncios a cada inicialização do app a frio ou a quente.
-
Só exiba anúncios caso o aplicativo já esteja rodando em segundo plano há algum tempo (30 segundos, 2 minutos ou 15 minutos, por exemplo).
-
Não deixe de realizar testes, pois cada aplicativo é um caso único e requer uma abordagem própria para maximizar a receita sem comprometer a retenção dos usuários ou o tempo de permanência no app. O comportamento e o engajamento dos usuários podem oscilar com o tempo, por isso recomendamos que você teste diferentes estratégias de exibição de anúncios de abertura de app periodicamente no seu aplicativo.
Recursos adicionais
- Link para GitHub.