Подписка без автоматического продления


#1

Объясните, пожалуйста, логику.

Вот есть у меня покупка “Подписка без автоматического продления”.
Пользователь устанавливает приложение, приложение сохраняет у себя в памяти дату установки … через 7 дней после установки (trial) приложение просит оплатить подписку на месяц.

Но как быть с этим демо-периодом. Ведь человек может удалить приложение и установить заново и опять будет демо-период 7 дней. Как получить эту дату первичной установки приложения?

Как вообще решается такой вопрос, чтобы получить дату от apple или от самого телефона?

ps … Ещё можно уйти от этого “подпиской”, но до конца не ясно, есть ли какие-то ограничения на приложения с подпиской? Или в любое приложение её можно встроить и пропустят?


#2

Пишешь в keychain или в iCloud дату начала триала и потом валидируешь. Простая переустановка без сброса девайса и смены iCloud не поможет.


#3

А не могли бы подсказать, где пример посмотреть или какой-то материал?

я вот это нашла:

Но может есть варианты без тих костылей?

В идеале записать iCloud и жить спокойно)


#5

Вроде что-то нашла, а подскажите, если туда дата записана, она не может быть удалена пользователем как-то или изменена, оно вообще как-то отображается, что в его iCloud есть запись?


#6

Вот у Ивана есть урок по работе с Keychain https://www.youtube.com/watch?v=Wz5QHslN_bs
Ничего сложного там нет, по ключу сохраняется обычная строка. К этому хранилищу на сколько мне известно у пользователя доступа нет.


#7

В итоге дату в формате даты, а не стринга сохранить в Keychain возможно?


#8

А какая разница? Уже с вами же разбирали, что при формитровании даты в режиме .full всё необходимое сохраниться в String и обратно