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