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

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


person CKT    schedule 20.12.2016    source источник
comment
Вы не можете изменить существующий продукт. Вам нужно будет создать новый товар и убрать из продажи старый. Вам нужно будет согласовать это с новой версией вашего приложения, которая поддерживает автоматическое продление подписки.   -  person Paulw11    schedule 20.12.2016
comment
спасибо Paulw11, когда я должен удалить существующий элемент без продления. Это после утверждения Apple нового предмета обновления или перед отправкой нового предмета. каким должен быть правильный путь.   -  person CKT    schedule 20.12.2016
comment
Вы можете удалить его, как только ваша новая версия будет запущена, но имейте в виду, что люди, которые не выполнили обновление, не смогут приобрести новый продукт и не смогут приобрести старый продукт после его удаления.   -  person Paulw11    schedule 20.12.2016
comment
@Paulw11Paulw11, еще один вопрос. Я новичок в IAP, нужно ли мне отправлять новый элемент автоматического обновления и обновление приложения отдельно в itunes connect, или оно будет автоматически отправлено вместе с отправкой моей новой версии приложения.   -  person CKT    schedule 21.12.2016
comment
@Paulw11, еще один вопрос с моей стороны, т.е. я создал продукты с автоматическим возобновляемым питанием и тестировал их в среде песочницы. Мой вопрос: я купил один продукт, и если я попытаюсь приобрести тот же продукт с той же учетной записью Apple, он показывает предупреждение как уже купленное, как и ожидалось, но я не смог получить данные этой транзакции, поскольку он выполняет состояние сбоя в обновленных транзакциях. Как я могу получить эти купленные данные (такие как квитанция, данные квитанции), как мы получаем в исходной транзакции.   -  person CKT    schedule 05.01.2017
comment
Вам нужно дождаться окончания срока действия первой подписки и не продлевать ее; в песочнице это происходит ускоренными темпами. Как только вы сможете купить его снова, новая покупка будет добавлена ​​в квитанцию, как и все обновленные события.   -  person Paulw11    schedule 05.01.2017
comment
спасибо @Paulw11. но сценарий, который я ищу, заключается в том, что пользователь уже приобрел автоматически возобновляемый элемент. И снова, если пользователь покупает один и тот же товар с тем же идентификатором Apple, я получаю предупреждение о том, что «Вы уже приобрели этот товар», и это нормально. Но мне нужна оригинальная квитанция о транзакции/покупке. Когда пользователь пытается приобрести один и тот же товар, он выполняет транзакцию с ошибкой делегата, но у меня есть требование получить оригинал квитанции о покупке. Пожалуйста, дайте мне знать, как получить оригинал чека о покупке, если вы знаете.   -  person CKT    schedule 06.01.2017
comment
мой сценарий: у меня есть 2 экрана, экран покупки продуктов и экран регистрации. После того, как я приобрел продукт, используя эту информацию о квитанции, я перейду на экран регистрации, где я создам учетную запись My app. Если я купил и получил информацию о квитанции, он перейдет к экрану регистрации, и я закрою свое приложение. Тестовый пример: я купил на одном устройстве, я открыл там то же приложение на другом устройстве. Если я хочу создать учетную запись с тем же идентификатором Apple. Мне нужна уже сделанная квитанция о транзакции. Когда я пытаюсь купить товар, он показывает, что вы уже купили, но я не получаю чек.   -  person CKT    schedule 06.01.2017
comment
Как проверяют квитанцию? Как я уже сказал, Вы не можете купить снова, пока текущая подписка не будет продлена (в песочнице автообновление прекращается через некоторое время). Вы можете использовать функцию восстановления в StoreKit, чтобы получить активные подписки на другом устройстве, или просто обновить квитанцию. См. также github.com/paulw11/subscription-monitor.   -  person Paulw11    schedule 06.01.2017
comment
@Paulw11Paulw11Есть ли способ получить первую квитанцию ​​о транзакции позже (успешная покупка). потому что я должен использовать эти данные квитанции для создания учетной записи пользователя. в первый раз, когда пользователь покупает товар, по какой-то причине, если я не могу создать учетную запись пользователя для своего приложения, мне нужно получить квитанцию ​​позже, чтобы создать учетную запись. Как получить эту прибыль по квитанции.   -  person CKT    schedule 06.01.2017
comment
Да, чек всегда содержит полную историю покупок, включая просроченные подписки. Формат чека описан в руководстве по программированию встроенных покупок.   -  person Paulw11    schedule 06.01.2017
comment
а как получить чек, т.к. пользователь уже купил товар, при этом я не могу создать учетную запись по какой-то причине. когда пользователь пытается создать, как получить/получить квитанцию ​​об уже купленном товаре. Чтобы получить его, пользователь пытается снова нажать кнопку покупки, но выдает предупреждение о том, что «вы уже приобрели этот товар», и выполняется делегат с ошибкой транзакции. как снова получить эту квитанцию   -  person CKT    schedule 06.01.2017
comment
Либо с помощью функции восстановления покупок (предоставьте для этой цели кнопку восстановления в пользовательском интерфейсе), либо обновите квитанцию. При тестировании с учетной записью песочницы вы должны войти в эту учетную запись в настройках устройства. Вы не можете войти в систему во время процесса покупки, как вы можете с реальной учетной записью.   -  person Paulw11    schedule 06.01.2017
comment
спасибо @Paulw11 У меня есть еще одна проблема. stackoverflow.com/questions/41542461/, пожалуйста, помогите мне разобраться, так как я застрял посередине.   -  person CKT    schedule 09.01.2017