In app purchase (IAP)

Сообщение In app purchase (IAP)
» 07 янв 2021, 19:42

Поделюсь опытом добавления, настройки и, в итоге, правильной работы плагина MobileIAP(покупки в приложении).
Показывать буду на версии R225(Construct 3). Исходник в конце урока.
Изначально, если вы заинтересовались этой темой, то уже умеете начинать новый проект со всеми необходимыми вам настройками.
Урок будет исходить из того, что у вас ещё нету приложения в Google Console c разрешением BILLING.








 Настройка плагина





Добавляем сам плагин MobileIAP в проект. Так же, добавим плагин Touch, раз мы делаем под мобильные устройства.
Безымянный-1.png
Добавляем плагин IAP

Добавляем текст и кнопки. Текст отображает название продукта, а кнопка (Sprite) будет отвечает за запрос покупки.
2.png
Кнопки и текст

Чтобы не добавлять три кнопки, скопируем и вставим эту. Добавим к ней переменную "id" и пропишем порядковые номера для кнопок 1, 2, 3, соответственно.
перемприв.png
Добавление приватной переменной

Перейдём в лист событий. И пропишем следующее действие, отвечающее за регистрацию продуктов. При старте Layout:
9.png
On start of layout -> Add Product

Product ID - название покупаемого объекта. Ввести можете, что угодно, пока это не повлияет.
Product Type - тип покупки:
    Non-consumable - покупки, которые разблокирует часть контента, пользователю единожды и навсегда.
    Consumable - многократные покупки, например, игровых бонусов, скинов, валют и т.п.
11.png
Добавляем продукт

7.png

Делаем эту же операцию для остальных продуктов, после чего завершаем регистрацию покупок!
8.png


Теперь нам необходимо отследить на какую кнопку пользователь нажал,и что должно произойти.

Добавим условие Touch, On tap Object и выберем нашу кнопку. Далее добавим подусловие, отслеживающее переменную экземпляра, и, исходя из неё, будет совершаться покупка в дальнейшем.
6.png
Нажатие и поддействие

В подусловие с определением переменной добавляем условие(Product available), которое проверит, готов ли продукт к покупке:
5.png
Готов ли продукт

Вместе с этим добавим, для наглядности примера, три глобальных переменных:
перемглоб.png
Глобальные переменные

Если продукт был зарегистрирован успешно и готов, то производим запрос покупки соответствующего продукта:
12.png
Запрос

Теперь сделаем проверку покупки.
Добавим условие On purchase success(если покупка произошла успешно):
10.png
Проверка покупки

И добавляем действие: если покупка произошла успешно, то добавляем, к уже созданным переменным, значения, которые были куплены пользователем:
13.png
Добавляем валюту

Теперь у вас должно всё выглядеть примерно так:
14.png
Что получилось

При старте уровня мы регистрируем продукты, которые далее укажем в Google Console. После того, как мы их указали, завершаем регистрацию.
При нажатии на кнопку, отслеживается, на какую кнопку с какой переменной было произведено нажатие и проверяется готовность соответствующего продукта к покупке.
Производится запрос продукта на покупку.
Если покупка произведена успешно, то добавляем виртуальную валюту, бонусы и т.п.

После того, как всё это вы сделали, экспортируйте свой проект в подписанные APK или AAB и отправляйте в Google Console на публикацию.










 Добавление товара в Google Console





Если у вас не возникло никаких других проблем, то его опубликуют и у нас будет приложение с разрешение BILLING.
Теперь перейдём в Google Console. Выбираем нужное приложение - открывается панель управления этого приложения. Панель слева прокручиваем вниз. Находим пункт "Товары" в разделе "Монетизация" и нажимаем "Контент для продажи":
15.png
Находим пункт "Контент для продажи"

Откроется окно "Контент для продажи", где мы нажимаем синюю кнопку "Создать товар":
16.png
Создаем товар

Нам надо описать товар, который мы уже указали в приложении.
Идентификатор указываем точно такой же, что и в Construct'е указывали!(Изменить в Construct'е можно, если ошиблись в консоли(после публикации сработает), а в консоле только полным удалением товара всё изменить можно.):
17.png
Идентификатор

С названием и описанием всё понятно:
18.png
Название, описание

Цену выставляйте за один продукт, т.е. за 99 рублей пользователь получит 100 монет:
19.png
Цена за один продукт

После того, как всё указали, сохраняем:
20.png
Сохраняем

Ещё раз всё проверяем и активируем. Можно активацию произвести потом. Так же можно деактивировать или удалить вовсе товар.
21.png
Активируем

Делаем тоже самое для остальных продуктов:
22.png
Добавляем остальные


Всё! Теперь у вас есть работающие внутриигровые покупки в вашей игре/приложении.



MobileIAP.c3p
(52.74 КБ) Скачиваний: 17
Исходник C3 r225 MobileIAP

Конечно, надо будет добавлять сохранение после покупок и т.п., но я надеюсь, что люди, интересующиеся внутриигровыми покупками, уже это умеют.

Нашли ошибку, напишите мне - исправлю.

Если кому интересно, могу сделать похожий урок по рекламе или по полной публикации игры в Google Play.
Изображение
Аватара пользователя

Участник
Сообщений: 52
Я тут с 29 сен 2017, 19:00
Откуда: Калининград