2

期間の異なる 3 つのサブスクリプションを購入しています。テスト アカウントを構成し、テスト購入を行うことができます。それらの購入について、Google は私に請求しませんが、実際のものとほとんど同じように見えます。packageName購入が成功すると、アプリ内課金から 、productIdorderIdなどの購入に関するデータが送信purchaseTokenされます。

私の処理コードでは、この購入が本物かどうかを何らかの方法で知る必要があります。プレーン テキスト: 本当にそれでお金を稼いだのだろうか、それともこの購入はテスト アカウントで行われたもので、何も稼げなかったのだろうか? 購買会計のためにこの種の情報が必要です。

問題は、実際のサブスクリプション購入とテスト サブスクリプション購入をコードで区別するにはどうすればよいかということです。

ありがとう。

PS 開発には Xamarin と C# を使用しています。

4

2 に答える 2

3

アカウントが Google Play 開発者アカウントのライセンス アカウント リストに追加されていない場合は、アルファ版/ベータ版で実際の購入を行うことができます。

これを確認してください:

アルファ/ベータ テスト グループを使用すると、実際のユーザー (選択したユーザー) が Google Play からアプリをインストールし、アプリ内製品をテストできます。Google Play での通常の支払い方法のいずれかを使用して、アカウントに実際の請求が発生する実際の購入を行うことができます。アルファおよびベータ配布グループにテスト ライセンス アカウントを含める場合、それらのユーザーはテスト購入しかできないことに注意してください。

アップデート

どちらが実際の購入でどちらがテスト購入であるかを知るには、応答の orderId を確認します。テスト購入には orderId は割り当てられません。

Android IAP の問題、購入オブジェクトに OrderID がない

于 2015-11-25T12:01:40.973 に答える
3

最新の v3 Android Publisher API では、パッケージ名、SubscriptionId、およびトークンがあれば、SubscriptionPurchase オブジェクトを取得できます。SubscriptionPurchase オブジェクトには、 purchaseTypeというオプションの (null 許容) 整数フィールドが含まれています。Google によると、設定されていて値が 0 の場合、これはテスト サブスクリプションです。これが機能し、返されたデータと一致することを確認できます。以下は、Google のドキュメントからの引用です。

    //     The type of purchase of the subscription. This field is only set if this purchase
    //     was not made using the standard in-app billing flow. Possible values are: 0.
    //     Test (i.e. purchased from a license testing account) 1. Promo (i.e. purchased
    //     using a promo code)
于 2020-11-26T11:04:03.610 に答える