Anúncios premiados

Anúncios com recompensa são um formato de anúncio em tela cheia de grande popularidade, no qual os usuários recebem incentivos para assistir aos anúncios.

As impressões dos anúncios são opcionais: os usuários podem iniciá-las, por exemplo, para receber um bônus ou vidas extras em um jogo.

A forte motivação para os usuários faz com que esse formato de anúncio seja o mais popular e lucrativo em aplicativos gratuitos.

Aparência

Este guia mostrará como integrar anúncios premiados em aplicativos iOS. Além de exemplos de código e instruções, contém recomendações específicas aos formatos e links para recursos adicionais.

Pré-requisito

  1. Siga os passos de integração do SDK descritos em Início rápido.
  2. Primeiro, é preciso inicializar o SDK de publicidade.
  3. 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.

Implementação

Principais passos para integrar anúncios premiados:

  • Crie e configure um RewardedAdLoader.
  • Carregar o anúncio.
  • Se necessário, definir um delegado para o objeto de anúncio e implementar os métodos de RewardedAdDelegate necessários.
  • Renderizar o anúncio.
  • Premiar o usuário por visualizar o anúncio.

Características da integração de anúncios premiados

  1. Todas as chamadas para métodos do Yandex Mobile Ads SDK devem ser feitas a partir do thread principal.

  2. Aconselhamos enfaticamente a não tentar carregar outro anúncio imediatamente após um erro de carregamento. Com completion handlers, isso corresponde ao caso .failure. Com swift concurrency, ao bloco catch. Caso precise tentar carregar anúncios de novo a partir do handler de erros, limite o número de tentativas. Isso ajuda a evitar que ocorram infindáveis solicitações de anúncio sem sucesso quando houver problemas na rede.

  3. Recomendamos manter uma referência forte ao anúncio e seu carregador durante todo o ciclo de vida da tela na qual ocorre a interação com o anúncio.

Carregamento de anúncios

Para carregar anúncios premiados, crie uma instância da classe RewardedAdLoader.

Para carregar um anúncio, use o método loadAd(with:completion:) com um completion handler ou o método loadAd(with:) com swift concurrency.

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.

O exemplo a seguir mostra como carregar um anúncio premiado a partir do View Controller.

final class RewardedViewController: UIViewController {
    private lazy var rewardedAdLoader = RewardedAdLoader()
    private var rewardedAd: RewardedAd?

    func loadAd() async {
        let request = AdRequest(adUnitID: "R-M-XXXXX-YY")
        do {
            let ad = try await rewardedAdLoader.loadAd(with: request)
            rewardedAd = ad
            ad.delegate = self
        } catch {
            // Erro de carregamento
        }
    }
}
final class RewardedViewController: UIViewController {
    private lazy var rewardedAdLoader = RewardedAdLoader()
    private var rewardedAd: RewardedAd?

    func loadAd() {
        let request = AdRequest(adUnitID: "R-M-XXXXX-YY")
        rewardedAdLoader.loadAd(with: request){ [weak self] result in
            switch result {
            case .success(let ad):
                self?.rewardedAd = ad
                ad.delegate = self
            case .failure:
                // Erro de carregamento
                break
            }
        }
    }
}

Exibição de anúncios

Anúncios com recompensa são um formato de anúncio incentivado que permite aos usuários ganhar recompensas assistindo a anúncios. Essas recompensas podem consistir em vidas extras ou a possibilidade de avançar de fase em um jogo. A formatação da recompensa é determinada pelo próprio app.

Após o carregamento do anúncio recompensado, salve-o e exiba‑o.

final class RewardedViewController: UIViewController {
    private lazy var rewardedAdLoader = RewardedAdLoader()
    private var rewardedAd: RewardedAd?

    func showAd() {
        rewardedAd?.show(from: self)
    }
}

Envio de prêmios

Impressões contabilizadas acionam o método rewardedAd(_ rewardedAd: RewardedAd, didReward reward: Reward) do delegado RewardedAdDelegate. Use este método para premiar o usuário do aplicativo.

final class RewardedViewController: UIViewController {
    private var rewardedAd: RewardedAd?
}

extension RewardedViewController: RewardedAdDelegate {
    func rewardedAd(_ rewardedAd: RewardedAd, didReward reward: Reward) {
        sendReward(reward)
    }
}

Teste da integração de anúncios premiados

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 e o aplicativo em si. 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-rewarded-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.

Recursos adicionais