Anúncios Rewarded

Rewarded ads are a popular full-screen ad format, where the user receives a reward for viewing the ad.

The display of this ad type is activated by the user, for instance, to receive a bonus or additional life in a game.

High user motivation makes this ad format the most popular and profitable in free apps.

Aparência

Este guia mostrará como integrar anúncios Rewarded 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. Inicialize seu SDK de anúncios com antecedência.
  3. Confirme se você está utilizando a última versão do Yandex Mobile Ads SDK. Se você estiver usando mediação, confirme se também está utilizando a última versão da compilação unificada.

Implementação

Principais passos para integrar anúncios Rewarded:

  • Criar e configurar o carregador de anúncios RewardedAdLoader.
  • Definir um delegado e implementar os métodos de AdRewardedAdLoaderDelegate necessários.
  • Carregar o anúncio.
  • Se necessário, definir um delegado para o objeto de anúncio e implementar os métodos de AdRewardedAdDelegate necessários.
  • Renderizar o anúncio.
  • Premiar o usuário por visualizar o anúncio.

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

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

  2. Aconselhamos que você não tente carregar um novo anúncio ao receber um erro no método func rewardedAdLoader(_ adLoader: RewardedAdLoader, didFailToLoadWithError error: AdRequestError). Se você precisar carregar um anúncio de func rewardedAdLoader(_ adLoader: RewardedAdLoader, didFailToLoadWithError error: AdRequestError), restrinja as tentativas de carregamento de anúncios para evitar solicitações de anúncios malsucedidas recorrentes devido a restrições de conexão de rede.

  3. Recomendamos manter uma referência forte ao anúncio e seu carregador durante todo o ciclo de vida da tela que interage com o anúncio.

Carregamento de anúncios

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

Para notificar quando os anúncios são carregados ou falham ao carregar, defina a propriedade delegate para a classe RewardedAdLoader e implemente o delegado RewardedAdLoaderDelegate.

final class RewardedViewController: UIViewController {
    private lazy var rewardedAdLoader: RewardedAdLoader = {
        let loader = RewardedAdLoader()
        loader.delegate = self
        return loader
    }()
}

extension RewardedViewController: RewardedAdLoaderDelegate {
    func rewardedAdLoader(_ adLoader: RewardedAdLoader, didLoad rewardedAd: RewardedAd) {
        // This method will call after successfully loading
    }

    func rewardedAdLoader(_ adLoader: RewardedAdLoader, didFailToLoadWithError error: AdRequestError) {
        // This method will call after getting any error while loading the ad
    }
}

Para carregar um anúncio, você vai precisar do identificador da unidade de anúncio da interface do Yandex Advertising Network (adUnitId).

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. Fornecer dados contextuais adicionais na solicitação pode melhorar consideravelmente a qualidade do anúncio. Saiba mais na seção 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 = {
        let loader = RewardedAdLoader()
        loader.delegate = self
        return loader
    }()

    func loadAd() {
        let configuration = AdRequestConfiguration(adUnitID: "R-M-XXXXX-YY")
        rewardedAdLoader.loadAd(with: configuration)
    }
}

Renderização de anúncios

Rewarded advertising is an incentive-based ad format that allows the user to receive a reward for viewing the ad. The reward could be an extra life or advancing to the next level in a game. The reward format is determined at the app level.

Após o anúncio premiado ser carregado com êxito, o método func rewardedAdLoader(_ adLoader: RewardedAdLoader, didLoad rewardedAd: RewardedAd) do delegado RewardedAdDelegate será chamado. Use-o para exibir o anúncio premiado.

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

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

extension RewardedViewController: RewardedAdLoaderDelegate {
    func rewardedAdLoader(_ adLoader: RewardedAdLoader, didLoad rewardedAd: RewardedAd) {
        self.rewardedAd = rewardedAd
        self.rewardedAd.delegate = self

        showAd()
    }
}

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 Rewarded

Uso de blocos de anúncios de demonstração para teste de anúncios

Recomendamos usar anúncios de teste para testar sua integração de anúncios e seu próprio aplicativo.

Para garantir que anúncios de teste sejam retornados para cada solicitação de anúncio, criamos um ID especial de posicionamento de anúncios de demonstração. Use-o para verificar sua integração de anúncios.

adUnitId de demonstração: demo-rewarded-yandex.

Importante

Antes de publicar seu app na loja, lembre-se de substituir a ID de inserção demonstrativa por uma ID real obtida na interface do Yandex Advertising Network.

Confira a lista de IDs de posicionamento de anúncios de demonstração disponíveis na seção Blocos de anúncio de demonstração para teste.

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, chame o método enableLogging da classe YMAMobileAds.

YMAMobileAds.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