Пример
Ниже приведены примеры настройки SDK Яндекс Игр при синхронном и асинхронном подключении.
Синхронное подключение
Асинхронное подключение
Особенности примера:
- Для первого вызова рекламы callback-функции не заданы.
- Для второго и всех последующих вызовов заданы все возможные callback-функции.
- Кнопке Показать рекламу присвоен обработчик события
'click'(вызов рекламы при каждом нажатии кнопки).
1<!DOCTYPE html>
2<html>
3 <head>
4 <meta charset="UTF-8" />
5 <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
6 <meta name="mobile-web-app-capable" content="yes" />
7 <meta name="apple-mobile-web-app-capable" content="yes" />
8 <title>Пример страницы с синхронным подключением SDK</title>
9 <script src="/sdk.js"></script>
10 <script>
11 YaGames.init()
12 .then((ysdk) => {
13 ysdk.adv.showFullscreenAdv();
14
15 const buttonElem = document.querySelector('#button');
16
17 let commonCounter = 0;
18 buttonElem.addEventListener('click', () => {
19 let counter = 0;
20
21 function getCallback(callbackName) {
22 return () => {
23 counter += 1;
24 commonCounter += 1;
25
26 console.log(`showFullscreenAdv; callback ${callbackName}; ${counter} call`);
27 };
28 }
29
30 ysdk.adv.showFullscreenAdv({
31 callbacks: {
32 onClose: getCallback('onClose'),
33 onOpen: getCallback('onOpen'),
34 onError: getCallback('onError')
35 }
36 });
37 });
38 });
39 </script>
40 </head>
41 <body>
42 <button id="button">Показать рекламу</button>
43 </body>
44</html>
Особенности примера:
- Для первого вызова рекламы задана callback-функция onClose.
- Для второго и последующих вызовов заданы все возможные callback-функции.
- В callback-функцию
onCloseдобавлен код, который будет выполняться после закрытия рекламного блока. - Все ошибки, возникающие при работе SDK или при выполнении callback-функций, передаются функции onError.
- Кнопке Показать рекламу присвоен обработчик события
'click'(вызов рекламы при каждом нажатии кнопки).
1<!DOCTYPE html>
2<html>
3 <head>
4 <meta charset="UTF-8" />
5 <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
6 <meta name="mobile-web-app-capable" content="yes" />
7 <meta name="apple-mobile-web-app-capable" content="yes" />
8 <title>Пример страницы с асинхронным подключением SDK</title>
9 <script>
10 let ysdk;
11
12 function initSDK() {
13 YaGames.init()
14 .then((ysdk_) => {
15 ysdk = ysdk_;
16 ysdk.adv.showFullscreenAdv({
17 callbacks: {
18 onClose: (wasShown) => {
19 console.info('First close');
20 }
21 }
22 });
23 });
24 }
25
26 document.addEventListener('DOMContentLoaded', () => {
27 const buttonElem = document.querySelector('#button');
28
29 let commonCounter = 0;
30 buttonElem.addEventListener('click', () => {
31 let counter = 0;
32
33 function getCallback(callbackName) {
34 return () => {
35 counter += 1;
36 commonCounter += 1;
37
38 if (commonCounter % 3 === 0) {
39 throw new Error(`Test error in ${callbackName}, everything okay, it should not abort other code execution`);
40 }
41
42 console.info(`showFullscreenAdv; callback ${callbackName}; ${counter} call`);
43 };
44 }
45
46 function makeSomethingImportant() {
47 console.info('It\'s very important \'console.info\'');
48 }
49
50 if (ysdk) {
51 ysdk.adv.showFullscreenAdv({
52 callbacks: {
53 onClose: makeSomethingImportant,
54 onOpen: getCallback('onOpen'),
55 onError: function (error) {
56 console.error(error);
57 }
58 }
59 });
60 } else {
61 makeSomethingImportant();
62 }
63 });
64 });
65 </script>
66 </head>
67 <body>
68 <!-- Yandex Games SDK -->
69 <script>
70 (function (d) {
71 var t = d.getElementsByTagName('script')[0];
72 var s = d.createElement('script');
73 s.src = '/sdk.js';
74 s.async = true;
75 t.parentNode.insertBefore(s, t);
76 s.onload = initSDK;
77 })(document);
78 </script>
79 <button id="button">Показать рекламу</button>
80 </body>
81</html>
onClose— вызывается при закрытии рекламы, после ошибки, а также, если реклама не открылась по причине слишком частого вызова. Используется с аргументомwasShown(тип:boolean), по значению которого можно узнать была ли показана реклама.onOpen— вызывается при успешном открытии рекламы.onError— вызывается при возникновении ошибки. Объект ошибки передается в callback-функцию.
onClose — вызывается при закрытии рекламы, после ошибки, а также, если реклама не открылась по причине слишком частого вызова. Используется с аргументом wasShown (тип: boolean), по значению которого можно узнать была ли показана реклама.
onError — вызывается при возникновении ошибки. Объект ошибки передается в callback-функцию.
onOpen — вызывается при успешном открытии рекламы.
Была ли статья полезна?
Предыдущая
Следующая