アンドロイドで更新ライブラリとアプリの購入で実装します

Marsad Maqsood:

私は自分のモバイルアプリでのトラブル実装するアプリ内購入を抱えています。私はアンドロイドのアプリケーションでは、アプリ内購入を実装するためのステップの手順で私のapplication.canいずれかのtellステップでアプリ内購入を実装したいです。私は、最新バージョン(2.2.0)を使用したいGoogleで検索して多くのチュートリアルが見つかりましたが、彼らはすべての古い課金ライブラリバージョン(1.2).Iを使用していています。任意のサンプルプロジェクト、チュートリアル...

ナタラジKR:

2.0.2:これらの手順は、バージョンと私の経験に基づいています。バージョンのいずれかの重大な変更がないので:2.2.0、同じことが最大限に適用されます。

アプリ内購入のためBillingClientで起動するには:

  1. 課金クライアントを使用して作成する必要がありますBillingClient.Builder
billingClient = BillingClient.newBuilder(applicationContext)
                .enablePendingPurchases()
                .setListener(/* a PurchasesUpdatedListener object */)
                .build()

enablePendingPurchaseこの方法は、前に呼び出されなければならbuildGoogleがサポートしているとして、現金支払いを将来的には、そうでない場合billingClientの作成は失敗します。コールバックはに作成した後にトリガされPurchaseUpdateListener.onPurchasesUpdated、保留中の購入を処理する方法。

  1. billingClient開始billingClient接続を作成した後。
billingClient.startConnection(/* a BillingClientStateListener object */)

BillingClientStateListener二つの方法があります。一方の接続が正常に確立されるトリガーおよび他のトリガ接続が故障または切断されます。billingClient接続が常に維持されるべきであり、再試行メカニズムはで処理されるべきonBillingServiceDisconnected方法。

  1. 成功した接続を確立した後、billingClientのに電話をかけるquerySkuDetailsAsync「SKU」の詳細を取得する方法asyncronously
billingClient.querySkuDetailsAsync(skuDetailsParams, /* lambda or SkuDetailsResponseListener object*/)

この方法では、私たちにUIに表示したり、我々はそれをやりたいためにPlayストアで私たちが作成したアプリ内購入の製品を取り出します。

  1. (オプション)billingClientので電話をかけるqueryPurchasesアプリ内で購入したすべての項目について詳細に方法。
vaultBillingClient.queryPurchases(/* BillingClient.SkuType.SUBS or BillingClient.SkuType.INAPP */)

サブスクリプション購入詳細については、「SUBS」とアプリの購入で1時間のための「INAPP」。

  1. ユーザーは、製品がbillngClientの使用はサポートされている場合、アプリ内またはサブスクリプション製品のチェックを購入しようとするとisFeatureSupported(BillingClient.FeatureType./* SUBSCRIPTIONS or other */)メソッドをしてbillingClientの呼び出しに作るlaunchBillingFlow方法を。
billingClient.launchBillingFlow(activity, billingFlowParams)

billingFlowParamsを使用して構築することができますBillingFlowParams「SKU」の詳細を渡すことにより、ビルダー方法を。システムUIすなわち、購入bottomSheetが表示されます。購入が完了した後に通話がにトリガされますPurchasesUpdatedListener.onPurchasesUpdatedステップ1でbillingClientのために与えられた方法。

  1. ユーザーによる成功した購入後、それはする必要が認めのいずれかを使用して、直ちにconsumeAsyncまたはacknowledgePurchase購入タイプに基づいてbillingClientの方法。
billingClient.acknowledgePurchase(acknowledgePurchaseParam)

acknowledgePurchaseParamsがで構築されたAcknowledgePurchaseParams「purchaseToken」を渡すことによって、ビルダー方法。謝辞の後に行われる必要があり、購入を確認します

  1. 購入が確認され、承認された後billingClientを閉じることができます。
billingClient.endConnection()

注: - すべてのステップは、上記の場合は「billingClient」接続が維持する必要があります。したがって断線に機構を再試行します。アプリはすべての彼の購入をユーザに権利を与えるために開かれたまもなくとして課金クライアント接続を開始することをお勧めします。また、常に課金クライアントとの接続を維持するにはパフォーマンス上の問題はありません。しかし、それは彼が、ユーザー自身の購入を許可する方法を開発者にアップしています。彼のサーバーを使用するか、または任意の他の手段によっていずれか。

さらに参考のために、ドキュメントを参照してください。https://developer.android.com/google/play/billing/billing_library_overview

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=373298&siteId=1