デモAndroidクラス
クラス
AndroidInAppProduct | ストアに登録されている商品。 |
AndroidInAppTransaction | 外部アプリストアのトランザクションに関する情報を含みます。 |
AndroidInAppPurchaseBackend | 外部ストアと通信します。 |
androidjni.cpp およびInAppPurchase.java | Google Playの課金システムとC++間の通信。 |
基本クラスをチェック
AndroidInAppProduct
AndroidInAppProductは、購入プロセスを初期化するためのpurchase()を追加します。
AndroidInAppTransaction
AndroidInAppTransactionは、purchaseSucceeded()、purchaseFailed()、checkFinalizationStatus()を使用してAndroidInAppPurchaseBackendで作成されます。
AndroidInAppTransactionには、新しいパラメータと戻り値の型が追加されています。クラスにはfinalize()関数があり、InAppPurchase.javaで消費可能な商品とロック解除可能な商品を分けて、承認または消費します。
AndroidInAppPurchaseBackend
AndroidInAppPurchaseBackendは、InAppPurchase.javaからの呼び出しを受けつけます。このクラスは、アプリケーションのバックエンドコンポーネントの1つです。
初期化
ストアページに商品情報を表示します。
- AndroidInAppPurchaseBackendはInAppStore::setupBackend()から呼び出されます。
- 初期化時に、AndroidInAppPurchaseBackendはコンストラクタ呼び出しでJavaにContextと自己のポインタを渡し、initialize()関数を使用してGoogle Playストアへの接続を初期化します。
- 接続が成功すると、androidjniはregisterRedy()を呼び出し、InAppStoreにready()シグナルを送り、購入可能なアイテムの情報を取得するためにqueryProducts()関数を開始する。
- クエリが完了すると、productQueryDone()シグナルが発信され、アプリケーションのストアページに商品情報が表示されます。
購入
アプリケーションのストアページで商品の1つを押すと、AndroidInAppProduct::purchase()
を経由して purchaseProduct() 関数が呼び出されます。その後、Java メソッド launchBillingFlow() が呼び出され、Goole Plays の課金フローがユーザーに開かれます。
InAppPurchase.javaとandroidjni.cpp
AndroidInAppPurchaseBackend はInAppPurchase.java
に直接呼び出しを行い、androidjni から Java 呼び出しを受け取ります。デモ・アプリケーションは、QJniObject を使用してJava関数と通信する。
Integrate the Google Play Billing Library」(QJniObject )および「QJniEnvironment 」も参照して ください。
2024 The Qt Company Ltd.©2024 The Qt Company Ltd. 本書に含まれるドキュメントの著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。