InApp в Unity - AppWillapps/KnowledgeBase GitHub Wiki
* звёздочка - обязательные пункты
Версия Unity при составлении инструкции 2022.3.22f1 LTS
Версия In App Purchasing SDK при составлении инструкции 4.11.0
Для начала необходимо создать проект для использования сервисов Unity.
Для этого переходим в меню: Services -> General Settings
Выбираем организацию, если у вас ее нет, необходимо войти в аккаунт по ссылке, нажать на кнопку Организация (Organizations) и создать организацию.
⚠️ Организация нужна лишь для корректной работы Unity и сервисов. Вы не создадите себе нажатием 2-3 клавиш юр. лицо или вторую Blizzard, никаких денег с вас требовать не будут.
Выбираем пункт Create a new cloud project, если проект до этого не создавали
После создания не забываем ответить на вопрос Ориентирована ли ваша игра преимущественно на детей меньше 13 лет.
Далее открываем Package Manager через меню: Window -> General -> Services.
Ищем категорию Game Economy, выбираем там In App Purchasing и нажимаем кнопочку Install.
Как установили, жмем кнопку Configure и включаем In App.
✅ Круто! Сервис включен блин.
Подключаем In-App к кнопке*
Далее в проекте создаем кнопку по нажатию которой у вас будет совершаться покупка.
На кнопку (или куда угодно) кидаем компонент IAP Button
Далее жмем на компоненте кнопку IAP Catalog и открывается окно настройки ваших ин-апов. Сюда добавляем ваш инап, смотря какой вам нужен.
- Consumable - многоразовая покупка, например +100 монет
- Non Consumable - единоразовая покупка, например Отключение рекламы
- Subscription - подписка, например Battle Pass
Далее настраиваем ваш InApp. Если вы разрабатываете под App Store, то необходимо добавить в Store ID Override ID-шник отличный от главного (в данном случае Buy100Coins) из-за мудреной политики Apple. Можно просто добавить “_apple”.
Вы также можете добавить Локализацию для вашей покупки нажатием на плюсик.
После того как добавили ваши инапы не забудьте подключить логику покупки и ошибки покупки к вашему скрипту. Также укажите кнопку в компоненте IAP Button.
После этих действий IAP Button будет выглядеть примерно так.
Также не забываем написать скрипт для работы инапов.
В скрипте нужно будет также инициализировать инапы.
Ниже представлен простейший пример:
using UnityEngine;
using UnityEngine.Purchasing;
namespace IAPTutorial
{
public class MegaCoolIapSdk : MonoBehaviour
{
private readonly string \_buy100CoinsId \= "Buy100Coins";
private int \_coins \= 0;
private void Start()
{
var builder \= ConfigurationBuilder.Instance(StandardPurchasingModule.Instance());
builder.AddProduct(\_buy100CoinsId, ProductType.Consumable);
UnityPurchasing.Initialize(null, builder);
}
public void Add100Coins()
{
\_coins \+= 100;
}
public void ShowBuyError()
{
Debug.Log("Error");
}
}
}
По хорошему надо изучить видео, различные статьи и написать более продвинутый скрипт)
Подключение в Google Play*
Оп-оп, последний шаг, чуть-чуть осталось!
Заходим в консоль, открываем вкладку Контент для продажи и жмем кнопку Создать товар
В панели добавляем товары, которые добавляли ранее в Unity. Важно чтобы ID, Имя и Описание совпадали с тем, что вы сделали в юнити.
✅ Всё! Далее можете тестировать работу ваших инапов.