示例Android类
类
AndroidInAppProduct | 在商店中注册的产品。 |
AndroidInAppTransaction | 包含外部应用商店中的交易信息。 |
AndroidInAppPurchaseBackend | 与外部商店通信。 |
androidjni.cpp 和InAppPurchase.java | Google Play计费系统与C++之间的通信。 |
查看基类
AndroidInAppProduct
AndroidInAppProduct增加了purchase()来初始化购买过程。
AndroidInAppTransaction
AndroidInAppTransaction在AndroidInAppPurchaseBackend中使用purchaseSucceeded()、purchaseFailed()和checkFinalizationStatus()创建。
AndroidInAppTransaction添加了新的参数和返回类型。类具有finalize()函数,该函数将Consumable和Unlockable产品分离到InAppPurchase.java中进行确认或消耗。
AndroidInAppPurchaseBackend
AndroidInAppPurchaseBackend从InAppPurchase.java接收调用,这是应用程序的其中一个后端组件。
初始化
在商店页面上显示产品信息。
- AndroidInAppPurchaseBackend在InAppStore::setupBackend()中被调用。
- 在初始化时,AndroidInAppPurchaseBackend会将Context和其指针传递给Java的构造函数调用,然后使用initialize()函数初始化使用Google Play商店的连接。
- 当连接成功时,androidjni将调用registerRedy(),它发出ready()信号到InAppStore,并开始调用queryProducts()函数来获取可购买项目的信息。
- 当查询完成后,将发出productQueryDone()信号,项目的信息将在应用程序的商店页面上可见。
购买
当在应用程序商店页面上按下其中一个产品时,会通过AndroidInAppProduct::purchase()
调用purchaseProduct()函数。然后它调用Java方法launchBillingFlow(),该方法为用户打开谷歌Play计费流程。
InAppPurchase.java和androidjni.cpp
AndroidInAppPurchaseBackend直接调用InAppPurchase.java
并从androidjni接收Java调用。示例应用程序通过QJniObject与Java函数通信。
© 2024 Qt公司有限公司。本文档中包含的文档贡献为其各自所有者的版权。所提供的文档许可在“通过自由软件基金会发布的GNU自由文档许可的第1.3版”下,见GNU Free Documentation License version 1.3。Qt及其相关标志是芬兰及/或其他国家和地区Qt公司有限公司的商标。所有其他商标均为其各自所有者的财产。