API специального выбора Offerwall

Введение

API Offerwall Custom Choice позволяет вам интегрировать собственное решение по монетизации с Offerwall в Google Ad Manager .

Чтобы интегрировать собственное решение для монетизации с Offerwall, выполните следующие шаги по настройке Custom Choice . Вкратце:

  1. Включите опцию «Пользовательский выбор» для вашего Offerwall на вкладке «Конфиденциальность и сообщения» в Менеджере объявлений.

  2. Добавьте пользовательский JavaScript между тегами <head> и </head> сайта, на котором вы опубликовали свой Offerwall.

  3. Создайте объект CustomOfferwallChoice , как определено в следующих разделах, и зарегистрируйте его в вашем Offerwall в окне.

Пример кода

Чтобы быстро приступить к работе, ознакомьтесь с этим рабочим примером реализации API пользовательского выбора Offerwall.

Использование API

CustomOfferwallChoice — это объект JavaScript, который вы подключаете к своему Offerwall для интеграции вашей пользовательской реализации монетизации.

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

Определения методов

В этом разделе описывается каждый метод, который требуется реализовать с помощью CustomOfferwallChoice .

инициализировать

initialize(params: InitializeParams ): Promise< InitializeResponseEnum >

Инициализируйте ваше собственное решение для монетизации. Эта функция вызывается перед любой другой функцией и может быть вызвана не более одного раза при загрузке страницы.

Пример

  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);
  }

показывать

show(): Promise<boolean>

Предоставьте своё индивидуальное решение для монетизации и обработайте действия пользователя, связанные с монетизацией. Этот метод вызывается вашим Offerwall, когда пользователь выбирает нужный вариант. Монетизация может осуществляться в любой форме, включая подписку, микроплатежи, рекламу с вознаграждением и многое другое. При вызове Offerwall скрывается до тех пор, пока это обещание не будет выполнено, а ваш CustomOfferwallChoice отвечает за блокировку контента страницы в это время. После выполнения этого обещания ваш CustomOfferwallChoice должен быть полностью скрыт с веб-страницы.

После разрешения обещания функции show() необходимо:

  • Скройте ваше готовое решение по монетизации.

  • Возвращает логическое значение, указывающее, получил ли пользователь доступ к содержимому страницы:

    • true : Пользователь получил доступ к содержимому страницы. В этом случае ваш Offerwall не будет отображаться повторно после разрешения обещания.
    • false : Пользователь не получил доступ к содержимому страницы. В этом случае ваш Offerwall будет отображен повторно после разрешения обещания.

Пример

  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);
  }

Регистрация индивидуального выбора

Регистрация включает передачу созданного вами объекта CustomOfferwallChoice в следующий реестр окон: window.googlefc.offerwall.customchoice.registry

Пример

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

Определения типов API

В этом разделе описывается каждый тип данных в API.

Определения объектов

В этом разделе описывается каждое определение объекта в API.

InitializeParams

Тип объекта параметра для функции инициализации .

Свойство Тип Описание
offerwallLanguageCode string | undefined Код языка вашего Offerwall, который обслуживается, как определено BCP 47 .

Определения перечислений

В этом разделе описывается каждое определение перечисления в API.

googlefc.offerwall.customchoice.InitializeResponseEnum

Тип перечисления ответа для функции инициализации .

Член перечисления Описание
CUSTOM_CHOICE_DISABLED Отключите возможность выбора в вашем Offerwall. Если опция выбора отключена, ваш Offerwall может работать только
отображается с другими подходящими вариантами; если другие подходящие варианты отсутствуют, ваш Offerwall никогда не будет отображаться на странице.
ACCESS_GRANTED Предоставьте пользователю доступ к странице при её загрузке. Если будет возвращён этот ответ, ваш Offerwall никогда не будет отображаться на странице.
ACCESS_NOT_GRANTED Не предоставляйте пользователю доступ к странице при её загрузке. Ваш Offerwall будет отображаться на странице, если будет получен этот ответ.