Android: PRO версия приложения. Как лучше сделать?
Решил сделать в своем приложении покупку обновления до PRO версии с расширенным функционалом. Мучает вопрос как это лучше сделать.
Использовать собственный сервер для проверки платежей нет возможности, поэтому сейчас сделал так:
После покупки итема не потребляю его. Периодически, при старте, пытаюсь получить список итемов, и если в нем есть итем с PRO версией включаю PRO, если нет выключаю.
Беспокоит то как в данном случае будет работать возврат товара. На сколько я понимаю, если я его не потребил, пользователь может вернуть этот товар в любой момент?
Если это так, возможно ли вообще сделать продажу PRO версии без использования сервера? А то получается, пользователи дают мне подержать их деньги пока пользуются расширенной версией.
Добавлю. Продажу нужно осуществлять на Google аккаунт, запись покупки в преференсы перед потреблением не подходит.
Товвр "Про версия" должен быть "не возобновляем", тоесть его тип должен быть "контролируется google". Почитайте про то, какие типы товаров есть.
Чтоб обойтись без сервера, вы действительно можете просто при старте приложения запросить покупки, которые совершал пользователь, и в случае, если он купил про версию, и не отменил её, сохранить в Preferences нужную информацию.
в 3ей (текущей версии) If you are using the Version 3 API, you can also consume managed items within your application. You would typically implement consumption for items that can be purchased multiple times (such as in-game currency, fuel, or magic spells). Once purchased, a managed item cannot be purchased again until you consume the item, by sending a consumption request to Google Play. Про получать список при старте и уже дальше плясать от этого правильно.
Вот более подробно о нужном вам типе продукта developer.android.com/google/play/billing/api.html
Non-consumable Items
Typically, you would not implement consumption for in-app products that can only be purchased once in your application and provide a permanent benefit. Once purchased, these items will be permanently associated to the user's Google account. An example of a non-consumable in-app product is a premium upgrade or a level pack.
Решаете вы. Возобновляемый продукт (Consumable items) покупается пользователем, долее приложение получает уведомление о том, что пользователь купил продукт, сохраняет информацию об этом, и (важно) вы должны отправить запрос на потребление в Google Play и получить успешный ответ, что покупка расходуемого материала была зафиксирована. Таким образом продукт станет опять доступен для покупки.
Но, в случае Про версии нужно выбирать тип "Non-consumable"
vitvov: Сейчас, при создании продукта нет возможности выбрать "Non-consumable". Очевидно, фраза "Typically, you would not implement consumption for in-app products..." значит, что только от меня зависит как с ним поступить. Если я его потребил, то это Сonsumable, если нет то Non-consumable.
В консоли разработчика выбираете приложение, далее пункт меню "Контент для продажи", далее "Добавить продукт", далее нажимаете на "контролируется google" и вводите уникальное имя продукта.