В покупке приложения - способ разрешить полный контроль над добавлением продуктов с личного сервера = разрешено?

У меня очень прямой вопрос (и да, я просмотрел документацию Apple, чтобы узнать, есть ли на нее ответ, но не повезло... Хотя, возможно, я случайно пропустил его)

Вот мой план:

Проблема, которую я пытался найти обходной путь, заключается в том, что если администратор когда-либо захочет добавить продукт, ему придется войти в iTunes, чтобы добавить его, а также добавить его в настраиваемую панель управления. Мы, очевидно, не хотим заставлять его страдать, поэтому я искал решение, но мне нужно, чтобы вы, ребята, сказали мне, разрешено ли это Apple. По сути, я возьму на себя большую часть обработки продуктов на наших серверах и буду обращаться к Apple только с транзакциями. Это означает, что у Apple не будет встроенной покупки, настроенной для ВСЕХ продуктов... только одна для каждой продолжительности подписки (1 месяц, 3 месяца... и т. д.) и несколько расходных покупок в приложении для различных продуктов. цены на выпуски/синглы

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

ОПРЕДЕЛЕНИЕ ПОКУПКИ РАСХОДНЫХ МАТЕРИАЛОВ: продукты должны приобретаться каждый раз, когда пользователь нуждается в них. Например, одноразовые услуги обычно реализуются как расходные продукты.

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

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

Спасибо, Мэтт


person Matt Sich    schedule 03.11.2012    source источник


Ответы (1)


Я думаю, что ваш процесс восстановления может быть ошибочным. Вы говорите о том, что приложение отправляет некоторую информацию на ваш сервер, но что это за информация? Не существует надежного способа однозначно идентифицировать пользователя на разных устройствах.

Если вы хотите продолжить этот путь, вы должны убедиться, что ваш процесс восстановления и отработки отказа очень надежен. Попробуйте все мыслимые сценарии. С точки зрения отправки в магазин приложений вам следует рассмотреть подход на основе токенов/монет. Конечно, рекомендации Apple довольно расплывчаты и могут быть изменены, поэтому всегда есть вероятность, что вам откажут, но токены, безусловно, более надежны, чем просто использование той же общей покупки в приложении.

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

На стороне сервера это означает, что вам понадобится какой-то способ хранения того, сколько токенов у пользователя в настоящее время есть, и способ уникальной идентификации пользователя на разных устройствах, что является довольно неопределенным предложением. Вместо того, чтобы хранить количество токенов, которое есть у каждого пользователя, вы можете реализовать какой-то алгоритм хеширования, который генерирует хэш из квитанции о покупке в приложении, а затем отправляет его на ваш сервер. Если приложение дает сбой или сеть умирает после покупки, но до отправки ваших хэшей, в следующий раз, когда они откроют приложение, вы сможете пересчитать все хэши, отправить их, и если сервер не распознает хеш, он просто добавит его. в базу данных. Затем, если пользователь хочет восстановить свои покупки, вы просто пересчитываете хэши на устройстве, используя квитанции о покупках в приложении, которые вы получите, а затем отправляете их на свой сервер и просите сервер выяснить для каждого из этих хэшей, как много токенов оставил пользователь. Вы можете думать об этом как о системе подарочных карт, где каждый хеш — это одна подарочная карта.

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

person Jack Lawrence    schedule 03.11.2012
comment
Я думаю, вы правы насчет процесса восстановления. Я на самом деле просто изучал это. Я собирался добавить столбец для пользователей, в котором перечислены все идентификаторы элементов в формате csv, но я не смог бы проверить пользователя на разных устройствах... Я думаю, что это исправит добавление регистрации в приложение, но Я пытаюсь избежать этого, потому что это немного утомительно для пользователя. Мне очень нравится идея системы токенов. - person Matt Sich; 03.11.2012
comment
Да, посмотрите мое редактирование о хешировании. Я думаю, что это было бы довольно изящно и решило бы много проблем с восстановлением после сбоя в середине любой части процесса оплаты. - person Jack Lawrence; 03.11.2012
comment
Большое спасибо за помощь, Джек! - person Matt Sich; 03.11.2012