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 Offerwall, sigue estos pasos de configuración de la opción personalizada. Resumen:

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

  2. Agrega 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 con tu Offerwall en la ventana.

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 función y se espera que se invoque una vez como máximo en una carga de 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 elecció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 Offerwall se oculta hasta que se resuelve esta promesa, y es responsabilidad de tu CustomOfferwallChoice restringir el contenido de la página mientras tanto. Una vez que se resuelva esta promesa, tu CustomOfferwallChoice debe asegurarse de que ya no sea visible en la página web.

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

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

  • Muestra 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, tu Offerwall 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 ventana: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 del parámetro para la función initialize.

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

Definiciones de enumeraciones

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

googlefc.offerwall.customchoice.InitializeResponseEnum

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

Miembro de 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. Si se muestra esta respuesta, tu Offerwall nunca se renderizará en la página.
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 muestra esta respuesta.