デモ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 」も参照して ください。

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.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。