Измените платный Android-приложение на бесплатное приложение с покупкой в ​​приложении

Я получил успешную оплату за приложение в Google Play Store и хочу обновить это приложение, чтобы получить бесплатное приложение с покупкой в ​​приложении.

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

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

Есть ли способ проверить историю покупок пользователя, определить, что они уже заплатили за приложение и разблокировать дополнительные функции без покупки в приложении?

Спасибо за любую помощь. Льюис

Solutions Collecting From Web of "Измените платный Android-приложение на бесплатное приложение с покупкой в ​​приложении"

Это был год, поэтому OP, вероятно, не нуждается в этом, но в случае, если кто-то другой случится с этим …

Вы могли бы подойти к этому несколько способов. Очевидно, что в вашем новом приложении для покупки приложений есть какая-то бизнес-логика, чтобы отслеживать, кто / не заплатил. Таким образом, два пути, по которым я вижу, что вы можете это сделать, таковы:

Идея 1:

Вы можете сделать предварительное обновление для вашего платного приложения, в котором хранится SharedPreference или какая-либо другая настойчивость в приложении (вы можете сохранить код версии, чтобы вы знали, от чего вы обновляетесь, и имеете деловую логику). Затем обновите до бесплатной версии и попросите бесплатную версию проверить свои общие предпочтения и сделайте правильную вещь при обновлении с «платного» versionCode.

Идея 2:

Вы можете оставить оба приложения отдельными (иметь платную версию и бесплатно с покупками в приложении) и нажимать обновление на платную версию, чтобы иметь BroadcastReceiver , который на самом деле не делает ничего, кроме прослушивания конкретных намерений, Проверить покупку приложения, чтобы убедиться, что что-то примет ваше намеренное намерение. Если ваша старая платная версия существует, они заплатили за нее, если бы не они. (Если они заплатили за платную версию, а затем удалили, у вас будут проблемы, очевидно …)

Идея 3:

Вы можете оставить оба приложения отдельными (иметь платную версию и бесплатно с покупками в приложении) и нажимать обновление на платную версию, которая только что отправляет Intent открыть приложение для покупки в приложении (если оно установлено) с некоторыми специальными Аргументы, чтобы вы знали, что они открыли его через платное приложение и делают все возможное, чтобы настроить их за то, что заплатили за него в приложении. Это раскрывает некоторые проблемы с обнаружением, хотя … (Разрешимый, но вроде неуклюжий)

Вы можете сохранить существующую платную версию и создать еще одну бесплатную версию.

Если вы действительно не хотите иметь 2 версии, просто сделайте это бесплатно и сообщите пользователям что-то вроде «Свяжитесь с нами, если вы купили платную версию. Мы дадим вам код выкупа, чтобы разблокировать xxx '.

В Google Play нет разницы между оплатой приложения или бесплатной загрузкой. Например, если пользователь загружает приложение, пока он свободен, и позже он будет изменен на платный, пользователь будет по-прежнему иметь полный доступ к нему, даже будучи в состоянии загрузить его на другие устройства.

Для этого есть некоторые хромые обходные пути :

  • Включите сервисы игровой игры google на платной версии и попробуйте убедить пользователей подключиться к ней. Используйте сервисы Google Play для хранения «купленной во время оплаты» информации в облаке и восстановления ее всякий раз, когда этот пользователь вводит в систему
  • Предоставьте всем пользователям, купившим некоторые ключи, чтобы разблокировать функции
  • Создайте другую для бесплатной версии игры

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

https://developer.android.com/distribute/tools/launch-checklist.html#decide-price

Эта ссылка кажется актуальной, надеюсь, что она поможет

В Google Play вы можете публиковать приложения бесплатно для загрузки или оценки. Бесплатные приложения могут быть загружены любым пользователем Android в Google Play. Платные приложения могут быть загружены только пользователями, которые находятся в стране, поддерживающей оплаченные закачки, и зарегистрировали способ оплаты в Google Play, например, кредитную карту или оплату по прямой перевозке.

Решение о том, будут ли ваши приложения бесплатными или оплачиваться, важно, потому что в Google Play бесплатные приложения должны оставаться бесплатными.

Как только вы публикуете приложение в качестве бесплатного приложения, вы не можете изменить его как дорогостоящее приложение. Тем не менее, вы можете продавать продукты и подписки в приложении через службу биллинга в приложении Google Play. Если вы публикуете свое приложение в качестве дорогостоящего приложения, вы можете в любое время изменить его, чтобы быть свободным приложением (но не можете изменить его по цене). Вы также можете продавать продукты и подписки в приложении. Если ваше приложение будет оценено, или если вы будете продавать продукты в приложении, вам необходимо настроить учетную запись продавца платежей Google, прежде чем вы сможете опубликовать ее.

Я считаю, что самый простой способ – использовать эту строку кодов

Это дает вам старый код версии

 SharedPreferences prefs = getSharedPreferences("Name_of_Prefs", MODE_PRIVATE); int oldVersionCode = prefs.getInt("version_code", -1); 

Это дает вам текущий код версии

 int currentVersionCode = getPackageManager().getPackageInfo(getPackageName(),0).versionCode; 

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

 prefs.edit().putInt(PREF_VERSION_CODE_KEY, currentVersionCode).commit();