Где я должен хранить данные, которые необходимо сохранить для данного AppleID?
Ответом на этот вопрос может быть хранилище iCloud, но я использую его для очень легких данных и думаю, что использовать iCloud для этой цели может быть крайне важно. У нас есть приложение для подписки в приложении. До того, как мы предоставили приложение бесплатно, но не предоставляли ему никакого контента, пока пользователь не подписался на контент через подписку в приложении.
Некоторые отзывы показывают, что люди думают, что мы пытаемся обмануть их, говоря бесплатно, а затем говоря, что они должны подписаться. Мы хотим, чтобы приложение было указано в качестве цены подписки, чтобы избежать этого недоразумения, но по истечении первого года предложите им подписку в приложении, чтобы продолжить. Мы планируем сохранить начальную дату запуска в постоянном хранилище, чтобы мы могли определить, когда начинать запрашивать подписку.
1) Мы хотели использовать хранилище цепочки для ключей, так как эта информация будет сохраняться, даже если пользователь удалит приложение со своего устройства и затем переустановит. Проблема в том, что если пользователь получает новое устройство и не восстанавливает его из зашифрованной резервной копии, то инициализированное значение будет потеряно.
2) Если мы используем наши серверы для хранения этого значения для них, то, похоже, не существует способа привязать его к этому appleID; так что это исключено как возможность.
3) Возвращаясь к iCloud, кажется, что добавить поддержку iCloud просто для этого очень много, и я считаю, что пользователю все еще нужно включить iCloud, чтобы это работало.
Кто-нибудь знает решение этой проблемы с сохранением данных? Помощь приветствуется!
1 ответ
Да, nsubiquitouskeyvaluestore - это способ синхронизировать его с новыми устройствами. Использование этого вместе с цепочкой для ключей для хранения на устройстве после удаления приложения и nsuserdefaults для быстрого и легкого неограниченного доступа - вот путь. У Apple также есть способ считывания квитанций о фактической покупке приложения, но он работает только для iOS 7. Решения должны условно полагаться на данные квитанций из URL-адреса nsbundle.mainbundle, если они доступны.