Реклама
Вы можете получать доход от размещения рекламных блоков в своих играх. Для этого:
- Изучите особенности и рекомендации по размещению рекламы.
- Настройте вызов рекламы с помощью SDK.
- Подключите монетизацию в Консоли разработчика Яндекс Игр.
Особенности и рекомендации по размещению рекламы
- Размещайте вызов рекламы таким образом, чтобы пользователь понимал, что это не часть игры, а рекламный блок.
- Рекламу рекомендуется показывать после пользовательского действия или по таймеру, если прохождение уровня занимает больше 5 минут. Подробнее см. на странице Расположение рекламы.
- Частота вызова видеорекламы с вознаграждением (rewarded video) не ограничена.
- Частота вызова полноэкранного блока рекламы управляется платформой Яндекс Игры.
Внимание
Рекламная сеть Яндекса считает случайные клики пользователей по блокам рекламы признаком рекламного фрода и снижает доход от рекламы в игре.
Чтобы избежать этого, не вызывайте показ рекламы, когда пользователь активно взаимодействует с игрой и может нажать на блок рекламы ненамеренно.
Пример неправильного вызова:
setInterval(() => ysdk.adv.showFullscreenAdv(), 180000)
Настройка вызова рекламы
Полноэкранный блок рекламы
Полноэкранный блок рекламы — блок с рекламой, который полностью закрывает приложение и показывается между запросом какой-то информации пользователем (например, при переходе на следующий уровень игры) и ее получением.
Чтобы вызвать рекламу, используйте метод ysdk.adv.showFullscreenAdv().
Сигнатура метода:
1function showFullscreenAdv(callbacks?: {
2 onOpen?: () => void;
3 onClose?: (wasShown: boolean) => void;
4 onError?: (error: object) => void;
5}) => void {}
В параметре callbacks можно передать опциональные callback-функции:
onOpen— вызывается при успешном открытии рекламы.onClose— вызывается при закрытии рекламы, после ошибки, а также, если реклама не открылась по причине слишком частого вызова. Используется с аргументомwasShown(типboolean), по значению которого можно узнать, была ли показана реклама.onError— вызывается при возникновении ошибки. Объект ошибки передается в callback-функцию.
Пример
1const ysdk = await YaGames.init();
2
3ysdk.adv.showFullscreenAdv({
4 callbacks: {
5 onOpen: () => console.log('Реклама открыта.'),
6 onClose: (wasShown) => console.log(wasShown ? 'Показана и закрыта.' : 'Не показана.'),
7 onError: (error) => console.log('Ошибка вызова.'),
8 }
9})
Видеореклама с вознаграждением (rewarded video)
Видео с вознаграждением — блок с видеорекламой, за просмотр которого пользователь получает награду, например внутриигровую валюту.
Чтобы вызвать рекламу, используйте метод ysdk.adv.showRewardedVideo().
Сигнатура метода:
1function showRewardedVideo(callbacks?: {
2 onOpen?: () => void;
3 onRewarded?: () => void;
4 onClose?: (wasShown: boolean) => void;
5 onError?: (error: object) => void;
6}) => void {}
В параметре callbacks можно передать опциональные callback-функции:
onOpen— вызывается при отображении видеорекламы на экране.onRewarded— вызывается, когда засчитывается просмотр видеорекламы. Укажите в этой функции, какую награду пользователь получит после просмотра.onClose— вызывается при закрытии видеорекламы.onError— вызывается при возникновении ошибки. Объект ошибки передается в callback-функцию.
Пример
1const ysdk = await YaGames.init();
2
3ysdk.adv.showRewardedVideo({
4 callbacks: {
5 onOpen: () => console.log('Реклама открыта.'),
6 onRewarded: () => console.log('Пользователь получил награду.'),
7 onClose: (wasShown) => console.log(wasShown ? 'Показана и закрыта.' : 'Не показана.'),
8 onError: (error) => console.log('Ошибка вызова.'),
9 }
10})
Включение показа стики-баннера
Стики-баннер — блок с рекламой, который показывается во время игры. Чтобы включить показ стики-баннера:
- Откройте Консоль разработчика и перейдите на вкладку Реклама.
- В блоке Sticky-баннеры настройте отображение баннеров:
- Для мобильных устройств:
- Sticky-баннер в портретной ориентации — выберите расположение Внизу или Вверху.
- Sticky-баннер в альбомной ориентации — выберите расположение Внизу, Вверху или Справа.
- Для компьютеров — включите опцию Sticky-баннер на десктопе. Баннер будет показываться справа.
- Для мобильных устройств:
Управление показом стики-баннера
По умолчанию стики-баннер появляется при запуске игры и отображается всю сессию. Чтобы управлять показом стики-баннера с помощью методов SDK, включите опцию Использовать API для показа sticky-баннера.
ysdk.adv.getBannerAdvStatus()
Получить текущий статус стики-баннера.
Сигнатура метода:
1function getBannerAdvStatus(): Promise<{
2 stickyAdvIsShowing: boolean;
3 reason?: 'ADV_IS_NOT_CONNECTED' | 'UNKNOWN';
4}> {}
Возвращает статус отображения стики-баннера stickyAdvIsShowing. Если баннер не показывается, также возвращает опциональное поле reason, которое указывает на причину отсутствия банера:
ADV_IS_NOT_CONNECTED— не подключены баннеры.UNKNOWN— ошибка показа рекламы на стороне Яндекса.
ysdk.adv.showBannerAdv()
Показать стики-баннер.
Сигнатура метода:
1function showBannerAdv(): Promise<{
2 stickyAdvIsShowing: boolean;
3 reason?: 'ADV_IS_NOT_CONNECTED' | 'UNKNOWN';
4}>
Возвращаемые значения аналогичны значениям ysdk.adv.getBannerAdvStatus().
ysdk.adv.hideBannerAdv()
Скрыть стики-баннер.
Сигнатура метода:
1function hideBannerAdv(): Promise<{
2 stickyAdvIsShowing: boolean;
3}>
Возвращает статус отображения стики-баннера stickyAdvIsShowing.
Пример
1const ysdk = await YaGames.init();
2
3const { stickyAdvIsShowing , reason } = await ysdk.adv.getBannerAdvStatus();
4
5if (stickyAdvIsShowing) {
6 // Реклама показывается.
7} else if (reason) {
8 // Реклама не показывается.
9 console.log(reason);
10} else {
11 ysdk.adv.showBannerAdv();
12}
Примечание
Сотрудники службы поддержки помогают разместить готовую игру на платформе Яндекс Игр. На прикладные вопросы о разработке и тестировании предметно ответят другие разработчики в Сообществе в Телеграме.
Если при использовании SDK Яндекс Игр вы столкнулись с проблемой или у вас появился вопрос, обратитесь в службу поддержки: