|
Модераторы: javastic |
|
rlepricon |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 62 Регистрация: 25.4.2006 Репутация: нет Всего: нет |
Добрый день.
Пытаюсь разобраться с внутренними покупками в приложении, но никак не могу осилить :-( Если есть у кого-то подробный гайд на русском, поделитесь, пожалуйста. Пока даже не знаю про что спросить, кроме того, как это подробно работает и как мне встроить это в своё приложение? Хочу в игре продавать подсказки к головоломке. Как я понимаю, мне надо ещё на своей стороне делать серверную часть, которая как раз и отправляет подсказки. Не совсем понимаю как это всё будет вместе работать. Поделитесь опытом . Спасибо. |
|||
|
||||
Мелена |
|
|||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 27.9.2017 Репутация: нет Всего: нет |
и я послушаю.
|
|||
|
||||
Hiori |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 51 Регистрация: 29.3.2016 Репутация: нет Всего: нет |
а в чем Вы видите основную проблему? по-хорошему я бы ввела некую систему аккаунтов (как авторизоваться и что для акка нужно - дело десятое, важна сама суть), на акке должна существовать некая игровая валюта, которая и будет списываться при получении подсказки (почему не сразу реальные денежки - чтобы не пихать множество раз пользователю под нос оплату, а раз купил, скажем, кристаллы и потом покупай за них подсказки, пока не кончатся, а там снова единожды оплата с карты) сервер может быть любым, но в Вашем случае (не понимаете как и что и, как я поняла, первый опыт) проще всего сваять простенький отклик на php, я думаю с программированием под пэху на апаче Вы сталкивались хоть раз. при нажатии "подсказка" в адрес сервера можно отправить всего одно поле - UserName, скрипт на сервере уменьшит в БД количество внутриигровой валюты и отправит приложению ответ "да", если хватило и "нет", если валюты не хватает на подсказку. А приложение, получив ответ, либо дает подсказку, либо говорит о нехватке валюты и предлагает ее купить. не нужно кидать в меня тапками с надписью "account security" и т.п., да, отправлять одно поле - глупость, но просили же суть, а не готовый вариант, правда? |
|||
|
||||
iillyyaa2033 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 24.6.2017 Репутация: нет Всего: нет |
У гугла все уже есть. Берите и пользуйтесь.
|
|||
|
||||
rlepricon |
|
||||
Шустрый Профиль Группа: Участник Сообщений: 62 Регистрация: 25.4.2006 Репутация: нет Всего: нет |
Спасибо Теперь стало понятнее Буду разбираться дальше |
||||
|
|||||
rlepricon |
|
||||||
Шустрый Профиль Группа: Участник Сообщений: 62 Регистрация: 25.4.2006 Репутация: нет Всего: нет |
Поделюсь своими изысканиями, вдруг кому-то поможет.
Остановился на использовании библиотеки Android In-App Billing v3 Library - она просто оказалось для меня самой понятной и простой для моих задач. гитхаб тут: https://github.com/anjlab/android-inapp-billing-v3 Там вроде всё описано, но пробегусь ещё раз: 1. Подключаем библиотеку к проекту, для этого в файл build.gradle (Module: app) в разделе dependencies в самый конец добавляем строчку: compile 'com.anjlab.android.iab.v3:library:1.0.44' У меня получилось так:
Не забываем после внесения изменений, нажать Sync Now в верхнем правом углу окна. 2. Добавляем в файл с Activity две библиотеки: import com.anjlab.android.iab.v3.BillingProcessor; import com.anjlab.android.iab.v3.TransactionDetails; 3. Снабжаем нашу Activity функционалом BillingProcessor.IBillingHandler: public class Game extends AppCompatActivity implements BillingProcessor.IBillingHandler 4. Создаём переменную: BillingProcessor bp; 5. Проверяем, что плеймаркет доступен, затем создаём и инициализируем переменную:
6. Заполняем соответствующие методы. У меня получилось так:
В своём приложении я продаю подсказки. Так как схема с моим бэкенд сервером для меня пока не полностью ясна, то я для каждого задания и каждой подсказки создал как отдельный товар в плеймаркете. При инициализации я получаю список уже купленных подсказок и расставляю уже подсказки на правильные места, ну и потом обрабатываю покупки из приложения. Немного скомкано, но надеюсь поможет. Дальше разбираюсь со схемой с моим бэкенд сервером. Это сообщение отредактировал(а) rlepricon - 31.10.2017, 22:52 |
||||||
|
|||||||
rlepricon |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 62 Регистрация: 25.4.2006 Репутация: нет Всего: нет |
Ещё небольшое, но для меня оказалось важным, дополнение:
Для тестирования покупок необходимо, чтобы тестируемое приложение было подписано, и выложено в Google Play, лучше всего это делать через бета-тестирование. Если просто запускать приложение из Android Studio на телефоне, то при попытке совершить покупку будет выведено сообщение, что данная версия приложения не работает с платёжной системой Googl Play, при этом выложив приложение в Google Play, всё начнёт работать. |
|||
|
||||
rlepricon |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 62 Регистрация: 25.4.2006 Репутация: нет Всего: нет |
Небольшое дополнение.
Дописал новогоднюю головоломку и решил добавить туда донаты. То есть платежи, которые можно совершать многократно. То есть, если мы совершаем покупку, то для для повторной покупки товар необходимо реализовать. Чтобы реализовать товар, в метод @Override public void onProductPurchased(String productId, TransactionDetails details) добавляем строку bp.consumePurchase(productId); после этого товар можно приобретать повторно. |
|||
|
||||
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Android | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |