встроенная покупка, несколько автоматических продлений подписок разной продолжительности - PullRequest
4 голосов
/ 17 августа 2011

Вопрос, касающийся автоматического продления подписки в приложении:

Мне неясно, как обращаться со случаем, когда пользователь покупает несколько подписок разной продолжительности. Похоже, что Apple распознает, если пользователь уже приобрел данный SKU (на основе идентификатора продукта), и предотвратит повторные покупки (в этом случае мое приложение получает событие неудавшейся транзакции), но если я предлагаю тот же контент, используя другой Идентификаторы продукта имеют различную продолжительность, поэтому пользователь может потенциально купить два или более раз.

Даже если я скрою дополнительные параметры покупки после того, как пользователь подписался один раз, они потенциально могут купить другую подписку на альтернативном устройстве, и эта покупка будет / может быть в конечном итоге восстановлена ​​на другом устройстве, уже имеющем подписку.

Должен ли я отслеживать приобретенные подписки по идентификатору транзакции и идентификатору продукта и рассчитывать окончательный срок действия? Это кажется сложным.

Ответы [ 4 ]

11 голосов
/ 18 января 2012

Прежде чем продолжить, пожалуйста, прочитайте комментарии к этому посту о том, почему может быть плохой идеей использовать автоматическое продление подписки.

Остановите меня, если вы 'Вы уже слышали об этом.
Когда вы выбираете Auto-Renewable Subscriptions в iTunes Connect, вам предоставляется возможность добавить несколько продолжительности с разными идентификаторами продукта для одной подписки Family.Apple не позволит пользователю приобретать несколько пересекающихся периодов подписки в пределах одной семьи.(Если вы используете несколько семейств в своем приложении, пожалуйста, объясните причину, чтобы я мог дать вам рекомендации, основанные на этом).

Фактически, Apple не позволит пользователю складывать разные длительности подписки в пределах одного семейства.

Вот пример.
I (как пользователь) загрузите гипотетическое приложение Acme и подпишитесь на 1-месячную подписку.Если я ничего не сделаю, моя подписка будет автоматически продлена в конце периода с другой 1-месячной подпиской.И так далее.

Но вместо этого я возвращаюсь и покупаю 6-месячную подписку.Apple сообщит мне (с предупреждением), что моя 6-месячная подписка начнется после завершения моей текущей 1-месячной подписки, и я хотел бы продолжить.Если я скажу «да», Apple примет это к сведению, но они не будут взимать с меня плату, пока мой текущий месяц не закончится.

Теперь, если я вернусь снова и куплю годовую подписку, тогдаApple снова ответит предупреждением о том, что оно начнется в конце моей текущей месячной подписки.Не будет добавлено добавлено к предстоящей 6-месячной подписке.Он заменит его.

В итоге
Таким образом, у пользователя может быть только одна Текущая подписка и одна Предстоящая подписка (в пределах family. Именно поэтому вы используете СемействоПродолжительность продукта в рамках подписки. Если вы создаете несколько семейств подписок, они могут существовать одновременно, и вы теряете эту защиту.

Если вы, как разработчик, хотите расширить, сократить, отменить или сложить подписки вручнуювы должны делать это с невозобновляемыми подписками. И если вы прочтете ссылку, которую я разместил вверху, вы поймете, что Apple может заставить вас сделать это.

0 голосов
/ 12 сентября 2018

Наличие аналогичной проблемы. Было одобрено приложение с двумя группами подписки (для годовой и ежемесячной). Они автоматически продлевают подписки. У нас есть сотни пользователей, и они хотят, чтобы мы изменились, удалив группы подписок и создав новую. Можно ли создать новую группу и перенести в нее существующие продукты? Не уверен, что делать здесь и что будет дальше.

0 голосов
/ 03 сентября 2018

Пожалуйста, обратитесь к странице подписки Appstore для получения последней информации https://developer.apple.com/app-store/subscriptions/. Суть заключается в использовании группы для определения нескольких каналов подписки

Создание подписок

Пользователи могут купить только одну подписку в пределах группы подписки за один раз. Если пользователи хотят иметь возможность покупать более одного типа подписки - например, подписаться на более чем один канал в потоковом приложении - вы можете поместить эти покупки в приложении в разные группы подписок.

Обновления, понижения и кросс-оценки

Когда пользователь обновляется до подписки любой продолжительности или переходит на подписку с той же продолжительностью, изменение уровня обслуживания вступает в силу немедленно. Когда пользователь понижает до подписки любой продолжительности или переходит на подписку с другой продолжительностью, изменение вступает в силу со следующей даты продления.

0 голосов
/ 17 августа 2011

попробуйте использовать MKStoreKit 4, он поддерживает автообновляемые подписки http://blog.mugunthkumar.com/coding/mkstorekit-4-0-supporting-auto-renewable-subscriptions/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...