Я заканчиваю работу над приложением для iOS, которое позволяет пользователям просматривать, покупать и загружать элементы из большой мультимедийной библиотеки, размещенной в сети в приложении rails.В библиотеке есть сотни предметов, которые можно приобрести прямо сейчас, и в будущем она, вероятно, значительно расширится.
Сначала я намеревался создать единообразный элемент покупки в приложении (в iTunes Connect) для каждого элемента вбиблиотека.Тем не менее, я решил, что будет сложно создать все эти сотни покупок в приложении.Более того, я хочу иметь возможность добавлять и изменять покупные товары через мою CMS, не внося изменений в iTunesConnect.
Вместо этого у меня теперь есть пользователь приложения, создающий учетную запись в приложении rails.Когда они идут, чтобы купить предмет, они сначала покупают общий предмет покупки в приложении.После завершения этой транзакции приложение подключается к моему приложению rails, регистрирует покупку и загружает приобретенный контент.
Одна вещь, которая заставляет меня нервничать в связи с этим подходом, заключается в том, что пользователь может успешно создать приложение в приложении.купить с Apple, но затем как-то не удается успешно подключиться к приложению рельсы.В этом случае покупка не будет записана, а содержимое не будет загружено, даже если пользователь сделал платеж.Кроме того, встроенные в Apple методы восстановления покупок не сработают, поскольку элемент покупки является общим.Только мое приложение rails будет помнить, какие предметы приобрел пользователь.
Итак, я собираюсь добавить много проверок ошибок и восстановления состояния всего этого процесса.Чтобы убедиться, что он может восстановиться, если у него возникнут проблемы.
Я просто хотел изложить это на случай, если у кого-то есть мнение или совет, которым можно поделиться.
Спасибо!
Чарли
ОБНОВЛЕНИЕ
Прошло много времени, но в итоге я НЕ использовал универсальный в-покупка.Это просто казалось слишком большим риском.В конце концов, с помощью отдельных покупок в приложении Apple отслеживает покупки и предоставляет способ их восстановления.Поэтому имело смысл воспользоваться этим, а не заставлять себя вести собственную базу данных пользователей и их покупок.
Было очень больно в заднице добавлять все эти элементы в приложении в iTC.Интерфейс iTC такой ужасный.Я столкнулся с множеством проблем.Но в конце концов все они оказались там, и теперь все работает более-менее гладко.
Итак, в конце я бы сказал, что несмотря на то, что создавать все эти покупки - боль, это того стоит.Вернее, оно того стоит.Если создание этой записи о покупке в iTC, похоже, не стоит того, что вы ожидаете от продажи, то у вас, вероятно, большие проблемы с вашей бизнес-моделью!