universalSDK · Документация
Интеграция за 3 минуты
🚀 Быстрый старт
Интеграция universalSDK за 3 минуты.
1. Создайте скрипт в проекте: Project → Scripts → правый клик → Add script. Назовите usdk.js и вставьте:
// usdk.js — загружает universalSDK и добавляет usdkInit() const USDK_URL = "https://universalsdk.ru/sdk/v1/usdk.js"; let rt = null; runOnStartup(r => { rt = r; }); globalThis.usdkInit = async (appID, apiKey) => { if (!globalThis.usdk) await new Promise((ok, no) => { const s = document.createElement("script"); s.src = USDK_URL; s.onload = ok; s.onerror = no; document.head.appendChild(s); }); return usdk.boot(appID, apiKey, rt); };
2. Инициализируйте SDK: Event Sheet → правый клик → Add action → Add JavaScript:
usdkInit("APP_ID", "API_KEY");
APP_ID и API_KEY → консоль разработчика → зарегистрируйте игру. Готово! Все методы ниже доступны через usdk.* в любом Add JavaScript.
runtime.globalVars.xxx — создайте одноимённую переменную в Project → Global variables (Number или String).
📢 Реклама
Rewarded, Interstitial и Banner — единый API для всех платформ.
🎁 Rewarded (за вознаграждение)
usdk.showRewarded("100 coins");
Колбэки: On_Rewarded_Show, On_Rewarded_Success, On_Rewarded_Close, On_Rewarded_Error. Проверьте tag = "100 coins" → выдайте награду в On_Rewarded_Success.
⏸ Interstitial
usdk.showInterstitial("level_end");
Колбэки: On_Interstitial_Show, On_Interstitial_Close. В On_Interstitial_Close — продолжите игру.
📌 Banner
usdk.showBanner(); usdk.hideBanner();
Колбэки: On_Banner_Show, On_Banner_Hide.
🏆 Таблица лидеров
Submit score и показ лидерборда.
usdk.leaderboard.submitScore(runtime.globalVars.coins); usdk.leaderboard.show(10);
Колбэки: On_Score_Submitted и On_Leaderboard_Shown. ⚠️ Переменную coins создайте в Project → Global variables.
💾 Сохранения
Ключ-значение и Dictionary-сохранения.
🔑 Ключ-значение
usdk.save("coins", runtime.globalVars.coins); usdk.load("coins").then(v => { runtime.globalVars.coins = v });
Колбэк: On_Save_Done / On_Load_Done. ⚠️ coins — глобальная переменная (Project → Global variables).
📖 Dictionary
saveDict("yourDictionary"); loadDict("yourDictionary");
Сохраняет/загружает весь C3 Dictionary с указанным именем через On_Save_Done / On_Load_Done.
👤 Игрок
Авторизация и данные игрока.
usdk.authorizePlayer().then(() => { runtime.globalVars.playerName = usdk.adapter.playerName || ""; }); // или просто получить имя usdk.getPlayerName().then(n => { runtime.globalVars.playerName = n || "?"; }); // язык платформы usdk.getLanguage().then(v => { runtime.globalVars.language = v; });
Колбэки: On_Auth_Success / On_Auth_Fail. ⚠️ Переменные playerName, language нужно создать в Project → Global variables.
🎮 Геймплей
Сигналы начала/конца игры и проверка блокировщика рекламы.
usdk.gameplayStart(); usdk.gameplayStop(); usdk.checkAdBlock(); usdk.happyTime();
gameplayStart/Stop — сигналы для платформ (пауза/продолжение). Колбэки: On_AdBlock_Detected, On_HappyTime.
🛠 Утилиты
usdk.getLanguage().then(v => { // "ru" | "en" | "tr"… runtime.globalVars.language = v; }); usdk.clipboardWrite("text"); // копировать в буфер usdk.checkAdBlock(); // проверка AdBlock
📋 API Reference
Полный список методов universalSDK.
| Метод | Параметры | Возвращает |
|---|---|---|
usdkInit(appID, apiKey) | appID: string, apiKey: string | Promise<void> |
usdk.boot(appID, apiKey, runtime) | appID: string, apiKey: string, runtime?: object | Promise<void> |
usdk.showRewarded(tag, onSuccess?, onClose?, onError?) | tag: string, callbacks: functions | Promise<void> |
usdk.showInterstitial(tag, onClose?) | tag: string, onClose: function | Promise<void> |
usdk.showBanner() | — | Promise<void> |
usdk.hideBanner() | — | Promise<void> |
usdk.leaderboard.submitScore(score) | score: number | Promise<object> |
usdk.leaderboard.show(limit?) | limit: number (default 10) | void |
usdk.save(key, value) | key: string, value: any | Promise<void> |
usdk.load(key) | key: string | Promise<any> |
saveDict(name) | name: string (C3 Dictionary) | Promise<void> |
loadDict(name) | name: string (C3 Dictionary) | Promise<void> |
usdk.authorizePlayer() | — | Promise<void> |
usdk.getPlayerName() | — | Promise<string> |
usdk.getLanguage() | — | string |
usdk.share(data) | data: {text?: string, url?: string} | Promise<void> |
usdk.inviteFriends() | — | Promise<void> |
usdk.joinCommunity() | — | Promise<void> |
usdk.rateGame() | — | Promise<void> |
usdk.addToFavorites() | — | Promise<void> |
usdk.clipboardWrite(text) | text: string | Promise<void> |
usdk.gameplayStart() | — | Promise<void> |
usdk.gameplayStop() | — | Promise<void> |
usdk.checkAdBlock() | — | Promise<boolean> |
usdk.happyTime() | — | Promise<void> |
🔗 Социальные функции
Share, Invite, Join Community, Rate.
Колбэки:
On_Share_Done,On_Invite_Done,On_Join_Done/On_Join_Fail,On_Rate_Done,On_AddedToFav.