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:
Ative a opção "Opção personalizada" para seu Offerwall na guia Privacidade e mensagens do Ad Manager.
Adicione JavaScript personalizado entre as tags
<head>
e</head>
do site em que você publicou o Offerwall.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. |