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, никаких денег с вас требовать не будут.

image1

Выбираем пункт Create a new cloud project, если проект до этого не создавали

image2

После создания не забываем ответить на вопрос Ориентирована ли ваша игра преимущественно на детей меньше 13 лет.

image3

Далее открываем Package Manager через меню: Window -> General -> Services.
Ищем категорию Game Economy, выбираем там In App Purchasing и нажимаем кнопочку Install.

image4

Как установили, жмем кнопку Configure и включаем In App.

image5

✅ Круто! Сервис включен блин.

Подключаем In-App к кнопке*

Далее в проекте создаем кнопку по нажатию которой у вас будет совершаться покупка.

image6

На кнопку (или куда угодно) кидаем компонент IAP Button

image7

Далее жмем на компоненте кнопку IAP Catalog и открывается окно настройки ваших ин-апов. Сюда добавляем ваш инап, смотря какой вам нужен.

  • Consumable - многоразовая покупка, например +100 монет
  • Non Consumable - единоразовая покупка, например Отключение рекламы
  • Subscription - подписка, например Battle Pass

image8

Далее настраиваем ваш InApp. Если вы разрабатываете под App Store, то необходимо добавить в Store ID Override ID-шник отличный от главного (в данном случае Buy100Coins) из-за мудреной политики Apple. Можно просто добавить “_apple”.

image9

Вы также можете добавить Локализацию для вашей покупки нажатием на плюсик.

image10

После того как добавили ваши инапы не забудьте подключить логику покупки и ошибки покупки к вашему скрипту. Также укажите кнопку в компоненте IAP Button.
После этих действий IAP Button будет выглядеть примерно так.

image11

Также не забываем написать скрипт для работы инапов.
В скрипте нужно будет также инициализировать инапы.

Ниже представлен простейший пример:

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*

Оп-оп, последний шаг, чуть-чуть осталось!
Заходим в консоль, открываем вкладку Контент для продажи и жмем кнопку Создать товар

image12

В панели добавляем товары, которые добавляли ранее в Unity. Важно чтобы ID, Имя и Описание совпадали с тем, что вы сделали в юнити.

image13

✅ Всё! Далее можете тестировать работу ваших инапов.