API Offerwall Custom Choice

Introdução

Com a API Custom Choice do Offerwall, você pode integrar sua própria solução de monetização personalizada ao Offerwall no Google Ad Manager.

Para integrar sua própria solução de monetização ao Offerwall, siga estas etapas de configuração de opção personalizada. Resumindo:

  1. Ative a opção "Opção personalizada" para seu Offerwall na guia Privacidade e mensagens do Ad Manager.

  2. Adicione JavaScript personalizado entre as tags <head> e </head> do site em que você publicou o Offerwall.

  3. Instancie um objeto CustomOfferwallChoice conforme definido nas seções a seguir e registre-o com seu Offerwall na janela.

Exemplo de código

Para começar rapidamente, confira esta amostra de uma implementação da API Custom Choice do Offerwall.

Uso do API

Um CustomOfferwallChoice é um objeto JavaScript que você conecta ao Offerwall para integrar sua implementação de monetização personalizada.

// Define your custom choice.
class CustomOfferwallChoice {
  // Initialize your custom choice, which may include loading or preparing any
  // resources required to function.
  async initialize(params: InitializeParams): Promise<InitializeResponseEnum> {...}

  // Show your custom choice on the web page, which may be a subscription
  // service, micropayments service, rewarded ad, etc.
  async show(): Promise<boolean> {...}
}

// Register your custom choice with your Offerwall.
window.googlefc = window.googlefc || {};
window.googlefc.offerwall = window.googlefc.offerwall || {};
window.googlefc.offerwall.customchoice = window.googlefc.offerwall.customchoice || {};
window.googlefc.offerwall.customchoice.registry = new CustomOfferwallChoice();

Definições de métodos

Esta seção descreve cada método que um CustomOfferwallChoice precisa implementar.

initialize

initialize(params: InitializeParams): Promise<InitializeResponseEnum>

Inicialize sua solução de monetização personalizada. Essa função é invocada antes de qualquer outra função e pode ser invocada no máximo uma vez em um determinado carregamento de página.

Exemplo

  async initialize(params: InitializeParams): Promise<InitializeResponseEnum> {
    // If your custom choice is inoperable on this page, return CUSTOM_CHOICE_DISABLED,
    // causing your Offerwall to exclude the custom choice option when rendering.
    const isCustomChoiceEnabled: boolean = await this.initializeCustomOfferwallChoice(params);
    if (!isCustomChoiceEnabled) {
      resolve(googlefc.offerwall.customchoice.InitializeResponseEnum.CUSTOM_CHOICE_DISABLED);
    }

    // If the user should automatically be granted page access on page load, return
    // ACCESS_GRANTED, causing your Offerwall to be ineligible to render on this page.
    const isAccessGranted: boolean = await this.shouldUserBeGrantedPageAccess();
    if (isAccessGranted) {
      resolve(googlefc.offerwall.customchoice.InitializeResponseEnum.ACCESS_GRANTED);
    }

    // If the user shouldn't automatically be granted page access on page load, return
    // ACCESS_NOT_GRANTED, causing your Offerwall to be eligible to render on this page.
    resolve(googlefc.offerwall.customchoice.InitializeResponseEnum.ACCESS_NOT_GRANTED);
  }

mostrar

show(): Promise<boolean>

Renderize sua solução de monetização personalizada e processe as ações de monetização do usuário. Esse método é invocado pelo Offerwall quando o usuário clica na opção de escolha personalizada. A monetização pode assumir qualquer forma, incluindo um serviço de assinatura, um serviço de micropagamentos, um anúncio premiado e muito mais. Quando invocado, o Offerwall fica oculto até que essa promessa seja resolvida, e é responsabilidade do seu CustomOfferwallChoice controlar o conteúdo da página enquanto isso. Depois que essa promessa for resolvida, seu CustomOfferwallChoice não poderá mais ficar visível na página da Web.

Após a resolução da promessa da função show(), você precisa:

  • Oculte sua solução de monetização renderizada.

  • Retorne um valor booleano indicando se o usuário ganhou acesso ao conteúdo da página:

    • true: o usuário ganhou acesso ao conteúdo da página. Nesse caso, o Offerwall não será renderizado novamente após a resolução da promessa.
    • false: o usuário não teve acesso ao conteúdo da página. Nesse caso, o Offerwall será renderizado novamente após a resolução da promessa.

Exemplo

  async show(): Promise<boolean> {
    // Show your custom choice dialog and hide it once the user completes an action.
    const didUserGainAccessToPage: boolean = await this.showCustomChoiceDialogUntilUserAction();

    resolve(didUserGainAccessToPage);
  }

Registro de opção personalizada

O registro inclui a transmissão do objeto CustomOfferwallChoice instanciado para o seguinte registro de janela: window.googlefc.offerwall.customchoice.registry

Exemplo

    // Register your custom choice with your Offerwall.
    window.googlefc = window.googlefc || {};
    window.googlefc.offerwall = window.googlefc.offerwall || {};
    window.googlefc.offerwall.customchoice = window.googlefc.offerwall.customchoice || {};
    window.googlefc.offerwall.customchoice.registry = new CustomOfferwallChoice();

Definições de tipo de API

Esta seção descreve cada tipo de dado na API.

Definições dos objetos

Esta seção descreve cada definição de objeto na API.

InitializeParams

O tipo de objeto de parâmetro para a função initialize.

Propriedade Tipo Descrição
offerwallLanguageCode string | undefined O código de idioma do Offerwall veiculado, conforme definido pelo BCP 47.

Definições de enum

Esta seção descreve cada definição de enumeração na API.

googlefc.offerwall.customchoice.InitializeResponseEnum

O tipo de enumeração de resposta para a função initialize.

Membro de enumeração Descrição
CUSTOM_CHOICE_DISABLED Desative a opção personalizada no Offerwall. Se a escolha personalizada estiver desativada, o Offerwall só poderá
ser renderizado com outras opções qualificadas. Se nenhuma outra opção for qualificada, o Offerwall nunca será renderizado na página.
ACCESS_GRANTED Conceda ao usuário acesso à página no carregamento da página. Se essa resposta for retornada, o Offerwall nunca será renderizado na página.
ACCESS_NOT_GRANTED Não conceda acesso à página do usuário no carregamento da página. Se essa resposta for retornada, seu Offerwall estará qualificado para renderização na página.