Добавление плагина в проект Unity
В этой статье мы расскажем о том, как добавить плагин GamePush в ваш проект Unity.
Последняя версия плагина доступна по ссылке.
Плагин работает на версиях Unity 2020 и выше.
Добавление игры в панель управления
Перед тем как начать установку плагина GamePush в ваш проект на Unity:
- Добавьте игру в панели управления играми.
- Нажмите кнопку
Добавить игру. - Перейдя в новое окно дайте название игре и нажмите кнопку
Добавить игру. После этого вы попадете в интерфейс проекта. Для добавления проекта в Unity вам понадобятся:ID проектаиПубличный ключ.

- Скопируйте
ID проектаиПубличный ключчтобы позднее добавить их в ваш проект Unity.
Добавление плагина в Unity
- Перейдите по ссылке и скачайте последнюю версия плагина.

Для того чтобы начать работу с плагином GamePush в Unity добавьте его стандартным способом как и другие пакеты и ассеты. В верхнем меню Unity
Assets -> Import package -> Custom Package. Выберитеunitypackageплагина, который был скачан ранее.В новом окне Unity предложит импортировать содержимое пакета. Нажмите
Import, дождитесь окончания процесса. Если все сделано правильно, то в окнеProjectвместе с другими файлами проекта появится папкаGamePush.После того, как плагин GamePush был добавлен, можно использовать модули плагина в проекте.
Использование модулей GamePush
Работа с плагином производится через модули, каждый из которых отвечает за отдельный функционал. Все модули плагина используются из скриптов.
Для работы с модулями:
Добавьте библиотеку GamePush через
using GamePush.Обратитесь к нужному модулю. Название всех модулей начинается с
GP.

- Для корректной работы с плагином нужно дождаться его инициализации, прежде чем вызывать его методы. Для этого есть модуль
GP_Init.
using UnityEngine;
// Добавьте библиотеку GamePush
using GamePush;
public class TestScript : MonoBehaviour
{
// Можно подписаться на событие GP_Init.OnReady
private void OnEnable()
{
GP_Init.OnReady += OnPluginReady;
}
// Можно дождаться готовности через await GP_Init.Ready
private async void Start()
{
await GP_Init.Ready;
OnPluginReady();
}
// Можно проверить готовность через GP_Init.isReady
private void CheckReady()
{
if(GP_Init.isReady)
{
OnPluginReady();
}
}
private void OnPluginReady()
{
Debug.log("Plugin ready");
}
}
Пример показа рекламы с вознаграждением (модуль GP_Ads)
using UnityEngine;
// Добавьте библиотеку GamePush
using GamePush;
public class AdsManager : MonoBehaviour
{
// Подпишитесь на событие GP_Ads.OnRewardedReward;
private void OnEnable()
{
GP_Ads.OnRewardedReward += OnRewarded;
}
private void OnDisable()
{
GP_Ads.OnRewardedReward -= OnRewarded;
}
// При вызове метода можно указать любое текстовое значение
// Например: COINS или GEMS
private void ShowRewarded(string idOrTag)
{
GP_Ads.ShowRewarded(idOrTag);
}
// При успешном просмотре Reward рекламы
// можно даввать награду проверяя указанное значение:
private void OnRewarded()
{
if (idOrTag == "COINS")
Player.AddCoins(250);
if (idOrTag == "GEMS")
Player.AddGems(15);
}
}
Настройка проекта Unity для сборки WebGL билда
Для сборки проекта под веб-платформы, необходимо переключить в настройках сборки (Build Settings) целевую платформу на WebGL (если у вас нет WebGL в списке платформ, установите соответствующий модуль для вашей версии Unity)
В проекте Unity откройте:
Tools->GamePush.Укажите
Project idиPublic Tokenвашего проекта, которые копировали из панели управления GamePush.
в панели управления GamePush:

в проекте Unity Project ID и Token:

Если хотите показать рекламу сразу же при открытии игры то поставьте галку
Show Preloader AdЕсли хотите вызвать событие GameReady автоматически, укажите задержку вызова в миллисекундах в поле
Game Ready Delay. Например, для задержки в 2 секунды (столько длится заставка Unity) укажите 2000.После заполнения полей
Project ID,Tokenи дополнительных настроек, нажмитеSave.Теперь можно собирать билд, с любым WebGL темплейтом.
Полезная информация
Для проверки правильно ли установлена реклама: В редакторе Unity подставлены заглушки с выводом в Console нужной информации. Выглядят они в таком виде:

Если появляются ошибки в редакторе Unity в виде:
EntryPointNotFoundException: ...
То в эти методы плагина не подставлены заглушки, и для проверки всего функционала плагина нужно создать Build игры и проверять на нужной площадке или на хостинге.
Если есть проблемы на мобильных устройствах: Используйте версию Unity 2022.3 или позднее. В версиях 2021 года и раньше нет официальной поддержки мобильных устройств в WebGL, а ранние версии 2022 года имеют проблемы снекоторыми мобильными браузерами.
Если проект не билдится или игра бесконечно грузится: Проверьте путь проекта и его папок на наличие кириллицы, символы русского языка могут помешать сборке билда. То же самое с названием архива и папок в нём - кириллица, пробелы и спецсимволы могут стать причиной бесконечной загрузки игры.
В проекте используется WEBGL Template:
https://github.com/greggman/better-unity-webgl-template
Плагин наследует иерархию и подход к наименованиям от sdk, можно обращаться к документации за дополнительной информацией о работе методов.
Ссылка на репозиторий: https://github.com/GamePushService/GamePush-Unity-plugin
Список методов: https://github.com/GamePushService/GamePush-Unity-plugin/tree/main/Demo/Assets/Plugins/GamePush/Runtime/Modules
Автор: @Dinar_Shagidullin
Оставайтесь на связи
С другими разделами документации вы можете ознакомиться здесь. Для начала работы вы можете ознакомиться с нашими туториалами.
Сообщество GamePush в Telegram: @gs_community.
Для ваших обращений e-mail: official@gamepush.com
Желаем вам успехов!