Spec-Zone.ru › Qt 5.9

Класс QInAppTransaction

Содержит информацию о транзакции в стороннем магазине приложений Подробнее...

Заголовок: #include <QInAppTransaction>
Наследует: QObject
  • Список всех членов, включая унаследованные

Типы

Перечисление FailureReason { НетОшибки, ОтмененоПользователем, ВозниклаОшибка }
Перечисление TransactionStatus { Неизвестно, ПокупкаПодтверждена, ПокупкаНеУдалась, ПокупкаВосстановлена }

Свойства

  • errorString : const QString
  • failureReason : const FailureReason
  • orderId : const QString
  • product : QInAppProduct * const
  • status : const TransactionStatus
  • timestamp : const QDateTime
  • 1 свойство унаследовано от QObject

Общедоступные функции

virtual QString errorString() const
virtual FailureReason failureReason() const
virtual void finalize() = 0
virtual QString orderId() const
virtual QString platformProperty(const QString &propertyName) const
QInAppProduct * product() const
TransactionStatus status() const
virtual QDateTime timestamp() const
  • 32 общедоступных функции унаследованы от QObject

Дополнительные унаследованные члены

  • 1 общедоступный слот унаследован от QObject
  • 2 сигналы унаследованы от QObject
  • 11 статические общедоступные члены унаследованы от QObject
  • 9 защищённых функций унаследованы от QObject

Подробное описание

Содержит информацию о транзакции в стороннем магазине приложений

QInAppTransaction содержит информацию о транзакции в стороннем магазине приложений и обычно предоставляется в результате вызова QInAppProduct::purchase(). Когда пользователь завершил процесс покупки (например, подтвердив покупку, введя пароль), экземпляр QInAppStore, содержащий продукт, излучит сигнал QInAppStore::transactionReady() с данными о транзакции.

Свойство status() предоставляет информацию о том, была ли транзакция успешной. Если она была успешной, приложение должно предпринять соответствующие действия. После выполнения необходимых действий необходимо вызвать finalize(). Функция finalize() должна вызываться независимо от статуса транзакции.

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

Транзакции также могут быть излучены после вызова QInAppStore::restorePurchases(), в этот момент для каждого ранее приобретённого продукта с возможностью разблокировки будет излучена новая транзакция со статусом PurchaseRestored.

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

Документация по типам членов

Перечисление QInAppTransaction::FailureReason

Это тип перечисления, определяющий причину ошибки, если у транзакции статус PurchaseFailed.

Константа Значение Описание
QInAppTransaction::NoFailure 0 Статус транзакции не PurchaseFailed.
QInAppTransaction::CanceledByUser 1 Транзакция была вручную отменена пользователем.
QInAppTransaction::ErrorOccurred 2 Произошла ошибка, помешавшая завершению транзакции. См. свойство errorString для получения дополнительной информации об ошибке.

Перечисление QInAppTransaction::TransactionStatus

Этот тип перечисления используется для указания статуса транзакции.

Константа Значение Описание
QInAppTransaction::Unknown 0 Статус транзакции не установлен.
QInAppTransaction::PurchaseApproved 1 Покупка успешно завершена.
QInAppTransaction::PurchaseFailed 2 Покупка не была завершена по какой-либо причине. Это может быть из-за отмены пользователем транзакции, но также, например, из-за отсутствия подключения к сети.
QInAppTransaction::PurchaseRestored 3 Продукт был ранее приобретён, и теперь покупка восстановлена в результате вызова QInAppStore::restorePurchases().

Документация свойств

errorString : const QString

Это свойство содержит строку, описывающую ошибку, если транзакция завершилась ошибкой. Содержание строки с ошибкой зависит от платформы.

Функции доступа:

виртуальная QString errorString() const

См. также failureReason и status.

failureReason : const FailureReason

Это свойство содержит причину ошибки, если статус транзакции — PurchaseFailed. Если покупка была отменена пользователем, причина ошибки будет CanceledByUser. Если покупка завершилась ошибкой, причина будет ErrorOccurred. Если покупка не завершилась ошибкой, причина ошибки будет NoFailure.

Функции доступа:

виртуальная FailureReason failureReason() const

См. также errorString и status.

orderId : const QString

Это свойство содержит уникальный идентификатор этой транзакции. Это значение может быть пустой строкой, если транзакция не была зарегистрирована (например, для отменённых покупок).

Функции доступа:

виртуальная QString orderId() const

product : QInAppProduct * const

Это свойство содержит продукт, являющийся объектом этой транзакции.

Функции доступа:

QInAppProduct * product() const

status : const TransactionStatus

Это свойство содержит статус транзакции. Если покупка успешно завершена, статус будет PurchaseApproved. Если покупка завершилась неудачно или была отменена, статус будет PurchaseFailed. Если транзакция была восстановлена в результате вызова QInAppStore::restorePurchases(), статус будет PurchaseRestored.

Функции доступа:

TransactionStatus status() const

timestamp : const QDateTime

Это свойство содержит метку времени транзакции. Метка времени может быть недействительной, если нет действительной транзакции, например, если пользователь отменил покупку.

Функции доступа:

виртуальная QDateTime timestamp() const

См. также orderId.

Документация функций-членов

[pure virtual] void QInAppTransaction::finalize()

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

[virtual] QString QInAppTransaction::platformProperty(const QString &propertyName) const

Возвращает платформенно-специфическое свойство, заданное propertyName.

На Google Play доступны следующие свойства:

  • AndroidSignature: Подпись транзакции, предоставленная закрытым ключом приложения.
  • AndroidPurchaseData: Данные покупки, возвращённые магазином Google Play.

Эти свойства могут использоваться для проверки покупки с использованием открытого ключа вашего приложения. Также возможно проверка покупок на стороне сервера, передав открытый ключ перед регистрацией продуктов, используя QInAppStore::setPlatformProperty().

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qinapptransaction.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API