GamePush (ранее GameScore) расширение для движка Defold (для версии Defold >= 1.8.0). GamePush это сервис для удобной публикации HTML5 игр на разных платформах с одним SDK. Сервисом поддерживается локальная отладка игры.
Внимание! Если используется версия Defold >= 1.4.0 и < 1.8.0 используйте версию плагина v1.1.5
- Установка
- Инициализация
- API
- Вызов нативных методов платформы
- Заглушка для других платформ, отличных от html
- Заглушка для нативных вызовов
Вы можете использовать его в своем собственном проекте, добавив этот проект в качестве зависимости библиотеки Defold.
В файл game.project необходимо добавить раздел gamepush и указать id и token игры, остальные параметры можно опустить:
[gamepush]
id = идентификатор игры
token = токен
description = There are not enough words to describe the awesomeness of the game
image = /img/ogimage.png
Дополнительные параметры: (doc)
Для начала необходимо инициализировать SDK с помощью метода init:
local gamepush = require("gamepush.gamepush")
gamepush.init(function(success)
if success then
-- инициализация прошла успешно
else
-- ошибка инициализации
end
end)
Для подписки на событие необходимо определить соответсвующий метод таблицы callbacks:
local gamepush = require("gamepush.gamepush")
local function ads_start()
-- выключаем звук
end
local function ads_close(success)
-- включаем звук
end
local function ads_reward()
-- подкидываем золотишка игроку
end
-- функции событий можно назначить до инициализации SDK
gamepush.ads.callbacks.start = ads_start
gamepush.ads.callbacks.close = ads_close
gamepush.ads.callbacks.rewarded_reward = ads_reward
-- инициализация SDK
gamepush.init(function(success)
if success then
-- показываем прелоадер
gamepush.ads.show_preloader(function(result)
-- реклама закрыта, можно что-то делать
end)
-- что то делаем еще
-- показываем рекламу за вознаграждение
gamepush.ads.show_rewarded_video()
-- показываем рекламу за вознаграждение с использованием колбека
gamepush.ads.show_rewarded_video(function(result)
if result then
-- подкидываем игроку кристаллов
end
end)
else
-- ошибка инициализации
end
end)
GamePush JS SDK | GamePush Lua API |
---|---|
Инициализация (doc) | |
window.onGPInit |
init(callback) Инициализация модуля callback(result): функция обратного вызова |
Общие возможности (doc) | |
Язык (doc) | |
gp.language |
language() Выбранный язык в формате ISO 639-1 |
gp.changeLanguage(languagecode) |
changelanguage(languagecode) Устанавливает язык в формате ISO 639-1 languagecode: код языка |
Константы языков: | languages ENGLISH RUSSIAN FRENCH ITALIAN GERMAN SPANISH CHINESE PORTUGUESE KOREAN JAPANESE TURKISH ARAB HINDI INDONESIAN |
Системная информация (doc) | |
gp.isMobile |
is_mobile() Мобильное устройство? |
gp.isPortrait |
is_portrait() Режим экрана: портретный/альбомный? |
gp.isDev |
is_dev() В разработке? |
gp.isAllowedOrigin |
is_allowed_origin() Хост игры в доверенных источниках? |
--- | get_plugin_version() Возвращает версию плагина |
Серверное время (doc) | |
gp.serverTime |
get_server_time() Возвращает серверное время в формате ISO 8601 |
Пауза (doc) | |
gp.isPaused |
is_paused() На паузе? |
gp.pause() |
pause() Поставить на паузу |
gp.resume() |
resume() Возобновить |
События: | |
gp.on('change:orientation', (isPortrait) => {}) |
callbacks.change_orientation(isPortrait) Событие смены ориентации экрана |
gp.on('pause', () => {}) |
callbacks.pause() Поставили на паузу |
gp.on('resume', () => {}) |
callbacks.resume() Возобновили игру |
gp.on('event:connect', () => {}) |
callbacks.event_connect() Уведомление о других окнах |
Фоновое изображение игры (doc) | |
gp.setBackground(parameters) |
set_background(parameters) Установить фоновое изображение игры parameters: таблица с параметрами |
Старт игры (doc) | |
gp.gameStart() |
game_start() Старт игры |
gp.isGameStarted() |
is_game_started() Запущена ли игра (загрузка завершена) |
Геймплей (doc) | |
gp.gameplayStart() |
gameplay_start() Запуск геймплея |
gp.gameplayStop() |
gameplay_stop() Завершение геймплея |
gp.isGameplay() |
is_game_play() Геймплей запущен? |
Приложение (doc) | |
gp.app.title |
app.title() Название игры |
gp.app.description |
app.description() Описание |
gp.app.image |
app.image() Изображение |
gp.app.url |
app.url() Адрес |
Отзывы (doc) | |
gp.app.requestReview() |
app.request_review() Предложить игроку оставить отзыв на игру |
gp.app.canRequestReview |
app.can_request_review() Проверить поддержку возможности оставить отзыв на игру |
gp.app.isAlreadyReviewed |
app.is_already_reviewed() Проверить был ли оставлен отзыв |
Ярлык / Избранное (doc) | |
gp.app.addShortcut() |
app.add_shortcut() Предложить игроку создать ярлык или добавить игру в избранное |
gp.app.canAddShortcut |
app.can_add_shortcut() Проверить поддержку возможности создать ярлык или добавить игру в избранное |
Платформа (doc) | |
gp.platform.type |
platform.type() Тип платформы |
gp.platform.hasIntegratedAuth |
platform.has_integrated_auth() Возможность авторизации |
gp.platform.isExternalLinksAllowed |
platform.is_external_links_allowed() Возможность размещать внешние ссылки |
gp.platform.isSecretCodeAuthAvailable |
platform.is_secret_code_auth_available() Доступен секретный код авторизации |
gp.platform.getNativeSDK() |
platform.call_native_sdk(method, parameters, callback) Вызывает нативный метод для платформы подобнее method: метод или поле объекта нативной платформы parameters: параметры вызываемого метода callback: функция обратного вызова |
Константы платформ: | NONE CRAZY_GAMES GAME_DISTRIBUTION GAME_MONETIZE OK SMARTMARKET VK YANDEX GAMEPIX POKI VK_PLAY WG_PLAYGROUND |
Игрок (doc) | |
Менеджер игрока (doc) | |
gp.player.isLoggedIn |
player.is_logged_in() Игрок авторизован |
gp.player.hasAnyCredentials |
player.has_any_credentials() Игрок использует один из способов входа (кука, авторизация, секретный код) |
gp.player.isLoggedInByPlatform |
player.is_logged_in_by_platform() Игрок авторизован на платформе |
gp.player.sync() gp.player.sync({ override: true }) |
player.sync(parameters, callback) Синхронизирует игрока parameters = {override = boolean или nil, silent = boolean или nil} или nil callback(): функция обратного вызова или nil |
gp.player.load() |
player.load(callback) Принудительная загрузка игрока, с перезаписью локального callback(): функция обратного вызова или nil |
gp.player.login() |
player.login(callback) Вход игрока callback(result): функция обратного вызова или nil |
gp.player.fetchFields() |
player.fetch_fields(callback) Получить список полей игрока callback(): функция обратного вызова или nil |
Состояние игрока (doc) | |
gp.player.id |
player.id() ID игрока |
gp.player.score |
player.score() Очки игрока |
gp.player.name |
player.name() Имя игрока |
gp.player.avatar |
player.avatar() Ссылка на аватар игрока |
gp.player.isStub |
player.is_stub() Заглушка - пустой ли игрок или данные в нём отличаются умолчательных |
gp.player.fields |
player.fields() Поля игрока |
gp.player.get(key) |
player.get(key) Получить значение поля key key = string |
gp.player.set(key, value) |
player.set(key, value) Установить значение поля key key = string value = string, number или boolean |
gp.player.add(key, value) |
player.add(key, value) Добавить значение к полю key key = string value = string, number или boolean |
gp.player.toggle(key) |
player.toggle(key) Инвертировать состояние поля key key = string value = string, number или boolean |
gp.player.has(key) |
player.has(key) Проверить есть ли поле key и оно не пустое (не 0, '', false, null, undefined) key = string |
gp.player.toJSON() |
player.to_json() Возвращает состояние игрока объектом (таблицей) |
gp.player.fromJSON(parameters) |
player.from_json(parameters) Устанавливает состояние игрока из объекта (таблицы) parameters = {key = value, key2 = value2} |
gp.player.reset() |
player.reset() Сбрасывает состояние игрока на умолчательное |
gp.player.remove() |
player.remove() Удаляет игрока — сбрасывает поля и очищает ID |
gp.player.getField(key) |
player.get_field(key) Получить поле по ключу key key = string |
gp.player.getFieldName(key) |
player.get_field_name(key) Получить переведенное имя поля по ключу key key = string |
gp.player.getFieldVariantName(key, value) |
player.get_field_variant_name(key, value) Получить переведенное имя варианта поля (enum) по ключу key и его значению value key = string value = string |
Статистика игрока (doc) | |
gp.player.stats.activeDays |
player.stats.active_days() Количество дней в игре |
gp.player.stats.activeDaysConsecutive |
player.stats.active_days_consecutive() Количество дней в игре подряд |
gp.player.stats.playtimeToday |
player.stats.playtime_today() Количество секунд, проведенных в игре сегодня |
gp.player.stats.playtimeAll |
player.stats.playtime_all() Количество секунд, проведенных в игре за все время |
Данные игрока (doc) | |
gp.players.fetch(parameters) |
players.fetch(parameters, callback) Получить данные игроков parameters = таблица с идентификаторами игроков callback(result): функция обратного вызова |
События: | |
gp.player.on('sync', (success) => {}) |
player.callbacks.sync(success) Синхронизация игрока |
gp.player.on('load', (success) => {}) |
player.callbacks.load(success) Загрузка игрока |
gp.player.on('login', (success) => {}) |
player.callbacks.login(success) Вход игрока |
gp.player.on('fetchFields', (success) => {}) |
player.callbacks.fetch_fields(success) Получение полей игрока |
gp.player.on('change', () => {}) |
player.callbacks.change() Изменение полей игрока |
Покупки (doc) | |
Платежи (doc) | |
gp.payments.isAvailable |
payments.is_available() Проверка поддержки платежей на платформе |
gp.payments.products |
payments.products() Список продуктов возвращает таблицу с продуктами |
gp.payments.purchases |
payments.purchases() Список покупок возвращает таблицу с покупками |
gp.payments.purchase(parameters) |
payments.purchase(parameters, callback) Покупка продукта parameters: таблица параметров callback(result): функция обратного вызова или nil |
gp.payments.consume(parameters) |
payments.consume(parameters, callback) Использование продукта parameters: таблица параметров callback(result): функция обратного вызова или nil |
gp.payments.has(product) |
payments.has(product) Проверка наличия покупки product: id или tag продукта |
gp.payments.fetchProducts() |
payments.fetch_products(callback) Получение списка продуктов callback(result): функция обратного вызова |
События: | |
gp.payments.on('purchase', (result) => {}) |
payments.callbacks.purchase(result) Покупка продукта |
gp.payments.on('error:purchase', (error) => {}) |
payments.callbacks.error_purchase(error) Ошибка покупки продукта |
gp.payments.on('consume', (result) => {}) |
payments.callbacks.consume(result) Использование продукта |
gp.payments.on('error:consume', (error) => {}) |
payments.callbacks.error_consume(error) Ошибка использования продукта |
gp.payments.on('fetchProducts', (result) => {}) |
payments.callbacks.fetch_products(result) Получение списка продуктов |
gp.payments.on('error:fetchProducts', (error) => {}) |
payments.callbacks.error_fetch_products(error) Ошибка получения списка продуктов |
Подписки (doc) | |
gp.payments.isSubscriptionsAvailable |
payments.is_subscriptions_available() Проверка поддержки подписки на платформе |
gp.payments.subscribe(parameters) |
payments.subscribe(parameters, callback) Подписка parameters: таблица параметров callback(result): функция обратного вызова или nil |
gp.payments.unsubscribe(parameters) |
payments.unsubscribe(parameters, callback) Отмена подписки parameters: таблица параметров callback(result): функция обратного вызова или nil |
События: | |
gp.payments.on('subscribe', (result) => {}) |
payments.callbacks.subscribe(result) Подписка |
gp.payments.on('error:subscribe', (error) => {}) |
payments.callbacks.error_subscribe(error) Ошибка подписки |
gp.payments.on('unsubscribe', (result) => {}) |
payments.callbacks.unsubscribe(result) Отмена подписки |
gp.payments.on('error:unsubscribe', (error) => {}) |
payments.callbacks.error_unsubscribe(error) Ошибка отмены подписки |
Таблицы лидеров (doc) | |
Таблица лидеров (doc) | |
gp.leaderboard.open() gp.leaderboard.open(parameters) |
leaderboard.open(parameters) Показать таблицу лидеров во внутриигровом оверлее, parameters: таблица параметров вывода или nil |
gp.leaderboard.fetch() gp.leaderboard.fetch(parameters) |
leaderboard.fetch(parameters, callback) Получить таблицу лидеров parameters: таблица параметров вывода или nil callback(leaders): функция обратного вызова |
Рейтинг игрока (doc) | |
gp.leaderboard.fetchPlayerRating() gp.leaderboard.fetchPlayerRating(parameters) |
leaderboard.fetch_player_rating(parameters, callback) Получить рейтинг игрока parameters: таблица параметров вывода или nil callback(leaders): функция обратного вызова |
Изолированная таблица лидеров (doc) | |
gp.leaderboard.openScoped(parameters) |
leaderboard.open_scoped(parameters, callback) Показать изолированную таблицу лидеров во внутриигровом оверлее, parameters: таблица параметров вывода или nil callback(result): функция обратного вызова |
gp.leaderboard.fetchScoped(parameters) |
leaderboard.fetch_scoped(parameters, callback) Получить изолированную таблицу лидеров parameters: таблица параметров вывода или nil callback(leaders): функция обратного вызова |
gp.leaderboard.publishRecord(parameters) |
leaderboard.publish_record(parameters, callback) Публикация рекорда игрока в изолированную таблицу parameters: таблица с параметрами и рекордом для записи callback(result): функция обратного вызова |
Получение рейтинга игрока (doc) | |
gp.leaderboard.fetchPlayerRatingScoped(parameters) |
leaderboard.fetch_player_rating_scoped(parameters, callback) Получить рейтинг игрока в изолированной таблице parameters: таблица параметров вывода callback(leaders): функция обратного вызова |
Каналы (doc) | |
Управление каналами (doc) | |
gp.channels.createChannel(parameters, callback) |
channels.create_channel(parameters, callback) Создать канал parameters: таблица параметров callback(result): функция обратного вызова |
gp.channels.updateChannel(parameters, callback) |
channels.update_channel(parameters, callback) Обновить канал parameters: таблица параметров callback(result): функция обратного вызова |
gp.channels.deleteChannel(parameters, callback) |
channels.delete_channel(parameters, callback) Удалить канал parameters: таблица параметров callback(result): функция обратного вызова |
gp.channels.fetchChannel(parameters, callback) |
channels.fetch_channel(parameters, callback) Получить информацию о канале по ID parameters: таблица параметров callback(result): функция обратного вызова |
gp.channels.fetchChannels(parameters, callback) |
channels.fetch_channels(parameters, callback) Получить список каналов parameters: таблица параметров callback(result): функция обратного вызова |
gp.channels.fetchMoreChannels(parameters, callback) |
channels.fetch_channels(parameters, callback) Подгрузить список каналов parameters: таблица параметров callback(result): функция обратного вызова |
События: | |
gp.channels.on('createChannel', (channel) => {}) |
channels.callbacks.create_channel(channel) Канал создан |
gp.channels.on('error:createChannel', (error) => {}) |
channels.callbacks.error_create_channel(error) Ошибка создания канала |
gp.channels.on('updateChannel', (channel) => {}) |
channels.callbacks.update_channel(channel) Канал обновлен |
gp.channels.on('error:updateChannel', (error) => {}) |
channels.callbacks.error_update_channel(error) Ошибка обновления канала |
gp.channels.on('event:updateChannel', (channel) => {}) |
channels.callbacks.event_update_channel(channel) Уведомление об изменении канала |
gp.channels.on('deleteChannel', () => {}) |
channels.callbacks.delete_channel() Канал удален |
gp.channels.on('error:deleteChannel', (error) => {}) |
channels.callbacks.error_delete_channel(error) Ошибка удаления канала |
gp.channels.on('event:deleteChannel', (channel) => {}) |
channels.callbacks.event_delete_channel(channel) Уведомление об удаления канала |
gp.channels.on('fetchChannel', (channel) => {}) |
channels.callbacks.fetch_channel(channel) Получена информация о канале |
gp.channels.on('error:fetchChannel', (error) => {}) |
channels.callbacks.error_fetch_channel(error) Ошибка получения информации о канале |
gp.channels.on('fetchChannels', (result) => {}) |
channels.callbacks.fetch_channels(result) Получен список каналов |
gp.channels.on('error:fetchChannels', (error) => {}) |
channels.callbacks.error_fetch_channels(error) Ошибка получения списка каналов |
gp.channels.on('fetchMoreChannels', (result) => {}) |
channels.callbacks.fetch_more_channel(result) Подгружен список каналов |
gp.channels.on('error:fetchMoreChannels', (error) => {}) |
channels.callbacks.error_fetch_more_channel(error) Ошибка подгрузки списка каналов |
Готовые чаты (doc) | |
gp.channels.openChat(parameters) |
channels.open_chat(parameters) Вызов окна чата parameters: таблица параметров |
gp.channels.isMainChatEnabled |
payments.is_main_chat_enabled() Проверка возможности показать главный чат |
gp.channels.mainChatId |
payments.main_chat_id() Получить ID главного чата |
События: | |
gp.channels.on('openChat', () => {}) |
channels.callbacks.open_chat() Открыли чат |
gp.channels.on('closeChat', () => {}) |
channels.callbacks.close_chat() Закрыли чат |
gp.channels.on('error:openChat', (error) => {}) |
channels.callbacks.error_open_chat(result) Не удалось открыть чат |
Участники (doc) | |
gp.channels.join(parameters, callback) |
channels.join(parameters, callback) Запрос на вступление в публичный канал parameters: таблица параметров callback(result): функция обратного вызова |
gp.channels.cancelJoin(parameters, callback) |
channels.cancel_join(parameters, callback) Отмена запроса на вступление parameters: таблица параметров callback(result): функция обратного вызова |
gp.channels.leave(parameters, callback) |
channels.leave(parameters, callback) Выход из канала parameters: таблица параметров callback(result): функция обратного вызова |
gp.channels.kick(parameters, callback) |
channels.kick(parameters, callback) Исключение участника из канала parameters: таблица параметров callback(result): функция обратного вызова |
gp.channels.fetchMembers(parameters, callback) |
channels.fetch_members(parameters, callback) Получить участников parameters: таблица параметров callback(result): функция обратного вызова |
gp.channels.fetchMoreMembers(parameters, callback) |
channels.fetch_more_members(parameters, callback) Подгрузить участников parameters: таблица параметров callback(result): функция обратного вызова |
gp.channels.mute(parameters, callback) |
channels.mute(parameters, callback) Мьют игрока в канале parameters: таблица параметров callback(result): функция обратного вызова |
gp.channels.unmute(parameters, callback) |
channels.unmute(parameters, callback) Отменить мьют игрока parameters: таблица параметров callback(result): функция обратного вызова |
События: | |
gp.channels.on('join', (result) => {}) |
channels.callbacks.join(result) Успешно вступил или подал заявку на вступление |
gp.channels.on('error:join', (error) => {}) |
channels.callbacks.error_join(error) Ошибка вступления в канал |
gp.channels.on('event:join', (result) => {}) |
channels.callbacks.event_join(result) Уведомление о вступлении в канал |
gp.channels.on('event:joinRequest', (result) => {}) |
channels.callbacks.event_join_request(result) Уведомление о том, что новый игрок пытается вступить в канал |
gp.channels.on('cancelJoin', (result) => {}) |
channels.callbacks.cancel_join(result) Отмена заявки на вступление |
gp.channels.on('error:cancelJoin', (error) => {}) |
channels.callbacks.error_cancel_join(error) Ошибка отмены заявки на вступление |
gp.channels.on('event:cancelJoin', (result) => {}) |
channels.callbacks.event_cancel_join(result) Уведомление об отмене заявки на вступление |
gp.channels.on('leave', (result) => {}) |
channels.callbacks.leave(result) Успешно покинул канал |
gp.channels.on('error:leave', (error) => {}) |
channels.callbacks.error_leave(error) Ошибка при попытке покинуть канал |
gp.channels.on('event:leave', (result) => {}) |
channels.callbacks.event_leave(result) Уведомление о том, что игрок покинул канал |
gp.channels.on('kick', (result) => {}) |
channels.callbacks.kick(result) Успешно исключен |
gp.channels.on('error:kick', (error) => {}) |
channels.callbacks.error_kick(error) Ошибка при исключении участника из канала |
gp.channels.on('fetchMembers', (result) => {}) |
channels.callbacks.fetch_members(result) Получен список участников |
gp.channels.on('error:fetchMembers', (error) => {}) |
channels.callbacks.error_fetch_members(error) Ошибка получения списка участников |
gp.channels.on('fetchMoreMembers', (result) => {}) |
channels.callbacks.fetch_more_members(result) Подгружен список участников |
gp.channels.on('error:fetchMoreMembers', (error) => {}) |
channels.callbacks.error_fetch_more_members(error) Ошибка подгрузки списка участников |
gp.channels.on('mute', (result) => {}) |
channels.callbacks.mute(result) Успешный мьют игрока |
gp.channels.on('error:mute', (error) => {}) |
channels.callbacks.error_mute(error) Ошибка мьюта игрока |
gp.channels.on('event:mute', (error) => {}) |
channels.callbacks.event_mute(error) Уведомление о мьюте игрока |
gp.channels.on('unmute', (result) => {}) |
channels.callbacks.unmute(result) Успешная отмена мьюта игрока |
gp.channels.on('error:unmute', (error) => {}) |
channels.callbacks.error_unmute(error) Ошибка отмены мьюта игрока |
gp.channels.on('event:unmute', (error) => {}) |
channels.callbacks.event_unmute(error) Уведомление об отмене мьюта игрока |
Приглашения (doc) | |
gp.channels.sendInvite(parameters, callback) |
channels.send_invite(parameters, callback) Отправка приглашения parameters: таблица параметров callback(result): функция обратного вызова |
gp.channels.cancelInvite(parameters, callback) |
channels.cancel_invite(parameters, callback) Отмена приглашения parameters: таблица параметров callback(result): функция обратного вызова |
gp.channels.acceptInvite(parameters, callback) |
channels.accept_invite(parameters, callback) Принять приглашение parameters: таблица параметров callback(result): функция обратного вызова |
gp.channels.rejectInvite(parameters, callback) |
channels.reject_invite(parameters, callback) Отклонить приглашение parameters: таблица параметров callback(result): функция обратного вызова |
gp.channels.fetchInvites(parameters, callback) |
channels.fetch_invites(parameters, callback) Получить список приглашений игрока в каналы parameters: таблица параметров callback(result): функция обратного вызова |
gp.channels.fetchMoreInvites(parameters, callback) |
channels.fetch_more_invites(parameters, callback) Подгрузить список приглашений игрока в каналы parameters: таблица параметров callback(result): функция обратного вызова |
gp.channels.fetchChannelInvites(parameters, callback) |
channels.fetch_channel_invites(parameters, callback) Получить список отправленных приглашений из канала parameters: таблица параметров callback(result): функция обратного вызова |
gp.channels.fetchMoreChannelInvites(parameters, callback) |
channels.fetch_more_channel_invites(parameters, callback) Подгрузить список отправленных приглашений из канала parameters: таблица параметров callback(result): функция обратного вызова |
gp.channels.fetchSentInvites(parameters, callback) |
channels.fetch_sent_invites(parameters, callback) Получить список разосланных приглашений игрокам в каналы parameters: таблица параметров callback(result): функция обратного вызова |
gp.channels.fetchMoreSentInvites(parameters, callback) |
channels.fetch_more_sent_invites(parameters, callback) Подгрузить список разосланных приглашений игрокам в каналы parameters: таблица параметров callback(result): функция обратного вызова |
События: | |
gp.channels.on('sendInvite', (result) => {}) |
channels.callbacks.send_invite(result) Приглашение отправлено |
gp.channels.on('error:sendInvite', (error) => {}) |
channels.callbacks.error_send_invite(error) Ошибка отправки приглашения |
gp.channels.on('event:invite', (result) => {}) |
channels.callbacks.event_invite(result) Уведомление о приглашении игрока |
gp.channels.on('cancelInvite', (result) => {}) |
channels.callbacks.cancel_invite(result) Отмена приглашения |
gp.channels.on('error:cancelInvite', (error) => {}) |
channels.callbacks.error_cancel_invite(error) Ошибка отмены приглашения |
gp.channels.on('event:cancelInvite', (result) => {}) |
channels.callbacks.event_cancel_invite(result) Уведомление об отмене приглашения |
gp.channels.on('acceptInvite', (result) => {}) |
channels.callbacks.accept_invite(result) Успешно принято приглашение |
gp.channels.on('error:acceptInvite', (error) => {}) |
channels.callbacks.error_accept_invite(error) Ошибка принятия приглашения |
gp.channels.on('rejectInvite', (result) => {}) |
channels.callbacks.reject_invite(result) Приглашение отклонено |
gp.channels.on('error:rejectInvite', (error) => {}) |
channels.callbacks.error_reject_invite(error) Ошибка отклонения приглашения |
gp.channels.on('event:rejectInvite', (result) => {}) |
channels.callbacks.event_reject_invite(result) Уведомление об отклонении приглашения |
gp.channels.on('fetchInvites', (result) => {}) |
channels.callbacks.fetch_invites(result) Получен список приглашений |
gp.channels.on('error:fetchInvites', (error) => {}) |
channels.callbacks.error_fetch_invites(error) Ошибка получения списка приглашений |
gp.channels.on('fetchMoreInvites', (result) => {}) |
channels.callbacks.fetch_more_invites(result) Подгружен список приглашений |
gp.channels.on('error:fetchMoreInvites', (error) => {}) |
channels.callbacks.error_fetch_more_invites(error) Ошибка подгрузки списка приглашений |
gp.channels.on('fetchChannelInvites', (result) => {}) |
channels.callbacks.fetch_channel_invites(result) Получен список отправленных приглашений |
gp.channels.on('error:fetchChannelInvites', (error) => {}) |
channels.callbacks.error_fetch_channel_invites(error) Ошибка получения списка отправленных приглашений |
gp.channels.on('fetchMoreChannelInvites', (result) => {}) |
channels.callbacks.fetch_more_channel_invites(result) Подгружен список отправленных приглашений |
gp.channels.on('error:fetchMoreChannelInvites', (error) => {}) |
channels.callbacks.error_fetch_more_channel_invites(error) Ошибка подгрузки списка отправленных приглашений |
gp.channels.on('fetchSentInvites', (result) => {}) |
channels.callbacks.fetch_sent_invites(result) Получен список разосланных приглашений |
gp.channels.on('error:fetchSentInvites', (error) => {}) |
channels.callbacks.error_fetch_sent_invites(error) Ошибка получения списка разосланных приглашений |
gp.channels.on('fetchMoreSentInvites', (result) => {}) |
channels.callbacks.fetch_more_sent_invites(result) Подгружен список разосланных приглашений |
gp.channels.on('error:fetchMoreSentInvites', (error) => {}) |
channels.callbacks.error_fetch_more_sent_invites(error) Ошибка подгрузки списка разосланных приглашений |
Запросы (doc) | |
gp.channels.acceptJoinRequest(parameters, callback) |
channels.accept_join_request(parameters, callback) Принять запрос на вступление parameters: таблица параметров callback(result): функция обратного вызова |
gp.channels.rejectJoinRequest(parameters, callback) |
channels.reject_join_request(parameters, callback) Отклонить запрос на вступление parameters: таблица параметров callback(result): функция обратного вызова |
gp.channels.fetchJoinRequests(parameters, callback) |
channels.fetch_join_requests(parameters, callback) Получить список входящих запросов на вступление в выбранном канале parameters: таблица параметров callback(result): функция обратного вызова |
gp.channels.fetchMoreJoinRequests(parameters, callback) |
channels.fetch_more_join_requests(parameters, callback) Подгрузить список входящих запросов на вступление в выбранном канале parameters: таблица параметров callback(result): функция обратного вызова |
gp.channels.fetchSentJoinRequests(parameters, callback) |
channels.fetch_sent_join_requests(parameters, callback) Получить список разосланных запросов игроком на вступление parameters: таблица параметров callback(result): функция обратного вызова |
gp.channels.fetchMoreSentJoinRequests(parameters, callback) |
channels.fetch_more_sent_join_requests(parameters, callback) Подгрузить список разосланных запросов игроком на вступление parameters: таблица параметров callback(result): функция обратного вызова |
События: | |
gp.channels.on('acceptJoinRequest', (result) => {}) |
channels.callbacks.accept_join_request(result) Успешно принят запрос на вступление |
gp.channels.on('error:acceptJoinRequest', (error) => {}) |
channels.callbacks.error_accept_join_request(error) Ошибка принятия запроса на вступление |
gp.channels.on('rejectJoinRequest', (result) => {}) |
channels.callbacks.reject_join_request(result) Успешно отклонен запрос на вступление |
gp.channels.on('error:rejectJoinRequest', (error) => {}) |
channels.callbacks.error_reject_join_request(error) Ошибка отклонения запроса на вступление |
gp.channels.on('event:rejectJoinRequest', (result) => {}) |
channels.callbacks.event_reject_join_request(result) Уведомление об отклонении запроса на вступление |
gp.channels.on('fetchJoinRequests', (result) => {}) |
channels.callbacks.fetch_join_requests(result) Успешно получен список входящих запросов на вступление |
gp.channels.on('error:fetchJoinRequests', (error) => {}) |
channels.callbacks.error_fetch_join_requests(error) Ошибка получения списка входящих запросов на вступление |
gp.channels.on('fetchMoreJoinRequests', (result) => {}) |
channels.callbacks.fetch_more_join_requests(result) Успешно подгружен список входящих запросов на вступление |
gp.channels.on('error:fetchMoreJoinRequests', (error) => {}) |
channels.callbacks.error_fetch_more_join_requests(error) Ошибка подгрузки списка входящих запросов на вступление |
gp.channels.on('fetchSentJoinRequests', (result) => {}) |
channels.callbacks.fetch_sent_join_requests(result) Успешно получен список разосланных запросов игроком на вступление |
gp.channels.on('error:fetchSentJoinRequests', (error) => {}) |
channels.callbacks.error_fetch_sent_join_requests(error) Ошибка получения списка разосланных запросов игроком на вступление |
gp.channels.on('fetchMoreSentJoinRequests', (result) => {}) |
channels.callbacks.fetch_more_sent_join_requests(result) Успешно подгружен список разосланных запросов игроком на вступление |
gp.channels.on('error:fetchMoreSentJoinRequests', (error) => {}) |
channels.callbacks.error_fetch_more_sent_join_requests(error) Ошибка подгрузки списка разосланных запросов игроком на вступление |
Сообщения (doc) | |
gp.channels.sendMessage(parameters, callback) |
channels.send_message(parameters, callback) Отправка сообщения parameters: таблица параметров callback(result): функция обратного вызова |
gp.channels.sendPersonalMessage(parameters, callback) |
channels.send_personal_message(parameters, callback) Отправка личного сообщения parameters: таблица параметров callback(result): функция обратного вызова |
gp.channels.sendFeedMessage(parameters, callback) |
channels.send_feed_message(parameters, callback) Отправка сообщения в фид parameters: таблица параметров callback(result): функция обратного вызова |
gp.channels.editMessage(parameters, callback) |
channels.edit_message(parameters, callback) Изменение сообщения parameters: таблица параметров callback(result): функция обратного вызова |
gp.channels.deleteMessage(parameters, callback) |
channels.delete_message(parameters, callback) Удаление сообщения parameters: таблица параметров callback(result): функция обратного вызова |
gp.channels.fetchMessages(parameters, callback) |
channels.fetch_messages(parameters, callback) Получить список сообщений в выбранном канале parameters: таблица параметров callback(result): функция обратного вызова |
gp.channels.fetchPersonalMessages(parameters, callback) |
channels.fetch_personal_messages(parameters, callback) Получить список личных сообщений с другим игроком parameters: таблица параметров callback(result): функция обратного вызова |
gp.channels.fetchFeedMessages(parameters, callback) |
channels.fetch_feed_messages(parameters, callback) Получить список сообщений в фиде игрока parameters: таблица параметров callback(result): функция обратного вызова |
gp.channels.fetchMoreMessages(parameters, callback) |
channels.fetch_more_messages(parameters, callback) Подгрузить список сообщений в выбранном канале parameters: таблица параметров callback(result): функция обратного вызова |
gp.channels.fetchMorePersonalMessages(parameters, callback) |
channels.fetch_more_personal_messages(parameters, callback) Подгрузить список личных сообщений с другим игроком parameters: таблица параметров callback(result): функция обратного вызова |
gp.channels.fetchMoreFeedMessages(parameters, callback) |
channels.fetch_more_feed_messages(parameters, callback) Подгрузить список сообщений в фиде игрока parameters: таблица параметров callback(result): функция обратного вызова |
События: | |
gp.channels.on('sendMessage', (result) => {}) |
channels.callbacks.send_message(result) Успешная отправка сообщения |
gp.channels.on('error:sendMessage', (error) => {}) |
channels.callbacks.error_send_message(error) Ошибка отправки сообщения |
gp.channels.on('event:message', (result) => {}) |
channels.callbacks.event_messaget(result) Уведомление о новом сообщении |
gp.channels.on('editMessage', (result) => {}) |
channels.callbacks.edit_message(result) Успешное изменение сообщения |
gp.channels.on('error:editMessage', (error) => {}) |
channels.callbacks.error_edit_message(error) Ошибка изменения сообщения |
gp.channels.on('event:editMessage', (result) => {}) |
channels.callbacks.event_edit_message(result) Уведомление об изменении сообщения |
gp.channels.on('deleteMessage', (result) => {}) |
channels.callbacks.delete_message(result) Успешное удаление сообщения |
gp.channels.on('error:deleteMessage', (error) => {}) |
channels.callbacks.error_delete_message(error) Ошибка удаления сообщения |
gp.channels.on('event:deleteMessage', (result) => {}) |
channels.callbacks.event_delete_message(result) Уведомление об удалении сообщения |
gp.channels.on('fetchMessages', (result) => {}) |
channels.callbacks.fetch_messages(result) Успешное получение списка сообщений |
gp.channels.on('error:fetchMessages', (error) => {}) |
channels.callbacks.error_fetch_messages(error) Ошибка получения списка сообщений |
gp.channels.on('fetchMoreMessages', (result) => {}) |
channels.callbacks.fetch_more_messages(result) Успешная подгрузка списка сообщений |
gp.channels.on('error:fetchMoreMessages', (error) => {}) |
channels.callbacks.error_fetch_more_messages(error) Ошибка подгрузки списка сообщений |
Реклама (doc) | |
gp.ads.isAdblockEnabled |
ads.is_adblock_enabled() Проверка включенного AdBlock |
gp.ads.isStickyAvailable |
ads.is_sticky_available() Проверка доступности баннера |
gp.ads.isFullscreenAvailable |
ads.is_fullscreen_available() Проверка доступности полноэкранной рекламы |
gp.ads.isRewardedAvailable |
ads.is_rewarded_available() Проверка доступности рекламы за вознаграждение |
gp.ads.isPreloaderAvailable |
ads.is_preloader_available() Проверка доступности preload рекламы |
gp.ads.isStickyPlaying |
ads.is_sticky_playing() Проверка воспроизведения баннера |
gp.ads.isFullscreenPlaying |
ads.is_fullscreen_playing() Проверка воспроизведения полноэкранной рекламы |
gp.ads.isRewardedPlaying |
ads.is_rewarded_playing() Проверка воспроизведения рекламы за вознаграждение |
gp.ads.isPreloaderPlaying |
ads.is_preloader_playing() Проверка воспроизведения preload рекламы |
gp.ads.isCountdownOverlayEnabled |
ads.is_countdown_overlay_enabled() Включен оверлей обратного отсчета перед показом фулскрин рекламы |
gp.ads.isRewardedFailedOverlayEnabled |
ads.is_rewarded_failed_overlay_enabled() Включен оверлей при неудачном показе rewarded video |
gp.ads.canShowFullscreenBeforeGamePlay |
ads.can_show_fullscreen_before_gameplay() Можно ли на площадке показывать фулскрин рекламу перед началом геймплея |
gp.ads.showFullscreen(parameters) |
ads.show_fullscreen(callback, parameters) Показывает полноэкранную рекламу callback(result) функция обратного вызова или nil parameters: таблица параметров или nil |
gp.ads.showPreloader() |
ads.show_preloader(callback) Показывает баннерную рекламу (preloader) callback(result) функция обратного вызова или nil |
gp.ads.showRewardedVideo(parameters) |
ads.show_rewarded_video(callback, parameters) Показывает рекламу за вознаграждение callback(result) функция обратного вызова или nil parameters: таблица параметров или nil |
gp.ads.showSticky() |
ads.show_sticky(callback) Показывает баннер callback(result) функция обратного вызова или nil |
gp.ads.refreshSticky() |
ads.refresh_sticky(callback) Принудительное обновление баннера callback(result) функция обратного вызова или nil |
gp.ads.closeSticky() |
ads.close_sticky(callback) Закрывает баннер callback() функция обратного вызова или nil |
События: | |
gp.ads.on('start', () => {}) |
ads.callbacks.start() Показ рекламы |
gp.ads.on('close', (success) => {}) |
ads.callbacks.close(success) Закрытие рекламы |
gp.ads.on('fullscreen:start', () => {}) |
ads.callbacks.fullscreen_start() Показ полноэкранной рекламы |
gp.ads.on('fullscreen:close', (success) => {}) |
ads.callbacks.fullscreen_close(success) Закрытие полноэкранной рекламы |
gp.ads.on('preloader:start', () => {}) |
ads.callbacks.preloader_start() Показ preloader рекламы |
gp.ads.on('preloader:close', (success) => {}) |
ads.callbacks.preloader_close(success) Закрытие preloader рекламы |
gp.ads.on('rewarded:start', () => {}) |
ads.callbacks.rewarded_start() Показ рекламы за вознаграждение |
gp.ads.on('rewarded:close', (success) => {}) |
ads.callbacks.rewarded_close(success) Закрытие рекламы за вознаграждение |
gp.ads.on('rewarded:reward', () => {}) |
ads.callbacks.rewarded_reward() Получение награды за просмотр рекламы |
gp.ads.on('sticky:start', () => {}) |
ads.callbacks.sticky_start() Показ sticky баннера |
gp.ads.on('sticky:render', () => {}) |
ads.callbacks.sticky_render() Рендер sticky баннера |
gp.ads.on('sticky:refresh', () => {}) |
ads.callbacks.sticky_refresh() Обновление sticky баннера |
gp.ads.on('sticky:close', () => {}) |
ads.callbacks.sticky_close() Закрытие sticky баннера |
События (doc) | |
gp.events.join(parameters) |
events.join(parameters, callback) Принять участие в событии parameters: таблица параметров callback(result): функция обратного вызова |
gp.events.list |
events.list() Список событий возвращает таблицу с событиями |
gp.events.activeList |
events.active_list() Список активных событий игрока возвращает таблицу с событиями |
gp.events.getEvent() |
events.get_event() Получение информации о событии возвращает таблицу с информацией о событии |
gp.events.has(id_or_tag) |
events.has(id_or_tag) Событие активно id_or_tag: тег или идентификатор события |
gp.events.isJoined(id_or_tag) |
events.is_joined(id_or_tag) Игрок участвует в событии id_or_tag: тег или идентификатор события |
События: | |
gp.events.on('join', (event) => {}) |
events.callbacks.join(event) Игрок присоединился к событию |
gp.events.on('error:join', (error) => {}) |
events.callbacks.error_join(error) Не удалось вступить в событие |
Награды (doc) | |
gp.rewards.give(parameters) |
rewards.give(parameters, callback) Выдать награду parameters: таблица параметров callback(result): функция обратного вызова |
gp.rewards.accept(parameters) |
rewards.accept(parameters, callback) Принять награду parameters: таблица параметров callback(result): функция обратного вызова |
gp.rewards.list |
rewards.list() Список наград возвращает таблицу с наградами |
gp.rewards.givenList |
rewards.given_list() Список выданных наград возвращает таблицу с выданными наградами |
gp.rewards.getReward() |
rewards.get_reward() Получение информации о награде возвращает таблицу с информацией о награде |
gp.rewards.has(id_or_tag) |
rewards.has(id_or_tag) Проверка выдачи награды id_or_tag: тег или идентификатор награды |
gp.rewards.hasAccepted(id_or_tag) |
rewards.has_accepted(id_or_tag) Проверка принятия награды id_or_tag: тег или идентификатор награды |
gp.rewards.hasUnaccepted(id_or_tag) |
rewards.has_unaccepted(id_or_tag) Награда выдана, но не получена id_or_tag: тег или идентификатор награды |
События: | |
gp.rewards.on('give', (reward) => {}) |
rewards.callbacks.give(reward) Награда выдана |
gp.rewards.on('error:give', (error) => {}) |
rewards.callbacks.error_give(error) Не удалось выдать награду |
gp.rewards.on('accept', (reward) => {}) |
rewards.callbacks.accept(reward) Награда принята |
gp.rewards.on('error:accept', (error) => {}) |
rewards.callbacks.error_accept(error) Не удалось принять наград |
Планировщики наград (doc) | |
gp.schedulers.claimDay(idOrTag, day) |
schedulers.claim_day(id_or_tag, day, callback) Принять награду за день id_or_tag: тег или идентификатор планировщика day: день callback(result): функция обратного вызова |
gp.schedulers.claimDayAdditional(idOrTag, day, triggerIdOrTag) |
schedulers.claim_day(id_or_tag, day, trigger_id_or_tag, callback) Принять награду за день id_or_tag: тег или идентификатор планировщика day: день trigger_id_or_tag: тег или идентификатор триггера callback(result): функция обратного вызова |
gp.schedulers.claimAllDay(idOrTag, day) |
schedulers.claim_all_day(id_or_tag, day, callback) Принять награду за день за все активности id_or_tag: тег или идентификатор планировщика day: день callback(result): функция обратного вызова |
gp.schedulers.claimAllDays(idOrTag) |
schedulers.claim_all_days(id_or_tag, callback) Принять награду за все выполненные дни id_or_tag: тег или идентификатор планировщика callback(result): функция обратного вызова |
gp.schedulers.list |
schedulers.list() Список планировщиков возвращает таблицу с планировщиками |
gp.schedulers.activeList |
schedulers.active_list() Список активных планировщиков игрока возвращает таблицу с планировщиками |
gp.schedulers.getScheduler(idOrTag) |
schedulers.get_scheduler(id_or_tag) Получение информации о планировщике id_or_tag: тег или идентификатор планировщика |
gp.schedulers.getSchedulerDay(idOrTag, day) |
schedulers.get_scheduler_day(id_or_tag, day) Получение информации о дне планировщика id_or_tag: тег или идентификатор планировщика day: день |
gp.schedulers.getSchedulerCurrentDay(idOrTag) |
schedulers.get_scheduler_current_day(id_or_tag) Получение информации о текущем дне планировщика id_or_tag: тег или идентификатор планировщика |
gp.schedulers.isRegistered(idOrTag) |
schedulers.is_registered(id_or_tag) Игрок участвует в планировщике id_or_tag: тег или идентификатор планировщика |
gp.schedulers.isTodayRewardClaimed(idOrTag) |
schedulers.is_today_reward_claimed(id_or_tag) Сегодня принята награда id_or_tag: тег или идентификатор планировщика |
gp.schedulers.canClaimDay(idOrTag, day) |
schedulers.can_claim_day(id_or_tag, day) Можно забрать награду за день id_or_tag: тег или идентификатор планировщика day: день |
gp.schedulers.canClaimDayAdditional(idOrTag, day, triggerIdOrTag) |
schedulers.can_claim_day_additional(id_or_tag, day, trigger_id_or_tag) Можно забрать награду за дополнительную активность за день id_or_tag: тег или идентификатор планировщика day: день trigger_id_or_tag: тег или идентификатор триггера |
gp.schedulers.canClaimAllDay(idOrTag, day) |
schedulers.can_claim_all_day(id_or_tag, day) Можно забрать награду за все активности за день id_or_tag: тег или идентификатор планировщика day: день |
События: | |
gp.schedulers.on('claimDay', (scheduler) => {}) |
schedulers.callbacks.claim_day(scheduler) Награда за день принята |
gp.schedulers.on('error:claimDay', (error) => {}) |
schedulers.callbacks.error_claim_day(error) Не удалось принять награду за день |
gp.schedulers.on('claimDayAdditional', (scheduler) => {}) |
schedulers.callbacks.claim_day_additional(scheduler) Награда за день за дополнительную активность принята |
gp.schedulers.on('error:claimDayAdditional', (error) => {}) |
schedulers.callbacks.error_claim_day_additional(error) Не удалось принять награду за день за дополнительную активность |
gp.schedulers.on('claimAllDay', (scheduler) => {}) |
schedulers.callbacks.claim_all_day(scheduler) Награда за день за все активности принята |
gp.schedulers.on('error:claimAllDay', (error) => {}) |
schedulers.callbacks.error_claim_all_day(error) Не удалось принять награду за день за все активности |
gp.schedulers.on('claimAllDays', (scheduler) => {}) |
schedulers.callbacks.claim_all_days(scheduler) Награда за все дни принята |
gp.schedulers.on('error:claimAllDays', (error) => {}) |
schedulers.callbacks.error_claim_all_days(error) Не удалось принять награду за все дни |
gp.schedulers.on('join', (scheduler) => {}) |
schedulers.callbacks.join(scheduler) Игрок присоединился к событию |
gp.schedulers.on('error:join', (error) => {}) |
schedulers.callbacks.error_join(error) Не удалось вступить в событие |
Триггеры (doc) | |
gp.triggers.claim(parameters) |
triggers.claim(parameters, callback) Получить награду за триггер parameters: таблица параметров callback(result): функция обратного вызова |
gp.triggers.list |
triggers.list() Список триггеров возвращает таблицу с триггерами |
gp.triggers.activatedList |
triggers.activated_list() Список активированных триггеров возвращает таблицу с триггерами |
gp.triggers.getTrigger(id_or_tag) |
triggers.get_trigger(id_or_tag) Получение информации о награде id_or_tag: тег или идентификатор триггера |
gp.triggers.isActivated(id_or_tag) |
triggers.is_activated(id_or_tag) Триггер активирован id_or_tag: тег или идентификатор триггера |
gp.triggers.isClaimed(id_or_tag) |
triggers.is_claimed(id_or_tag) Награда начислена id_or_tag: тег или идентификатор триггера |
События: | |
gp.triggers.on('activate', (trigger) => {}) |
triggers.callbacks.activate(trigger) Триггер активирован |
gp.triggers.on('claim', (trigger) => {}) |
triggers.callbacks.claim(trigger) Награда начислена |
gp.triggers.on('error:claim', (error) => {}) |
triggers.callbacks.error_claim(error) Ошибка начисления награды |
Достижения (doc) | |
gp.achievements.groupsList |
achievements.groups_list() Список групп достижений возвращает таблицу с достижениями |
gp.achievements.list |
achievements.list() Список достижений возвращает таблицу с достижениями |
gp.achievements.unlockedList |
achievements.unlocked_list() Список разблокированных достижений возвращает таблицу с достижениями |
gp.achievements.unlock(parameters) |
achievements.unlock(parameters, callback) Разблокировать достижение parameters: таблица параметров callback(result): функция обратного вызова |
gp.achievements.setProgress(parameters) |
achievements.set_progress(parameters, callback) Установить прогресс в достижении parameters: таблица параметров callback(result): функция обратного вызова |
gp.achievements.has(id_or_tag) |
achievements.has(id_or_tag) Проверить есть ли у игрока достижение id_or_tag: тег или идентификатор достижения |
gp.achievements.getProgress(id_or_tag) |
achievements.get_progress(id_or_tag) Получить прогресс достижения id_or_tag: тег или идентификатор достижения |
gp.achievements.open() |
achievements.open(callback) Открыть достижения в оверлее callback: функция обратного вызова при открытии окна достижений |
gp.achievements.fetch() |
achievements.fetch(callback) Запросить достижения callback(achievements): функция обратного вызова |
Константы редкости достижений: | achievements.rare COMMON UNCOMMON RARE EPIC LEGENDARY MYTHIC |
События: | |
gp.achievements.on('unlock', (achievement) => {}) |
achievements.callbacks.unlock(achievement) Разблокировка достижения |
gp.achievements.on('error:unlock', (error) => {}) |
achievements.callbacks.error_unlock(error) Ошибка разблокировки достижения |
gp.achievements.on('progress', (achievement) => {}) |
achievements.callbacks.progress(achievement) Изменен прогресс в достижении |
gp.achievements.on('error:progress', (error) => {}) |
achievements.callbacks.error_progress(error) Ошибка при изменении прогресса |
gp.achievements.on('open', () => {}) |
achievements.callbacks.open() Открытие списка достижений в оверлее |
gp.achievements.on('close', () => {}) |
achievements.callbacks.close() Закрытие списка достижений |
gp.achievements.on('fetch', (result) => {}) |
achievements.callbacks.fetch(result) Получение списка достижений |
gp.achievements.on('error:fetch', (error) => {}) |
achievements.callbacks.error_fetch(error) Ошибка получения списка достижений |
Социальные действия (doc) | |
gp.socials.isSupportsShare |
socials.is_supports_share() Поддерживается ли шаринг |
gp.socials.isSupportsNativeShare |
socials.is_supports_native_share() Проверка поддержки нативного шаринга |
gp.socials.share(parameters) |
socials.share(parameters) Поделиться parameters: таблица с параметрами или nil |
gp.socials.isSupportsNativePosts |
socials.is_supports_native_posts() Поддерживается ли нативный постинг |
gp.socials.post(parameters) |
socials.post(parameters) Опубликовать пост parameters: таблица с параметрами или nil |
gp.socials.isSupportsNativeInvite |
socials.is_supports_native_invite() Проверка поддержки нативных инвайтов |
gp.socials.invite(parameters) |
socials.invite(parameters) Пригласить друзей parameters: таблица с параметрами или nil |
gp.socials.canJoinCommunity |
socials.can_join_community() Можно ли приглашать в сообщество на текущей платформе |
gp.socials.isSupportsNativeCommunityJoin |
socials.is_supports_native_community_join() Поддерживается ли нативное вступление в сообщество |
gp.socials.joinCommunity() |
socials.join_community() Вступить в сообщество |
gp.socials.makeShareUrl(parameters) |
socials.make_share_url(parameters) Создать ссылку для шаринга parameters: таблица параметров |
gp.socials.getShareParam(parameter) |
socials.get_share_param(parameter) Считать параметры при заходе по ссылке parameter: параметр |
Игровые переменные (doc) | |
gp.variables.fetch() |
variables.fetch(callback) Запросить переменные callback(): функция обратного вызова или nil |
gp.variables.get(variable) |
variables.get(variable) Получить значение переменной variable: название запрашиваемой переменной |
gp.variables.has(variable) |
variables.has(variable) Проверить существование переменной variable: название переменной |
gp.variables.type(variable) |
variables.type(variable) Получить тип переменной variable: название переменной |
Константы типов переменной: | variables.types DATA STATS FLAG DOC_HTML IMAGE FILE |
События: | |
gp.variables.on('fetch', () => {}) |
variables.callbacks.fetch() Получение переменных |
gp.variables.on('error:fetch', (error) => {}) |
variables.callbacks.error_fetch(error) Ошибка получения переменных |
Подборки игр (doc) | |
gp.gamesCollections.open(parameters) |
games_collections.open(parameters, callback) Открыть оверлей с играми parameters: таблица параметров callback(): Функция обратного вызова или nil |
gp.gamesCollections.fetch(parameters) |
games_collections.fetch(parameters, callback) Получить коллекцию игр parameters: таблица параметров callback(result): Функция обратного вызова или nil |
События: | |
gp.gamesCollections.on('open', () => {}) |
games_collections.callbacks.open() Открыт оверлей с играми |
gp.gamesCollections.on('close', () => {}) |
games_collections.callbacks.close() Закрыт оверлей с играми |
gp.gamesCollections.on('fetch', (result) => {}) |
games_collections.callbacks.fetch(result) Получение коллекции игр |
gp.gamesCollections.on('error:fetch', (error) => {}) |
games_collections.callbacks.error_fetch(error) Ошибка получения коллекции игр |
Изображения (doc) | |
gp.images.upload(parameters) |
images.upload(parameters, callback) Загрузить изображение parameters: таблица с параметрами callback(image): функция обратного вызова или nil |
gp.images.uploadUrl(parameters) |
images.upload_url(parameters, callback) Загрузить изображение по URL parameters: таблица с параметрами callback(image): функция обратного вызова или nil |
gp.images.chooseFile() |
images.choice_file(callback) Выбрать файл callback(image): функция обратного вызова или nil |
gp.images.fetch(parameters) |
images.fetch(parameters, callback) Получить изображения< parameters: таблица с параметрами callback(image): функция обратного вызова или nil |
gp.images.fetchMore(parameters) |
images.fetch_more(parameters, callback) Получить еще изображений< parameters: таблица с параметрами callback(image): функция обратного вызова или nil |
gp.images.resize(url, width, height, crop) |
images.resize(uri, width, height, crop) Изменить размер изображения< uri: адрес изображения width: требуемая ширина изображения height: требуемая высота изображения crop: обрезка изображения Функция возвращает ссылку на обрезанное изображение. |
gp.images.canUpload() |
images.can_upload() Проверяет, можно ли загружать изображения |
События: | |
gp.images.on('upload', (image) => {}) |
images.callbacks.upload(image) Загрузка изображения |
gp.images.on('error:upload', (error) => {}) |
images.callbacks.error_upload(error) Ошибка загрузки изображения |
gp.images.on('choose', (result) => {}) |
images.callbacks.choose(result) Выбор изображения |
gp.images.on('error:choose', (error) => {}) |
images.callbacks.error_choose(error) Ошибка выбора изображения |
gp.images.on('fetch', (result) => {}) |
images.callbacks.fetch(result) Получение изображения |
gp.images.on('error:fetch', (error) => {}) |
images.callbacks.error_fetch(error) Ошибка получения изображения |
gp.images.on('fetchMore', (result) => {}) |
images.callbacks.fetch_more(result) Получение следующей партии изображений |
gp.images.on('error:fetchMore', (error) => {}) |
images.callbacks.error_fetch_more(error) Ошибка получения следующей партии изображении |
Файлы (doc) | |
gp.files.upload(parameters) |
files.upload(parameters, callback) Загрузить файл parameters: таблица с параметрами callback(result): функция обратного вызова или nil |
gp.files.uploadUrl(parameters) |
files.upload_url(parameters, callback) Загрузить файл по URL parameters: таблица с параметрами callback(result): функция обратного вызова или nil |
gp.files.uploadContent(parameters) |
files.upload_content(parameters, callback) Загрузить контент parameters: таблица с параметрами callback(result): функция обратного вызова или nil |
gp.files.loadContent(url) |
files.load_content(url, callback) Получить контент url: адрес файла callback(result): функция обратного вызова или nil |
gp.files.chooseFile(accept) |
files.choose_file(accept, callback) Выбрать файл accept: тип файла callback(result): функция обратного вызова или nil |
gp.files.fetch(parameters) |
files.fetch(parameters, callback) Получить файлы parameters: таблица с параметрами callback(result): функция обратного вызова или nil |
gp.files.fetchMore(parameters) |
files.fetch_more(parameters, callback) Получить файлы parameters: таблица с параметрами callback(result): функция обратного вызова или nil |
gp.files.canUpload() |
files.can_upload() Проверяет, можно ли загружать файлы |
События: | |
gp.files.on('upload', (result) => {}) |
files.callbacks.upload(result) Загрузка файла |
gp.files.on('error:upload', (error) => {}) |
files.callbacks.error_upload(result) Ошибка загрузки файла |
gp.files.on('loadContent', (result) => {}) |
files.callbacks.load_content(result) Контент получен |
gp.files.on('error:loadContent', (error) => {}) |
files.callbacks.error_load_content(result) Ошибка получения контента |
gp.files.on('choose', (result) => {}) |
files.callbacks.choose(result) Файл выбран |
gp.files.on('error:choose', (error) => {}) |
files.callbacks.error_choose(result) Ошибка выбора файла |
gp.files.on('fetch', (result) => {}) |
files.callbacks.fetch(result) Успешное получение файлов |
gp.files.on('error:fetch', (error) => {}) |
files.callbacks.error_fetch(result) Ошибка при получении файлов |
gp.files.on('fetchMore', (result) => {}) |
files.callbacks.fetch_more(result) Успешная подгрузка файлов |
gp.files.on('error:fetchMore', (error) => {}) |
files.callbacks.error_fetch_more(result) Ошибка при подгрузке файлов |
Документы (doc) | |
gp.documents.open(parameters) |
documents.open(parameters) Открыть политику конфиденциальности parameters: таблица с параметрами |
gp.documents.fetch(parameters) |
documents.fetch(parameters, callback) Получить политику конфиденциальности parameters: таблица с параметрами callback(result): функция обратного вызова или nil |
События: | |
gp.documents.on('open', () => {}) |
documents.callbacks.open() Открыта политика конфиденциальности |
gp.documents.on('close', () => {}) |
documents.callbacks.close() Закрыта политика конфиденциальности |
gp.documents.on('fetch', (document) => {}) |
documents.callbacks.fetch(document) Получение политики конфиденциальности |
gp.documents.on('error:fetch', (error) => {}) |
documents.callbacks.error_fetch(error) Ошибка получения политики конфиденциальности |
Аналитика (doc) | |
gp.analytics.hit(url) |
analytics.hit(url) Посещение или просмотр страницы |
gp.analytics.goal(event, value) |
analytics.goal(event, value) Отправка достижения цели |
Полный экран (doc) | |
gp.fullscreen.open() |
fullscreen.open() Войти в полноэкранный режим |
gp.fullscreen.close() |
fullscreen.close() Выйти из полноэкранного режима |
gp.fullscreen.toggle() |
fullscreen.toggle() Переключить полноэкранный режим |
События: | |
gp.fullscreen.on('open', () => {}) |
fullscreen.callbacks.open() Вход в полноэкранный режим |
gp.fullscreen.on('close', () => {}) |
fullscreen.callbacks.close() Выход из полноэкранного режима |
gp.fullscreen.on('change', () => {}) |
fullscreen.callbacks.change() Переключение полноэкранного режима |
Логи (doc) | |
gp.logger.info() |
logger.info(...) Тост с информацией |
gp.logger.warn() |
logger.warn(...) Тост с предупреждением |
gp.logger.error() |
logger.error(...) Тост с ошибкой |
gp.logger.log() |
logger.log(...) Лог в консоль |
Для вызова нативного метода, получения объекта или поля предназначена
функция call_native_sdk(method, parameters, callback)
.
- method: строка, путь до метода, объекта или поля разделенного точками. Если указан путь до объекта или поля объекта, то parameters и callback будет проигнорирован.
- parameters: параметр вызываемого метода (string, number, boolean, table). Если необходимо передать несколько параметров, то параметры необходимо поместить в массив (таблицу). Порядок параметров определяется индексом массива. Не поддерживается передача функций в качестве параметров!
- callback: функция обратного вызова, необходимо указывать, если нативный метод возвращает промис. Если callback == nil, то функция возвращает результат, иначе nil.
Результат возвращаемый функцией формируется по правилам:
- Параметр method ссылается на объект или поле объекта:
- Если результат string, number, boolean или объект, то возвращаются полученные данные.
- В случае если произошло исключение, то данные об ошибке возвращаются в виде таблицы {error = "error description"}.
- Параметр method ссылается на функцию:
- Если результат string, number, boolean или объект, то возвращаются полученные данные.
- В случае если произошло исключение, или промис завершился ошибкой, то данные об ошибке возвращаются в виде таблицы {error = "error description"}.
callback(result): result - результат выполнения промиса, если промис завершился ошибкой, то result = {error = "error description"}.
Бывают ситуации, когда промис возвращает объект с функциями, которые может потребоваться выполнить позже. Для этих ситуаций предусмотрен механизм сохранения объекта на уровне JS и дальнейшего его использования при следующих вызовах API.
В этих случаях формат параметра method
для функции call_native_sdk
может принимать вид:
var=path1.path2.path3
: объект path1.path2.path3 будет сохранен в переменную varvar:method
: вызов метода из ранее сохраненного объектаvar2=var:method2
: вызов метода (необходимо что-бы он был промисом) из ранее сохраненного объекта и сохранение результата в переменной var2
Запрос к СДК | Тип | Вызов функции и результат |
---|---|---|
environment | object | call_native_sdk("environment") table |
environment.i18n.lang | string | call_native_sdk("environment.i18n.lang") string |
env | undefined | call_native_sdk("env") {error = 'Field or function "env" not found!'} |
player.getUniqueID() | function | call_native_sdk("player.getUniqueID") string |
feedback.canReview() | function | call_native_sdk("feedback.canReview", nil, callback) nil После завершения промиса будет вызван callback. |
getLeaderboards().then(lb => {}) | function | call_native_sdk("lb=getLeaderboards", nil, callback) nil После завершения промиса будет вызван callback. Результат будет сохранен в переменной JS. |
lb.setLeaderboardScore() | function | call_native_sdk("lb:setLeaderboardScore") После завершения промиса будет вызван callback. При вызове функции будет обращение к ранее сохраненной переменной JS, если она не найдена функция вернет {error = "The 'lb' object has not been previously saved!"} |
local gamepush = require("gamepush.gamepush")
gamepush.init(function(result)
if result then
-- Получить переменные окружения Яндекса, эквивалент ysdk.environment
local environment = gamepush.platform.call_native_sdk("environment")
-- Получить язык интерфейса Яндекс.Игр в формате ISO 639-1, эквивалент ysdk.environment.i18n.lang
local language = gamepush.platform.call_native_sdk("environment.i18n.lang")
-- Получить таблицы лидеров, эквивалент ysdk.getLeaderboards()
-- промис возвращает объект, сохраним его в переменную lb
gamepush.platform.call_native_sdk("lb=getLeaderboards", nil, function(leaderboards)
pprint(leaderboards)
-- Запись нового рекорда, эквивалент lb.setLeaderboardScore('leaderboard2021', 120);
-- будем обращаться к переменной lb
gamepush.platform.call_native_sdk("lb:setLeaderboardScore", { "leaderboard2021", 120 })
-- Получить данные таблицы лидеров, эквивалент lb.getLeaderboardEntries('leaderboard2021')
gamepush.platform.call_native_sdk("lb:getLeaderboardEntries", "leaderboard2021", nil, function(result)
pprint(result)
end)
-- Получить данные таблицы лидеров с параметрами
-- эквивалент lb.getLeaderboardEntries('leaderboard2021', {quantityTop: 10, includeUser: true, quantityAround: 3})
local parameters = {
"leaderboard2021",
{ quantityTop = 10, includeUser = true, quantityAround = 3 }
}
gamepush.platform.call_native_sdk("lb:getLeaderboardEntries", parameters, function(result)
pprint(result)
end)
end)
end
end)
Представленный выше код эквивалентен коду JS:
YaGames
.init()
.then(ysdk => {
// Получить переменные окружения Яндекса
let environment = ysdk.environment;
// Получить язык интерфейса Яндекс.Игр в формате ISO 639-1
let language = ysdk.environment.i18n.lang;
// Получить таблицы лидеров
ysdk.getLeaderboards().then(function (lb) {
console.log(lb);
// Запись нового рекорда
lb.setLeaderboardScore('leaderboard2021', 120);
// Получить данные таблицы лидеров
lb.getLeaderboardEntries('leaderboard2021').then(function (result) {
console.log(result);
});
// Получить данные таблицы лидеров с параметрами
let parameters = {quantityTop: 10, includeUser: true, quantityAround: 3};
lb.getLeaderboardEntries('leaderboard2021', parameters).then(function (result) {
console.log(result);
});
});
});
Для платформ отличных от html предусмотрены заглушки для удобства отладки.
При использовании функций:
- player.get(key)
- player.set(key, value)
- player.add(key, value)
- player.toggle(key)
- player.has(key)
- player.to_json()
- player.from_json(player)
данные будут сохраняться/считываться с помощью sys.save()/sys.load() локально в/из файла "gamepush.dat" (можно поменять)
local mock_api = require("gamepush.mock_api")
-- установим имя для файла локального хранилища данных
mock_api.file_storage = "my_storage.dat"
-- установка параметров "заглушек"
mock_api["player.name"] = "my player name"
mock_api["player.id"] = 625
mock_api["player.score"] = 500
Каждая функция-заглушка GamePush API может быть представлена данными или функцией выполняющее действие и/или возвращающая данные. Любые функции/данные можно переопределять для удобства работы/отладки.
Заглушки для нативных вызовов выделены в отдельный модуль, чтобы его подключить используйте функцию set_native_api
--native_api.lua
local M = {}
M["environment"] = {
app = {
id = "app_id"
},
browser = {
lang = "ru"
},
i18n = {
lang = "ru",
tld = "ru"
}
}
return M
local mock = require("gamepush.mock")
local native_api = require("native_api")
local gamepush = require("gamepush.gamepush")
-- Устанавливаем заглушку для нативных функций
mock.set_native_api(native_api)
-- Обращаемся к нативной функции
local result = gamepush.platform.call_native_sdk("environment")
pprint(result)