API de Offerwall Custom Choice

Introducción

La API de Offerwall Custom Choice te permite integrar tu propia solución de monetización personalizada con el Offerwall en Google Ad Manager.

Para integrar tu propia solución de monetización con el Offerwall, sigue estos pasos de configuración de la opción personalizada. Resumen:

  1. Habilita la opción "Selección personalizada" para tu Offerwall en la pestaña Privacidad y mensajería de Ad Manager.

  2. Agrega código JavaScript personalizado entre las etiquetas <head> y </head> del sitio en el que publicaste tu Offerwall.

  3. Crea una instancia de un objeto CustomOfferwallChoice como se define en las siguientes secciones y regístralo en tu Offerwall en la ventana.

Código de muestra

Para comenzar rápidamente, consulta este ejemplo funcional de una implementación de la API de Offerwall Custom Choice.

Uso de API

Un CustomOfferwallChoice es un objeto JavaScript que conectas a tu Offerwall para integrar tu implementación de monetización 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();

Definiciones de métodos

En esta sección, se describe cada método que un CustomOfferwallChoice debe implementar.

initialize

initialize(params: InitializeParams): Promise<InitializeResponseEnum>

Inicializa tu solución de monetización personalizada. Esta función se invoca antes que cualquier otra y se espera que se invoque como máximo una vez en la carga de una página determinada.

Ejemplo

  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>

Renderiza tu solución de monetización personalizada y controla las acciones de monetización del usuario. Tu Offerwall invoca este método cuando el usuario hace clic en la opción de selección personalizada. La monetización puede adoptar cualquier forma, como un servicio de suscripción, un servicio de micropagos, un anuncio recompensado y mucho más. Cuando se invoca, tu muro de ofertas se oculta hasta que se resuelve esta promesa, y es responsabilidad de tu CustomOfferwallChoice controlar el acceso al contenido de la página mientras tanto. Una vez que se resuelva esta promesa, tu CustomOfferwallChoice ya no debe ser visible en la página web.

Cuando se resuelva la promesa de la función show(), debes hacer lo siguiente:

  • Oculta la solución de monetización renderizada.

  • Devuelve un valor booleano que indica si el usuario obtuvo acceso al contenido de la página:

    • true: El usuario obtuvo acceso al contenido de la página. En este caso, el muro de ofertas no se volverá a renderizar cuando se resuelva la promesa.
    • false: El usuario no obtuvo acceso al contenido de la página. En este caso, tu Offerwall se volverá a renderizar cuando se resuelva la promesa.

Ejemplo

  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 Selección personalizada

El registro incluye pasar tu objeto CustomOfferwallChoice instanciado al siguiente registro de ventanas: window.googlefc.offerwall.customchoice.registry

Ejemplo

    // 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();

Definiciones de tipos de API

En esta sección, se describe cada tipo de datos de la API.

Definiciones de objetos

En esta sección, se describe cada definición de objeto en la API.

InitializeParams

Es el tipo de objeto de parámetro para la función initialize.

Propiedad Tipo Descripción
offerwallLanguageCode string | undefined Es el código de idioma del Offerwall que se publica, según se define en BCP 47.

Definiciones de enumeraciones

En esta sección, se describe cada definición de enumeración en la API.

googlefc.offerwall.customchoice.InitializeResponseEnum

Es el tipo de enumeración de la respuesta para la función initialize.

Miembro de la enumeración Descripción
CUSTOM_CHOICE_DISABLED Inhabilita la opción de selección personalizada en tu Offerwall. Si la opción personalizada está inhabilitada, tu Offerwall solo se puede
renderizar con otras opciones aptas. Si no hay otras opciones aptas, tu Offerwall nunca se renderizará en la página.
ACCESS_GRANTED Otorga acceso a la página del usuario cuando se carga la página. Tu Offerwall nunca se renderizará en la página si se devuelve esta respuesta.
ACCESS_NOT_GRANTED No otorgues acceso a la página del usuario cuando se cargue la página. Tu Offerwall es apto para renderizarse en la página si se devuelve esta respuesta.