Добавить обнаружение при первом запуске в * уже существующее * приложение iOS

Для приложения, которое еще не выпущено первым, легко выяснить, как обнаружить первый запуск: ищите отсутствие "wasLaunched" Bool или номера версии в UserDefaults. А затем установите его значение. Об этом спрашивают и отвечают в нескольких местах на Stackru.

Но... Я обновляю уже существующее приложение, которое не сохраняло никакой информации UserDefaults (любого вида) в своей первой версии. Есть ли какой-нибудь способ обнаружить при запуске новой версии, что предыдущая версия существовала и работала? Я не могу думать об этом, но это мало что доказывает.

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

Это также было задано ранее ( Обнаружение первого запуска приложения с предыдущими версиями), но все ответы не попадали в точку уже существующего приложения.

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

1 ответ

Решение

Исходя из вашего ответа на первые несколько вопросов в комментариях, вопрос, который вы разместили, действительно должен быть переписан примерно так:

В настоящее время у меня есть бесплатное приложение. В следующем обновлении я хочу превратить некоторые из бесплатных в настоящее время функций в платные с помощью покупок в приложении. Тем не менее, я не хочу, чтобы какие-либо существующие пользователи приложения платили за функциональность, которую они уже использовали. Только новые пользователи приложения, начиная с этого обновления, должны платить за покупку в приложении. Как реализовать мое обновленное приложение, чтобы загрузчики предыдущей версии приложения не платили?

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

Это можно сделать, выполнив проверку квитанции. После получения и проверки квитанции вы можете проверить квитанцию ​​и получить оригинальную дату покупки и оригинальную версию покупки. Если эта версия является версией до добавления платной покупки в приложении, обработайте пользователя так, как если бы он уже совершил покупку в приложении, и покажите ему платную функциональность вашего приложения. В противном случае проверьте квитанцию, чтобы узнать, содержит ли она данные о покупке в приложении, и предоставьте пользователю соответствующий доступ.

Другие вопросы по тегам