应用内购买演示 - Android 类
以下 Android 类属于应用内购买演示:
类
| AndroidInAppProduct | 在商店中注册的产品。 |
| AndroidInAppTransaction | 包含关于外部应用商店中某笔交易的信息。 |
| AndroidInAppPurchaseBackend | 与外部应用商店进行通信。 |
androidjni.cpp 以及InAppPurchase.java | Google Play 计费系统与 C++ 之间的通信。 |
请查看应用内购买示例——基类
AndroidInAppProduct
AndroidInAppProduct 添加了 purchase() 方法,用于初始化购买流程。
AndroidInAppTransaction
AndroidInAppTransaction 在 AndroidInAppPurchaseBackend 中通过 purchaseSucceeded()、purchaseFailed() 和 checkFinalizationStatus() 方法创建。
AndroidInAppTransaction 增加了新的参数和返回类型。该类具有 finalize() 函数,用于在 InAppPurchase.java 中将“可消耗”和“可解锁”产品分别进行确认或消耗。
AndroidInAppPurchaseBackend
AndroidInAppPurchaseBackend 负责向 InAppPurchase.java 发起调用并接收其返回的调用。该类是应用程序中的后端组件之一。
初始化
在商店页面上显示商品信息。
- AndroidInAppPurchaseBackend 由 InAppStore::setupBackend() 调用。
- 在初始化时,AndroidInAppPurchaseBackend 会在构造函数中将Context及其自身的指针传递给 Java 端,然后使用 initialize() 函数初始化与 Google Play 商店的连接。
- 连接成功后,androidjni 将调用 registerReady(),该函数向 InAppStore 发出 ready() 信号,并启动 queryProducts() 函数以获取可购买商品的信息。
- 查询完成后,将发出 productQueryDone() 信号,该项目的信息将在应用程序的商店页面上显示。
购买
当点击应用商店页面上的某个商品时,请求会通过 `AndroidInAppProduct::purchase() ` 转发至 `purchaseProduct()` 函数。该函数随后调用 Java 方法 `launchBillingFlow()`,从而为用户打开 Google Play 的计费流程。
InAppPurchase.java 和 androidjni.cpp
AndroidInAppPurchaseBackend 会直接向InAppPurchase.java 发起调用,并接收来自 androidjni 的 Java 调用。演示应用程序通过QJniObject 与 Java 函数进行通信。
另请参阅 《集成 Google Play 计费库》、《QJniObject 》以及《QJniEnvironment 》。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.