示例Android类

AndroidInAppProduct在商店中注册的产品。
AndroidInAppTransaction包含外部应用商店中的交易信息。
AndroidInAppPurchaseBackend与外部商店通信。
androidjni.cppInAppPurchase.javaGoogle Play计费系统与C++之间的通信。

查看基类

AndroidInAppProduct

AndroidInAppProduct增加了purchase()来初始化购买过程。

AndroidInAppTransaction

AndroidInAppTransaction在AndroidInAppPurchaseBackend中使用purchaseSucceeded()、purchaseFailed()和checkFinalizationStatus()创建。

AndroidInAppTransaction添加了新的参数和返回类型。类具有finalize()函数,该函数将Consumable和Unlockable产品分离到InAppPurchase.java中进行确认或消耗。

AndroidInAppPurchaseBackend

AndroidInAppPurchaseBackend从InAppPurchase.java接收调用,这是应用程序的其中一个后端组件。

初始化

在商店页面上显示产品信息。

  1. AndroidInAppPurchaseBackend在InAppStore::setupBackend()中被调用。
  2. 在初始化时,AndroidInAppPurchaseBackend会将Context和其指针传递给Java的构造函数调用,然后使用initialize()函数初始化使用Google Play商店的连接。
  3. 当连接成功时,androidjni将调用registerRedy(),它发出ready()信号到InAppStore,并开始调用queryProducts()函数来获取可购买项目的信息。
  4. 当查询完成后,将发出productQueryDone()信号,项目的信息将在应用程序的商店页面上可见。

购买

当在应用程序商店页面上按下其中一个产品时,会通过AndroidInAppProduct::purchase()调用purchaseProduct()函数。然后它调用Java方法launchBillingFlow(),该方法为用户打开谷歌Play计费流程。

InAppPurchase.java和androidjni.cpp

AndroidInAppPurchaseBackend直接调用InAppPurchase.java并从androidjni接收Java调用。示例应用程序通过QJniObject与Java函数通信。

另请参阅集成Google Play计费库QJniObject以及QJniEnvironment

© 2024 Qt公司有限公司。本文档中包含的文档贡献为其各自所有者的版权。所提供的文档许可在“通过自由软件基金会发布的GNU自由文档许可的第1.3版”下,见GNU Free Documentation License version 1.3。Qt及其相关标志是芬兰及/或其他国家和地区Qt公司有限公司的商标。所有其他商标均为其各自所有者的财产。