Как заново загрузить приложение для покупки в приложении программно - PullRequest
1 голос
/ 16 ноября 2010

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

Спасибо Aditya

Привет Спасибо за быстрый ответ. Я реализовал то же, что вы предложили. Что мне интересно, если я удалю свое приложение и установлюЯ снова должен заплатить за обновление или он обрабатывается с сервера Apple (то есть, если я обновляю тот же продукт, мне снова платят?). Есть ли способ узнатьон был обновлен без повторного запроса?

Ответы [ 2 ]

6 голосов
/ 16 ноября 2010

API StoreKit позаботится об этом и предоставит вам, по запросу, список идентификаторов приобретенных товаров.После того, как вы их получили, вам необходимо повторно загрузить продукты (если они еще не включены в приложение).

Выдержка из справки API StoreKit:

-(void)restoreCompletedTransactions

Запрашивает очередь платежей о восстановлении ранее завершенных покупок.

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

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

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

1 голос
/ 12 июня 2012

//// Комментарии псевдокод ////

// Переустановить приложение:

// Восстановление уже купленных транзакций ...

// Есть ли у NSUserDefaults история покупок ??? -

// YES: загрузить табличное представление о предметах, оставшихся для продажи, иначе -

// NO: получить список restoreCompletedTransactions от Apple

// и создаем контейнер для хранения предыдущих транзакций покупок.

// Свежая установка нового приложения:

// Когда пользователь делает первый IAP. Добавьте его в контейнер и NSUserDefaults

// Этот контейнер будет добавлен в NSUserDefaults, когда будет сделана хотя бы одна покупка.

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