Spec-Zone.ru › Qt 5.11

Класс QInAppTransaction

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

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

Публичные типы

перечисление FailureReason { NoFailure, ОтменёнПользователем, ВозниклаОшибка }
перечисление 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 QInAppTransaction::FailureReason failureReason() const
virtual void finalize() = 0
virtual QString orderId() const
virtual QString platformProperty(const QString &propertyName) const
QInAppProduct * product() const
QInAppTransaction::TransactionStatus status() const
virtual QDateTime timestamp() const
  • 34 публичные функции унаследованы от QObject

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

  • 1 публичный слот унаследован от QObject
  • 2 сигнала унаследованы от QObject
  • 1 публичная переменная унаследована от QObject
  • 10 статических публичных членов унаследованы от QObject
  • 9 защищённых функций унаследованы от QObject
  • 2 защищённых переменных унаследованы от 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

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

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

virtual QString errorString() const

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

failureReason : const FailureReason

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

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

virtual QInAppTransaction::FailureReason failureReason() const

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

orderId : const QString

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

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

virtual QString orderId() const

product : QInAppProduct* const

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

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

QInAppProduct * product() const

status : const TransactionStatus

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

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

QInAppTransaction::TransactionStatus status() const

timestamp : const QDateTime

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

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

virtual QDateTime timestamp() const

См. также orderId.

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

[pure virtual] void QInAppTransaction::finalize()

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

Примечание: Эта функция может быть вызвана через систему метаобъектов и из QML. См. Q_INVOKABLE.

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

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

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

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

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

Примечание: Эта функция может быть вызвана через систему метаобъектов и из QML. См. Q_INVOKABLE.

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

Spec-Zone.ru

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