Перейти к основному содержимому

Добавление плагина в проект Unity

В этой статье мы расскажем о том, как добавить плагин GamePush в ваш проект Unity.

tip

Последняя версия плагина доступна по ссылке.

Плагин работает на версиях Unity 2020 и выше.

Добавление игры в панель управления

Перед тем как начать установку плагина GamePush в ваш проект на Unity:

  1. Добавьте игру в панели управления играми.
  2. Нажмите кнопку Добавить игру.
  3. Перейдя в новое окно дайте название игре и нажмите кнопку Добавить игру. После этого вы попадете в интерфейс проекта. Для добавления проекта в Unity вам понадобятся: ID проекта и Публичный ключ.

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

Добавление плагина в Unity

  1. Перейдите по ссылке и скачайте последнюю версия плагина.

  1. Для того чтобы начать работу с плагином GamePush в Unity добавьте его стандартным способом как и другие пакеты и ассеты. В верхнем меню Unity Assets -> Import package -> Custom Package. Выберите unitypackage плагина, который был скачан ранее.

  2. В новом окне Unity предложит импортировать содержимое пакета. Нажмите Import, дождитесь окончания процесса. Если все сделано правильно, то в окне Project вместе с другими файлами проекта появится папка GamePush.

  3. После того, как плагин GamePush был добавлен, можно использовать модули плагина в проекте.

Использование модулей GamePush

Работа с плагином производится через модули, каждый из которых отвечает за отдельный функционал. Все модули плагина используются из скриптов.

Для работы с модулями:

  1. Добавьте библиотеку GamePush через using GamePush.

  2. Обратитесь к нужному модулю. Название всех модулей начинается с GP.

  1. Для корректной работы с плагином нужно дождаться его инициализации, прежде чем вызывать его методы. Для этого есть модуль 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)

  1. В проекте Unity откройте: Tools -> GamePush.

  2. Укажите Project id и Public Token вашего проекта, которые копировали из панели управления GamePush.

в панели управления GamePush:

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

  1. Если хотите показать рекламу сразу же при открытии игры то поставьте галку Show Preloader Ad

  2. Если хотите вызвать событие GameReady автоматически, укажите задержку вызова в миллисекундах в поле Game Ready Delay. Например, для задержки в 2 секунды (столько длится заставка Unity) укажите 2000.

  3. После заполнения полей Project ID, Token и дополнительных настроек, нажмите Save.

  4. Теперь можно собирать билд, с любым 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: [email protected]

Желаем вам успехов!