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:
Habilita la opción "Selección personalizada" para tu Offerwall desde la pestaña Privacidad y mensajería en Ad Manager.
Agrega JavaScript personalizado entre las etiquetas
<head>
y</head>
del sitio en el que publicaste tu Offerwall.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. |