Предыстория:
Apple требует, чтобы вы внедрили механизм восстановления для этого типа покупок, чтобы пользователи могли вернуть свои покупки после очистки устройства или просмотреть покупки с другого устройства пользователя.
Один из общепринятых подходов Apple для этого — выполнить необязательную регистрацию пользователя и обработать ее на своем сервере, чтобы сохранить квитанции о транзакциях. так как Apple не делает этого, как другие типы покупок, как нерасходуемые товары. которые позволяют получить все квитанции пользователей для их восстановления.
Apple говорит, что регистрация должна быть необязательной. но мы должны указать пользователю, что для просмотра покупок с других устройств требуется регистрация.
Мой предлагаемый подход:
Я собираюсь реализовать механизм восстановления, сохраняя чеки о покупках в iCloud. Я укажу, что для доступа к содержимому подписки с других устройств iOS пользователя требуется вход в iCloud.
При покупке успешного приложения. проверит, доступен ли iCloud для сохранения сведений о подписке (квитанция о транзакции). В противном случае подписки будут сохранены в настройках пользователя по умолчанию. Каждый раз приложение. запущен, он проверит, доступен ли iCloud, и iCloud будет синхронизирован с пользовательскими настройками по умолчанию. сведения о подписках, доступные в настройках по умолчанию пользователя, а не в iCloud, будут скопированы в iCloud, а подписки, доступные в iCloud, а не в настройках по умолчанию пользователя, будут скопированы в настройки по умолчанию пользователя.
Это дает пользователям возможность входить в iCloud в будущем только для переноса своих подписок на другие устройства или непосредственно перед тем, как они решат удалить приложение. чтобы сохранить свою подписку. (Все это будет работать точно так же, как у нас была возможность регистрации пользователя). Это принято?
Еще одна вещь. Мое приложение. предположим, что он будет работать и на iOS 4.x. что означает, что iCloud недоступен. Это тоже нормально? или я должен отказаться от запуска приложения. на iOS 4.x, если я хочу использовать подход iCloud? что, если я еще укажу, что восстановление не будет доступно для iOS 4.x?