デモAndroidクラス

クラス

AndroidInAppProductストアに登録されている商品。
AndroidInAppTransaction外部アプリストアのトランザクションに関する情報を含みます。
AndroidInAppPurchaseBackend外部ストアと通信します。
androidjni.cpp およびInAppPurchase.javaGoogle Playの課金システムとC++間の通信。

基本クラスをチェック

AndroidInAppProduct

AndroidInAppProductは、購入プロセスを初期化するためのpurchase()を追加します。

AndroidInAppTransaction

AndroidInAppTransactionは、purchaseSucceeded()、purchaseFailed()、checkFinalizationStatus()を使用してAndroidInAppPurchaseBackendで作成されます。

AndroidInAppTransactionには、新しいパラメータと戻り値の型が追加されています。クラスにはfinalize()関数があり、InAppPurchase.javaで消費可能な商品とロック解除可能な商品を分けて、承認または消費します。

AndroidInAppPurchaseBackend

AndroidInAppPurchaseBackendは、InAppPurchase.javaからの呼び出しを受けつけます。このクラスは、アプリケーションのバックエンドコンポーネントの1つです。

初期化

ストアページに商品情報を表示します。

  1. AndroidInAppPurchaseBackendはInAppStore::setupBackend()から呼び出されます。
  2. 初期化時に、AndroidInAppPurchaseBackendはコンストラクタ呼び出しでJavaにContextと自己のポインタを渡し、initialize()関数を使用してGoogle Playストアへの接続を初期化します。
  3. 接続が成功すると、androidjniはregisterRedy()を呼び出し、InAppStoreにready()シグナルを送り、購入可能なアイテムの情報を取得するためにqueryProducts()関数を開始する。
  4. クエリが完了すると、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」( )も参照してください

© 2025 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.