1

そのため、サーバーで受信確認が失敗した場合、どうすればよいかわかりません。サーバーの検証を待ってから、ユーザーに請求するトランザクションを受け入れ、消耗品を渡すように指示する方法はありますか?

私は IBAHelper を使用する Marmalade 拡張機能「s3eAndroidGooglePlayBilling」を使用しています - そこで検証を見つけましたが、Java をよく知らず、検証が失敗した場合にトランザクションをキャンセルする方法を Android Billing v3 ドキュメントで見つけることができません (ios のアプリ内購入の場合など)。しかし、サーバー側でも検証を行う必要があります。

それとも、サーバー上で検証し、それに基づいてユーザーに消耗品を提供するだけですか? サーバーが応答しなかった場合、ユーザーはすでにお金を使っていますが、クライアントは購入が有効かどうかわからないため、これは悪い考えのように思えます。

注:これは単なるマーマレードの質問ではありません。サーバーが領収書が有効でないと判断した場合にユーザーに課金しないようにするには、サーバー検証のためにクライアントで何をすべきかのようなものです(拡張子を変更して通常どおり使用できると思うため)

注2:サーバー側はすでに実装されており、購入が有効かどうかのメッセージがクライアントに表示されますが、クライアント側でユーザーにコインを与え、その後にのみ請求するためにクライアント側で何をすべきかわかりません(購入が有効な場合) .

4

1 に答える 1

0

s3eAndroidMarketBilling 拡張機能には、s3eAndroidMarketBillingConfirmNotifications 関数があります。購入コールバックを取得したときに呼び出す必要があります。そして、この呼び出しはトランザクションを閉じます。この関数を呼び出さない場合 (サーバーが応答しない場合)、機能 s3eAndroidMarketBilling コールバックでクローズされていないすべてのトランザクションを取得します。また、Google Play コントロールでアイテムを使用する場合は、s3eAndroidMarketBillingRestoreTransactions を使用してすべてのユーザー トランザクションを復元できます。

于 2013-11-09T20:11:42.673 に答える