Я создаю приложение, в котором у меня есть функция покупки в приложении. Я использую невозобновляемый тип подписки, но я должен предоставить поддержку для восстановления подписки на нескольких устройствах.Невозобновляемая покупка в приложении с восстановлением с помощью iCloud
После прохождения нескольких документов я узнал, используя iCloud, чтобы лучше реализовать его и предоставить подписку на несколько устройств пользователя. Наконец я решил, что следующий дизайн должны быть реализованы:
- Пользователь исследует приложение
- Переходов на In-App вариант кнопки покупки
Проверка на ICloud наличие
ICloud Доступные :
- Продолжить покупку в обычном порядке
ICloud не доступна:
вид Показать оповещение: «Вход в ICloud, необходимыми для получения доступа к подписанному содержимому на другом устройстве», с вариантами «OK "и "Продолжить"
Нажмите кнопку OK:
- остается на той же странице
Нажмите "Продолжить в любом случае":
- продолжается с покупкой
- Если уже приобрели и ICloud доступны, обновление Расписка ICloud
При успешной покупке мы получаем квитанцию о транзакции. Мы будем хранить эту квитанцию в iCloud (одноразовый магазин в iCloud в момент временипокупки) с использованием хранения значений ключа, а также по умолчанию пользователя
Приобретение успешно.
Пользователь запускает приложение с другого устройства
- Проверки для любого получения сделки в значениях по умолчанию пользователя.Если есть возможность, проверьте и действовать соответствующим образом
Если нет расписки в удобном для пользователей по умолчанию, Проверить ICloud наличия
ICloud Доступно:
- Проверьте, есть ли расписка сделки доступна
- Если доступный, проверьте получение. Если квитанция действительна, не дают подписку, содержанию
- Если нет, никаких дополнительных действий и продолжить нормально
ICloud не доступно:
- Показать предупреждение вид: «Пожалуйста, войдите в свой аккаунт ICloud получать доступ к вашему подписному контенту, если таковые имеются »с опциями« OK »
- В приложении пользователь включает опцию« подписаться на добавление HD », будет проверять его подписку
ВОПРОС:
- Пользователь покупает приложение без входа в ICloud
- запускает приложение с другого устройства
- Он не в состоянии получить абонированной содержание
Единственный способ справиться с этим сценарием идеально, учитывая все тестовые сценарии, заключается в том, чтобы хранить учетные данные пользователя iCloud в пользовательских значениях по умолчанию, которые я не уверен, что можно сделать/рекомендуется/разрешено. Любое предложение приветствуется.
Кроме того, мне понадобятся любезные взгляды людей на вышеупомянутые шаги, которые будут правильным путем или нет. Просьба предложить, могу ли я улучшить его или иметь лучший способ.
Как хранить учетные данные пользователя iCloud в пользовательских по умолчанию, устройство? (Кстати, я бы не использовал пользовательские значения по умолчанию для этого, я бы использовал Key Chain). Кроме того, существует некоторое беспокойство по поводу stackoverflow, что Apple отклонит метод восстановления, который использует только iCloud (см. Http://stackoverflow.com/questions/9492898/how-to-support-multiple-devices-with-non-renewing-in -app-покупка/9500185 # 9500185). –
Принято, это не поможет мне сохранить учетные данные в пользовательских настройках по умолчанию. Теперь я собираюсь избежать любого сценария, о котором я должен думать о сохранении учетных данных пользователя. Я не считаю это правильным. Огромное спасибо. –