Spec-Zone.ru › Qt 5.12

Класс 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
  • 31 функция унаследована от QObject

Статические члены публичного доступа

const QMetaObject staticMetaObject
  • 9 статических членов унаследовано от QObject

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

  • 1 public slot унаследован от QObject
  • 2 сигнала унаследовано от QObject
  • 9 защищенных функций унаследовано от QObject

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

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

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

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

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

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

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

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

enum QInAppTransaction::FailureReason

Это перечисление указывает причину ошибки, если у транзакции статус PurchaseFailed.

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

enum 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/qt-5.12/qinapptransaction.html

Spec-Zone.ru

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