Шаблоны каналов
Обзор
Каналы могут быть созданы под разные виды внутриигровых событий и активностей. По умолчанию каналами может управлять только разработчик. Чтобы дать возможность игрокам управлять каналом, необходимо для каждого такого канала создать шаблон. Например, для группы может быть создан шаблон канала группы из 4 человек, для гильдии - шаблон группы из 20 человек и так далее.
Игрок не может создать канал без заранее созданного шаблона. Это необходимо для контроля разработчиком прав игрока
Шаблоны упрощают создание однотипных каналов. На основе каналов можно реализовать крайне широкий функционал чатов, гильдий, списка друзей, лент активностей, подарков, пошаговых боев, лобби, комнат, групп и так далее. Под каждый вид такого канала удобно иметь заранее настроенный типовой шаблон.
Создайте шаблоны каналов под основные игровые события и активности
Создание шаблона
Для создания шаблона выберите в панели управления Каналы - Добавить Шаблон:
При создании шаблона канала вы можете редактировать следующие поля:
Оставив настройки по умолчанию, вы создадите шаблон для чата игроков
Название поля | Комментарии |
---|---|
📝 Тег шаблона канала | Тег используется для упрощения поиска игроком внутриигрового события, для которого создан шаблон |
📝 Тег канала | Например, группа для похода в подземелье может иметь шаблон с тегом dungeon . Подробнее см. в разделе Теги каналов и сообщений |
📝 Теги сообщений | Теги сообщений позволяют выводить логи или заданные виды сообщений в чате. Например, все сообщения с тегами log могут возвращать информацию о прохождении уровня. Подробнее см. в разделе Теги каналов и сообщений |
📝 Название шаблона | При нажатии на кнопку Перевести открывается весь список языков, доступных для перевода |
📝 Описание шаблона | При нажатии на кнопку Перевести открывается весь список языков, доступных для перевода |
📝 Максимальное количество участников канала | Целое число, максимальное количество участников канала не ограничено |
📝 Пароль | По умолчанию канал создается без пароля |
🔘 Приватный | Разрешает вступить в канал только через запрос или инвайт |
🔘 Хранить историю | Позволяет хранить историю сообщений (доступно только на планах с подпиской). По умолчанию сообщения хранятся сутки. |
🔘 Видимый в поиске | Показывает канал в поисковой выдаче |
🔘 Видимый только в тестовой версии 💡 | Канал не виден игрокам в продакшн версии |
🔘 Выходить игроком из канала при выходе из игры | |
🔘 Удалять канал при выходе последнего участника | |
🔘 Разрешить игроку - владельцу редактировать опции канала | По умолчанию владелец канала может редактировать: название, описание, теги, менять владельца, вместимость канала, приватность, видимость, права владельца, права игрока, права гостя |
🔘 Доступы игрока, участника, гостя | Полный список прав доступа и их значения по умолчанию см. в таблице |
💡 Цель свойства Видимый только в тестовой версии заключается в том, чтобы скрыть от игроков новые каналы, которые находятся в разработке. Например, разработчик добавляет в игру новую локацию и чтобы она не появилась в списке у игроков, он помечает ее видимой только в тестовой версии. Пока ведется разработка этот канал можно просматривать от лица тестового игрока
Пример использования шаблона
Часто разработчики реализуют совместное сражение игроков в группах. Рассмотрим пример создания и использования шаблона для группы игроков.
Создание шаблонов для групп, рейдов или гильдий производится по одинаковому принципу
В качестве примера создадим шаблон канала группы из пяти игроков. Для этого в панели управления GamePush переходим в Каналы - Добавить шаблон. На странице редактирования шаблона заполняем основную информацию о шаблоне:
- Тег шаблона канала:
party5
- Теги канала:
members
,party
- Теги сообщений:
log
- Название:
party_5
- Описание:
group for hikes and raids
- Максимальное количество участников канала:
5
- Остальные настройки оставим по умолчанию:
Созданный шаблон в любое время может быть отредактирован
Ниже приведен пример создания канала от лица игрока по шаблону template: 'party_5'
. В канал приглашаются потенциальные участники gp.channels.sendInvite
:
- JavaScript
- Unity
const channel = await gp.channels.createChannel({ template: 'party_5' });
gp.channels.sendInvite({ channelId: channel.id, playerId: 123456 });
gp.channels.sendInvite({ channelId: channel.id, playerId: 123457 });
gp.channels.sendInvite({ channelId: channel.id, playerId: 123458 });
gp.channels.sendInvite({ channelId: channel.id, playerId: 123459 });
gp.channels.sendMessage({ channelId: channel.id, text: 'Ждем 5 мин и го' });
// подписка на событие
private void OnEnable()
{
GP_Channels.OnCreateChannel += OnCreateChannel;
}
// отписка от события
private void OnDisable()
{
GP_Channels.OnCreateChannel -= OnCreateChannel;
}
public void Create()
{
var filter = new CreateChannelFilter(5);
filter.name = "party_5";
filter.visible = true;
GP_Channels.CreateChannel(filter);
}
private void OnCreateChannel(CreateChannelData data)
{
GP_Channels.SendInvite(channel_ID: data.id, player_ID: 123456);
GP_Channels.SendInvite(channel_ID: data.id, player_ID: 123457);
GP_Channels.SendInvite(channel_ID: data.id, player_ID: 123458);
GP_Channels.SendInvite(channel_ID: data.id, player_ID: 123459);
GP_Channels.SendMessage(channel_ID: data.id, text: "Ждем 5 мин и го");
}
Чтобы получить ID игроков см. раздел Участники
Оставайтесь на связи
С другими разделами документации вы можете ознакомиться здесь. Для начала работы вы можете ознакомиться с нашими туториалами.
Сообщество GamePush в Telegram
: @gs_community.
Для ваших обращений e-mail
: [email protected]
Желаем вам успехов!