Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека разработчика Mac

Разработчик

Ссылка платформы StoreKit ссылка класса SKPaymentQueue

Опции
Развертывание Target:

На этой странице
Язык:

SKPaymentQueue

SKPaymentQueue класс предоставляет очереди платежных операций, которые будут обработаны App Store. Очередь платежа связывается с App Store и представляет пользовательский интерфейс так, чтобы пользователь мог разрешить оплату. Содержание очереди является персистентным между запусками Вашего приложения.

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

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

  • Если продуктом является функция, уже встроенная в Ваше приложение, то обработать транзакцию, Ваше приложение активировало бы опцию.

  • Если бы продукт включает загружаемое содержание, предоставленное App Store, Ваше приложение получило бы SKDownload объекты от транзакции и просят, чтобы очередь платежа загрузила их. Вы обеспечили бы фактические файлы содержания, которые будут подаваться App Store Подключению iTunes, при создании информации о продукте.

  • Если продукт представляет загружаемое содержание, предоставленное Вашим собственным сервером, Ваше приложение могло бы открыть сетевое соединение с Вашим сервером и загрузить содержание оттуда.

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

Наследование


Соответствует


Оператор импорта


Swift

import StoreKit

Objective C

@import StoreKit;

Доступность


Доступный в OS X v10.7 и позже.
  • Возвраты, разрешают ли пользователю произвести платежи.

    Объявление

    Swift

    class func canMakePayments() -> Bool

    Objective C

    + (BOOL)canMakePayments

    Возвращаемое значение

    YEStrue если пользователю разрешают разрешить оплату. NOfalse если у них нет разрешения.

    Обсуждение

    IPhone может быть ограничен в доступе к Apple App Store. Например, родители могут ограничить свою детскую возможность купить дополнительное содержание. Ваше приложение должно подтвердить, что пользователю разрешают разрешить оплаты прежде, чем добавить платеж очереди. Когда пользователю не разрешают разрешить оплаты, Ваше приложение может также хотеть изменить свое поведение или появление.

    Оператор импорта

    Objective C

    @import StoreKit;

    Swift

    import StoreKit

    Доступность

    Доступный в OS X v10.7 и позже.

  • Возвращает одноэлементный экземпляр очереди платежа.

    Объявление

    Swift

    class func defaultQueue() -> SKPaymentQueue!

    Objective C

    + (SKPaymentQueue *)defaultQueue

    Возвращаемое значение

    Совместно используемая очередь платежа.

    Обсуждение

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

    Специальные замечания

    Очередь платежа не доступна в Средстве моделирования. Попытка получить очередь платежа регистрирует предупреждение.

    Оператор импорта

    Objective C

    @import StoreKit;

    Swift

    import StoreKit

    Доступность

    Доступный в OS X v10.7 и позже.

  • Добавляет наблюдатель к очереди платежа.

    Объявление

    Swift

    func addTransactionObserver(_ observer: SKPaymentTransactionObserver!)

    Objective C

    - (void)addTransactionObserver:(id<SKPaymentTransactionObserver>)observer

    Параметры

    observer

    Наблюдатель, чтобы добавить к очереди.

    Обсуждение

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

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

    Если больше чем один наблюдатель транзакции привязан к очереди платежа, никакие гарантии не сделаны относительно порядка, они будут призваны. Безопасно для многократных наблюдателей вызвать finishTransaction:, но не рекомендуемый. Рекомендуется использовать единственного наблюдателя, чтобы обработать и закончить транзакцию.

    Оператор импорта

    Objective C

    @import StoreKit;

    Swift

    import StoreKit

    Доступность

    Доступный в OS X v10.7 и позже.

  • Удаляет наблюдателя из очереди платежа.

    Объявление

    Swift

    func removeTransactionObserver(_ observer: SKPaymentTransactionObserver!)

    Objective C

    - (void)removeTransactionObserver:(id<SKPaymentTransactionObserver>)observer

    Параметры

    observer

    Наблюдатель для удаления.

    Обсуждение

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

    Оператор импорта

    Objective C

    @import StoreKit;

    Swift

    import StoreKit

    Доступность

    Доступный в OS X v10.7 и позже.

  • Возвращает массив отложенных транзакций. (только для чтения)

    Объявление

    Swift

    var transactions: [AnyObject]! { get }

    Objective C

    @property(readonly) NSArray *transactions

    Обсуждение

    Когда нет никаких наблюдателей, присоединенных к очереди платежа, значение этого свойства не определено.

    Оператор импорта

    Objective C

    @import StoreKit;

    Swift

    import StoreKit

    Доступность

    Доступный в OS X v10.7 и позже.

    См. также

    – addTransactionObserver:

  • Добавляет платежное требование к очереди.

    Объявление

    Swift

    func addPayment(_ payment: SKPayment!)

    Objective C

    - (void)addPayment:(SKPayment *)payment

    Параметры

    payment

    Платежное требование.

    Обсуждение

    Приложение должно всегда иметь по крайней мере одного наблюдателя очереди платежа прежде, чем добавить платежные требования.

    Платежному требованию нужно было зарегистрировать идентификатор продукта в Apple App Store и количестве, больше, чем 0. Если любое свойство недопустимо, addPayment: выдает исключение.

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

    Оператор импорта

    Objective C

    @import StoreKit;

    Swift

    import StoreKit

    Доступность

    Доступный в OS X v10.7 и позже.

  • Завершает отложенную транзакцию.

    Объявление

    Swift

    func finishTransaction(_ transaction: SKPaymentTransaction!)

    Objective C

    - (void)finishTransaction:(SKPaymentTransaction *)transaction

    Параметры

    transaction

    Транзакция для окончания.

    Обсуждение

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

    Вызов finishTransaction: на транзакции, которая находится в SKPaymentTransactionStatePurchasing состояние выдает исключение.

    Оператор импорта

    Objective C

    @import StoreKit;

    Swift

    import StoreKit

    Доступность

    Доступный в OS X v10.7 и позже.

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

    Объявление

    Swift

    func restoreCompletedTransactions()

    Objective C

    - (void)restoreCompletedTransactions

    Обсуждение

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

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

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

    После того, как транзакции поставлены, очередь платежа вызывает наблюдателя paymentQueueRestoreCompletedTransactionsFinished: метод. Если ошибка произошла при восстановлении транзакций, наблюдатель будет уведомлен через paymentQueue:restoreCompletedTransactionsFailedWithError: метод.

    Оператор импорта

    Objective C

    @import StoreKit;

    Swift

    import StoreKit

    Доступность

    Доступный в OS X v10.7 и позже.

  • Просит очередь платежа восстанавливать ранее завершенные покупки, обеспечивая непрозрачный идентификатор для учетной записи пользователя.

    Объявление

    Swift

    func restoreCompletedTransactionsWithApplicationUsername(_ username: String!)

    Objective C

    - (void)restoreCompletedTransactionsWithApplicationUsername:(NSString *)username

    Параметры

    username

    Непрозрачный идентификатор для учетной записи пользователя в Вашей системе.

    Оператор импорта

    Objective C

    @import StoreKit;

    Swift

    import StoreKit

    Доступность

    Доступный в OS X v10.9 и позже.

    См. также

    applicationUsername

  • Добавляет ряд загрузок к списку загрузки.

    Объявление

    Swift

    func startDownloads(_ downloads: [AnyObject]!)

    Objective C

    - (void)startDownloads:(NSArray *)downloads

    Параметры

    downloads

    Массив SKDownload объекты начать загружать.

    Обсуждение

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

    Оператор импорта

    Objective C

    @import StoreKit;

    Swift

    import StoreKit

    Доступность

    Доступный в OS X v10.8 и позже.

  • Удаляет ряд загрузок со списка загрузки.

    Объявление

    Swift

    func cancelDownloads(_ downloads: [AnyObject]!)

    Objective C

    - (void)cancelDownloads:(NSArray *)downloads

    Параметры

    downloads

    Массив SKDownload объекты отменить.

    Оператор импорта

    Objective C

    @import StoreKit;

    Swift

    import StoreKit

    Доступность

    Доступный в OS X v10.8 и позже.

  • Паузы ряд загрузок.

    Объявление

    Swift

    func pauseDownloads(_ downloads: [AnyObject]!)

    Objective C

    - (void)pauseDownloads:(NSArray *)downloads

    Параметры

    downloads

    Массив SKDownload объекты приостановиться.

    Оператор импорта

    Objective C

    @import StoreKit;

    Swift

    import StoreKit

    Доступность

    Доступный в OS X v10.8 и позже.

  • Резюме ряд загрузок.

    Объявление

    Swift

    func resumeDownloads(_ downloads: [AnyObject]!)

    Objective C

    - (void)resumeDownloads:(NSArray *)downloads

    Параметры

    downloads

    Массив SKDownload объекты возобновиться.

    Оператор импорта

    Objective C

    @import StoreKit;

    Swift

    import StoreKit

    Доступность

    Доступный в OS X v10.8 и позже.