Подтвердить что ты не робот

Переход на существующую оплаченную версию приложения на бесплатную версию с покупкой приложения

У меня есть существующие пользователи платного приложения в App Store. Я хотел бы перейти на приложение в бесплатное приложение с возможностью разблокировки. Есть ли способ превратить моих существующих пользователей в эту новую бесплатную версию, которая позволяет заплатить "обновление", чтобы существующие пользователи обрабатывались так, как если бы они уже заплатили за это обновление? ИЛИ, как я ожидаю, мы должны поддерживать две отдельные базы кода, поскольку продвижение приложений продвигается вперед - вместо того, чтобы злиться на наших существующих клиентов, заставляя их покупать снова?

Я знаю, что на начальном этапе не будет много авторитетных ответов на этот вопрос, поскольку Apple только сегодня начала разрешать поддержку покупок In-App из бесплатных приложений...

4b9b3361

Ответ 1

Одним из возможных решений может быть размещение кода в новом обновлении вашего платного приложения, которое будет переворачивать любой коммутатор, который вы будете использовать для идентификации платных клиентов (будь то в списке свойств или в другой форме). Если вы дадите своим существующим платным клиентам достаточно времени для обновления, они должны быть отмечены как оплаченные. Затем сделайте свою платную версию бесплатной/платной версией обновления и удалите существующую версию Lite из магазина. Новые клиенты должны будут использовать покупку in-app для разблокировки полной версии, но существующие клиенты будут признаны уже оплаченными.

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

Ответ 2

Есть ли способ узнать, было ли ваше приложение запущено раньше? (например, настройки, которые вы пишете на выходе, созданные файлы данных, отметка даты первого запуска?)

Если это так, вы можете поместить код в свое обновление, например:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if (nil == [defaults objectForKey:@"app_v2_has_been_run"]) {
    if (nil == [defaults objectForKey:@"some_key_v1_makes"] {
         // they never had v1 of your app
    } else {
         // they had v1 of your app, so unlock some stuff for them
    }
    [defaults setObject:[NSDate date] forKey:@"app_v2_has_been_run"]; // or whatever
}

Ответ 4

Для меня поддержка двух отдельных кодовых баз не будет хорошим решением, потому что вам нужно будет поддерживать 2 при покупке приложения (хуже того, при покупке приложения с сервером), возможно, 2 игровых центра и отделить загрузку ( и поэтому менее заметны), потому что, может быть, какой-то новый пользователь будет напрямую покупать платное приложение.

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

Лучший способ - попросить базу данных Apple узнать, когда пользователь покупает приложение или что-то в этом роде. Если кто-то знает трюки, чтобы сделать это, я буду рад, что он разделяет его;)