Перейти к содержимому
izy.gg
··

Документация izy.gg SDK

Один тег script даёт вашей HTML5- или WebGL-игре рекламу, которая приносит доход, облачные сохранения, язык игрока и управление звуком. SDK без зависимостей и работает и вне izy.gg, поэтому разрабатывать можно локально.

Быстрый старт

Добавьте скрипт в index.html и один раз вызовите IzySDK.init(). Он всегда завершается успешно: на izy.gg подключается к сайту, в любом другом месте работает автономно с тестовой рекламой и локальными сохранениями.

<script src="https://izy.gg/sdk/v1.js"></script>
<script>
  (async () => {
    const izy = await IzySDK.init();   // always resolves, also outside izy.gg

    // Language and sound from izy.gg
    game.setLanguage(izy.locale);      // "en", "ru", …
    game.mute(izy.muted);
    izy.on("audio", ({ muted }) => game.mute(muted));

    // Loading screen
    izy.loading(40);                   // 0..100
    await game.load();
    izy.ready();
  })();
</script>

Справочник API

Всё доступно на объекте, который возвращает IzySDK.init():

  • izy.locale: язык игрока на izy.gg ("en", "ru", …).
  • izy.device: "desktop", "mobile" или "tablet".
  • izy.user: { name, avatar } вошедшего игрока или null.
  • izy.muted: выключил ли игрок звук на сайте. izy.on("audio", ({ muted }) => …) сообщает об изменениях.
  • izy.test: true вне izy.gg и в предпросмотре портала (реклама тестовая, ничего не засчитывается).
  • izy.loading(progress) и izy.ready(): управляют экраном загрузки izy.gg.
  • izy.gameplayStart() и izy.gameplayStop(): сообщают, когда идёт сам геймплей. Реклама никогда не прерывает игру.
  • izy.ads.interstitial() и izy.ads.rewarded(): см. «Реклама».
  • izy.save(data) и izy.load(): см. «Сохранения».
  • izy.happyTime(): момент радости, например рекорд или пройденный уровень.
  • izy.on("pause" | "resume", callback): вокруг каждой рекламы. По "pause" выключайте звук и ставьте игру на паузу.

Реклама

Межстраничная реклама показывается между уровнями или после проигрыша. izy.gg бережёт игроков: никакой межстраничной рекламы в первые 90 секунд и не чаще раза в 2 минуты, как бы часто её ни запрашивала игра. Вызывайте её в естественных паузах и продолжайте, когда промис завершится.

Реклама за вознаграждение всегда должна быть выбором игрока (кнопка с понятной наградой), а награда выдаётся, только если промис вернул true.

// Between levels: izy.gg decides if an ad fits (at most one every 2 minutes)
izy.gameplayStop();
await izy.ads.interstitial();          // → true if an ad was shown
izy.gameplayStart();

// Only when the player taps "Watch an ad for +1 life"
if (await izy.ads.rewarded()) {        // → true only if watched to the end
  player.lives += 1;
}

// izy.gg pauses your game around every ad
izy.on("pause", () => game.pause());
izy.on("resume", () => game.resume());

Облачные сохранения

Вошедшие игроки сохраняют прогресс на всех устройствах, гости в браузере. Всегда дожидайтесь load() перед первым уровнем.

// Any JSON up to 256 KB. Signed-in players get it on every device.
await izy.save({ level: 7, coins: 1200 });

const progress = await izy.load();     // → your object, or null
if (progress) game.restore(progress);

Unity, Phaser, Construct, Godot

SDK написан на обычном JavaScript, поэтому подходит любой движок с HTML5-экспортом. Сборки Unity WebGL вызывают его через плагин .jslib:

// Assets/Plugins/WebGL/izy.jslib
mergeInto(LibraryManager.library, {
  IzyInterstitial: function () {
    IzySDK.init().then(function (izy) {
      izy.ads.interstitial().then(function () {
        SendMessage("IzyBridge", "OnAdDone", "");
      });
    });
  },
  IzyRewarded: function () {
    IzySDK.init().then(function (izy) {
      izy.ads.rewarded().then(function (ok) {
        SendMessage("IzyBridge", "OnRewarded", ok ? "1" : "0");
      });
    });
  },
});
// Add <script src="https://izy.gg/sdk/v1.js"></script> to your WebGL template's index.html.

// Phaser
this.sound.mute = izy.muted;
izy.on("audio", ({ muted }) => (this.sound.mute = muted));

// Construct 3: call the functions above from "Execute JavaScript" actions.
// Godot (HTML5 export): JavaScriptBridge.eval("IzySDK.init().then(i => i.ads.interstitial())")

Требования к сборке

  • Zip с index.html в корне (или в одной папке). До 100 МБ в архиве, 300 МБ в распакованном виде и 3000 файлов.
  • Только относительные пути, всё нужное игре лежит в архиве. Ничего не загружайте по http.
  • Без исполняемых файлов и серверных скриптов (.exe, .php, .sh и подобные отклоняются).
  • Без своей аналитики, трекеров и рекламы: рекламой занимается izy.gg, а приватность игроков защищают наши правила согласия.
  • Подстраивается под любой размер окна и работает с сенсорным управлением, если отмечена как подходящая для телефонов. Игра запускается в изолированной рамке на games.izy.gg.
  • Unity WebGL: сжатие Brotli или Gzip подходит, decompression fallback не нужен.

Тестирование

Локально: откройте index.html через любой локальный сервер. SDK работает автономно, показывает 3-секундную тестовую рекламу и возвращает true для рекламы за вознаграждение.

В портале: после загрузки сборки нажмите «Проверить сборку». Она запускается так же, как на izy.gg, с тестовой рекламой, до отправки на проверку.

Проверка

Каждую новую игру и каждую новую версию проверяет человек, обычно в течение 2 рабочих дней. Мы отклоняем игры, которые:

  • не загружаются, вылетают или неиграбельны на заявленных устройствах;
  • содержат вредоносный код, майнеры, фишинг или скрытые перенаправления;
  • показывают контент для взрослых, разжигающий ненависть или незаконный, либо используют чужие материалы без прав;
  • показывают свою рекламу, ссылки на другие игровые сайты или просят личные данные;
  • злоупотребляют рекламой за вознаграждение или заставляют смотреть рекламу.

Доход и выплаты

Вы получаете свою долю (по умолчанию 70%) дохода от рекламы внутри ваших игр. Доход появляется в портале ежедневно, последние два дня предварительные и фиксируются в течение 48 часов.

Запросите выплату на странице «Доход и выплаты», когда баланс достигнет минимума (по умолчанию 50 USD). Мы платим в течение 10 рабочих дней через PayPal, Payoneer, Wise, USDT (TRC-20) или банковским переводом.

Помощь

Вопросы о SDK, проверке или выплатах: direct@izy.gg.