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: код языка |
| Константы языков: | languagesENGLISH 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.rareCOMMON 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.typesDATA 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 Mlocal 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)