Социальные действия
Обзор
Для увеличения аудитории мы предлагаем использовать социальные действия — поделиться, опубликовать пост и пригласить друзей в игру. Такие платформы как VK и OK позволяют использовать встроенные в платформу инструменты. Остальные платформы будут имитировать функционал через обычное расшаривание ссылки с возможностью добавления комментария и иногда картинки.
Список поддерживаемых социальных сетей и мессенджеров для шаринга:
- Telegram
- Vkontakte
- Odnoklassniki
- Viber
Для лучшего парсинга игры мессенджерами и социальными сетями мы рекомендуем разместить в игре мета-теги Open Graph. А так же заполнить заголовок и описание. Это полезно с точки зрения SEO-оптимизации. Пример размещения мета-тегов показан ниже:
// Заполните основную информацию об игре
<title>My awesome game 2</title>
<meta name="og:title" content="My awesome game 2">
<meta name="description" content="There are not enough words to describe the awesomeness of the game">
<meta name="og:description" content="There are not enough words to describe the awesomeness of the game">
<meta name="og:image" content="/img/ogimage.png">
Поддерживаемые площадки
Площадки без поддержки
Для того, чтобы проверить, что шаринг разрешен и поддерживается на платформе FREE:
- JavaScript
- Unity
// Поддерживается ли шаринг
gp.socials.isSupportsShare;
// Поддерживается ли шаринг
GP_Socials.IsSupportsShare();
Поделиться
FREEПо умолчанию через вызов метода share
можно поделиться ссылкой на игру. Мы сами определим ссылку в зависимости от платформы и подставим нужный текст, он берется из названия проекта в панели управления или мета-тега og:title
или просто тега title
.
Площадки с нативным функционалом
Площадки без поддержки
- JavaScript
- Unity
// Проверка поддержки нативного шаринга
gp.socials.isSupportsNativeShare;
// Проверка поддержки нативного шаринга
GP_Socials.IsSupportsNativeShare();
На платформах без нативной поддержки этого метода будет использован оверлей с предложением поделиться в социальных сетях и мессенджерах.
Поделиться ссылкой:
- JavaScript
- Unity
gp.socials.share();
GP_Socials.Share();
Поделиться с добавлением произвольного текста:
- JavaScript
- Unity
gp.socials.share({
text: `Мне удалось нажать 73 раза по квадрату за 5 секунд!
Теперь я на 23 месте в списке "Самых быстрых пальцев".
Сможешь меня обогнать?`,
});
GP_Socials.Share(text = 'Мне удалось нажать 73 раза по квадрату за 5 секунд!
Теперь я на 23 месте в списке "Самых быстрых пальцев".
Сможешь меня обогнать?');
Поделиться с добавлением произвольной ссылки:
- JavaScript
- Unity
gp.socials.share({
url: `${gp.app.url}?invitedBy=${gp.player.id}`,
});
GP_Socials.Share(url = GP_App.Url());
Поделиться с добавлением произвольного изображения:
- JavaScript
- Unity
gp.socials.share({
image: 'https://gamepush.com/img/ogimage.png',
});
GP_Socials.Share(image = "https://gamepush.com/img/ogimage.png");
Поддержка изображений через нативные методы социальных сетей реализована только во Вконтакте через формат вложений photo123456_123456
и Одноклассниках через формат вложений 123456
, или URL изображений загруженных через GamePush на площадку gp.images.upload()
для остальных параметр image будет проигнорирован, доступны только url
и text
.
Полностью настраиваемый шаринг:
- JavaScript
- Unity
gp.socials.share({
text: 'Присоединяйся ко мне в игре "My awesome game 2"',
url: gp.app.url,
image: 'https://gamepush.com/img/ogimage.png',
});
GP_Socials.Share(
text = 'Присоединяйся ко мне в игре "My awesome game 2"',
url = GP_App.Url(),
image = 'https://gamepush.com/img/ogimage.png'
);
Вы можете подписаться на событие завершения шаринга:
- JavaScript
- Unity
gp.socials.on('share', (success) => {
// success = true, если успешно выполнено действие "поделиться"
});
//Подписка на событие
private void OnEnable()
{
GP_Socials.OnShare += OnShare;
}
//Отписка от события
private void OnDisable()
{
GP_Socials.OnShare -= OnShare;
}
// success = true, если успешно выполнено действие "поделиться"
private void OnShare(bool success) => ConsoleUI.Instance.Log("SOCIALS: SHARE: " + success);
Опубликовать пост
FREEВ отличие от метода поделиться, метод опубликовать подразумевает публикацию в ленту новостей друзей игрока.
Площадки с нативным функционалом
Площадки без поддержки
- JavaScript
- Unity
// Поддерживается ли нативный постинг
gp.socials.isSupportsNativePosts;
// Поддерживается ли нативный постинг
GP_Socials.IsSupportsNativePosts();
В платформах без нативной поддержки этого метода — будет использован оверлей с предложением поделиться, как и в случае с методом share
.
Логика использования дублирует метод share
.
- JavaScript
- Unity
gp.socials.post();
GP_Socials.Post();
Полностью настраиваемый пост:
- JavaScript
- Unity
gp.socials.post({
text: 'Присоединяйся ко мне в игре "My awesome game 2"',
url: gp.app.url,
image: 'https://gamepush.com/img/ogimage.png',
});
GP_Socials.Post(
text = 'Присоединяйся ко мне в игре "My awesome game 2"',
url = GP_App.Url(),
image = 'https://gamepush.com/img/ogimage.png'
);
Вы можете подписаться на событие завершения постинга:
- JavaScript
- Unity
gp.socials.on('post', (success) => {
// success = true, если успешно выполнено действие "опубликовать"
});
//Подписка на событие
private void OnEnable()
{
GP_Socials.OnPost += OnPost;
}
//Отписка от события
private void OnDisable()
{
GP_Socials.OnPost -= OnPost;
}
// success = true, если успешно выполнено действие "опубликовать"
private void OnPost(bool success) => ConsoleUI.Instance.Log("SOCIALS: ON POST: " + success);
Пригласить друзей
FREEПоказывает игроку список друзей, которым можно отправить приглашение.
Площадки с нативным функционалом
Площадки без поддержки
- JavaScript
- Unity
// Проверка поддержки нативных инвайтов
gp.socials.isSupportsNativeInvite;
// Проверка поддержки нативных инвайтов
GP_Socials.IsSupportsNativeInvite();
В платформах без нативной поддержки этого метода — будет использован оверлей с предложением пригласить друзей, такой же как и в случае с методами share
или post
.
Логика использования дублирует метод share
.
- JavaScript
- Unity
gp.socials.invite();
GP_Socials.Invite();
Настраиваемый текст для некоторых платформ:
- JavaScript
- Unity
gp.socials.invite({
text: 'Присоединяйся ко мне в игре "My awesome game 2"',
});
GP_Socials.Invite(
text = 'Присоединяйся ко мне в игре "My awesome game 2"',
url = GP_App.Url(),
image = 'https://gamepush.com/img/ogimage.png'
);
Вы можете подписаться на событие завершения приглашения друзей:
- JavaScript
- Unity
gp.socials.on('invite', (success) => {
// success = true, если успешно выполнено действие "пригласить"
});
//Подписка на событие
private void OnEnable()
{
GP_Socials.OnInvite += OnInvite;
}
//Отписка от события
private void OnDisable()
{
GP_Socials.OnInvite -= OnInvite;
}
// success = true, если успешно выполнено действие "пригласить"
private void OnInvite(bool success) => ConsoleUI.Instance.Log("SOCIALS: ON INVITE: " + success);
Метод принимает в себя такой же объект, как и в случае share
и post
, но на сегодня используется только text
.
Вступить в сообщество
FREEПоказывает игроку оверлей с возможностью вступить в сообщество (если позволяет платформа) или открывает ссылку на сообщество в новой вкладке.
Поддерживаемые площадки
Площадки без поддержки
- JavaScript
- Unity
// Можно ли приглашать в сообщество на текущей платформе
gp.socials.canJoinCommunity;
// Можно ли приглашать в сообщество на текущей платформе
GP_Socials.CanJoinCommunity();
Площадки с нативным функционалом
Площадки без поддержки
- JavaScript
- Unity
// Поддерживается ли нативное вступление в сообщество
gp.socials.isSupportsNativeCommunityJoin;
// Поддерживается ли нативное вступление в сообщество
GP_Socials.IsSupportsNativeCommunityJoin();
Вступить в сообщество:
- JavaScript
- Unity
gp.socials.joinCommunity();
GP_Socials.JoinCommunity();
Вы можете подписаться на событие завершения вступления в сообщество:
- JavaScript
- Unity
gp.socials.on('joinCommunity', (success) => {
// success = true, если успешно выполнено действие "вступить в сообщество"
});
//Подписка на событие
private void OnEnable()
{
GP_Socials.OnJoinCommunity += OnJoinCommunity;
}
//Отписка от события
private void OnDisable()
{
GP_Socials.OnJoinCommunity -= OnJoinCommunity;
}
// success = true, если успешно выполнено действие "вступить в сообщество"
private void OnJoinCommunity(bool success) => ConsoleUI.Instance.Log("SOCIALS: ON JOIN COMMUNITY: " + success);
Работа с параметрами для шаринга
Вам может понадобиться создать ссылку для приглашения игрока, в которой могут содержаться ID пригласителя и какой-нибудь подарок приглашаемому. Для этого необходимо добавить эти параметры в ссылку игры на площадке. Все площадки по-разному просят формировать URL. Мы объединили создание ссылок в один метод. Так же при переходе по этой ссылке вам доступны все переданные ранее параметры.
Создать ссылку для шаринга
FREE- JavaScript
- Unity
const shareUrl = gp.socials.makeShareUrl({
// любые ваши параметры
fromId: gp.player.id,
gift: 'GOLD_SWORD_X5',
});
// https://vk.com/app7869399#eyJmcm9tSWQiOjE4MDcwMTksImdpZnQiOiJHT0xEX1NXT1JEX1g1In0=
// Содержание в ссылку передается строкой
public string MakeShareLink(string content)
{
return GP_Socials.MakeShareLink(content);
}
Считать параметры при заходе по ссылке
FREE- JavaScript
- Unity
// любые ваши параметры, указанные в ссылке
const fromId = gp.socials.getShareParam('fromId'); // 123456
const gift = gp.socials.getShareParam('gift'); // "GOLD_SWORD_X5"
// ID игрока, который поделился
int sharePlayerID = GP_Socials.GetSharePlayerID();
// Содержание в ссылке
string shareContent = GP_Socials.GetShareContent();
Оставайтесь на связи
С другими разделами документации вы можете ознакомиться здесь. Для начала работы вы можете ознакомиться с нашими туториалами.
Сообщество GamePush в Telegram
: @gs_community.
Для ваших обращений e-mail
: [email protected]
Желаем вам успехов!