StoreKit, чтобы вернуть все идентификаторы продукта - PullRequest
11 голосов
/ 04 декабря 2009

Этот вопрос немного отличается от других, которые я нашел здесь. Мой In App StoreKit работает, я могу успешно перечислять товары в моем магазине. Я просмотрел документацию Apple и никогда не видел адрес своего вопроса (возможно, я его пропустил).

Мой клиент (некоммерческий) хотел бы иметь возможность принимать пожертвования через свое приложение. Я хотел бы дать им возможность добавлять новые события пожертвования на лету, без необходимости обновлять свое приложение. Я имею в виду, что у них может быть специальное предложение «Помогите нам спонсировать мероприятие в предстоящий день Арбор» и принимать пожертвования, относящиеся к этому случаю.

Я сейчас читаю такие продукты:

SKProductsRequest *request= 
         [[SKProductsRequest alloc] initWithProductIdentifiers: 
          [NSSet setWithObjects: @"goldSponsor", @"silverSponsor"];

Это означает, что если произойдет событие Arbor Day, мне придется выпустить обновление, чтобы включить @ "arborSponsor" в мой список запросов. Как я могу запросить каждый продукт в моем комплекте?

Я пытался использовать @ "com.thedomain. *" И некоторые другие догадки без удачи. Можно ли вернуть весь список, я что-то упускаю очень просто? Спасибо!

Ответы [ 2 ]

24 голосов
/ 04 декабря 2009

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

Один из способов справиться с этим - сохранить идентификаторы вашего продукта на удаленном сервере, а затем отправить серверу запрос на снятие текущего набора идентификаторов при загрузке магазина.

Это позволит вам добавлять или удалять продукты со стороны itunes, и вам не придется отправлять какие-либо двоичные обновления в ваше приложение.

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

Это можно сделать с помощью простого http API на стороне сервера или даже с помощью xml-файла, который вы открываете.

Из Руководства по программированию покупки в приложении

Apple рекомендует вам получить продукт идентификаторы с вашего сервера, скорее чем включить их в собственность список. Это дает вам гибкость добавлять новые продукты без обновления ваше заявление.

2 голосов
/ 03 апреля 2013

У меня та же проблема, но я думаю, что у меня есть способ решить ее, заранее планируя идентификаторы продуктов. Вместо того, чтобы называть каждый идентификатор продукта чем-то особенным, например «goldSponsor», просто наберите их «1», «2», «3» ... столько, сколько вы хотите добавить. Установите имя «Золотой спонсор» и описание на что угодно. Когда ваше приложение начнет работать, запросите первые N последовательных идентификаторов продукта. Если все они возвращены как действительные, запрашивайте еще N идентификаторов продукта, пока не получите недопустимые идентификаторы. В этот момент все готово.

Я планирую сделать это с размещенным в Apple контентом. Я также рассматриваю возможность использования поля описания продукта для кодирования подробной информации о загружаемых данных (в моем случае это угловые координаты карты). Я по-прежнему буду использовать полный «com.company.product.1» для каждого идентификатора и последовательно нумеровать их оттуда.

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