web-dev-qa-db-ja.com

Androidマーケットアプリ内購入:ユーザーが支払う通貨を取得する方法は?

Androidアプリにアプリ内購入を使用しており、海外の視聴者に対応しているため、さまざまな通貨での支払いを期待しています。もちろん、ユーザーの地域で購入するアイテムを表示したいと思います通貨が、私は本当に方法がわかりません。

通貨はユーザーが使用しているマーケットアカウントの地域に依存し、デバイスの設定には依存しないため、ユーザーの地域または言語を使用することは悪い指標のように思われます。

ユーザーが支払う通貨を調べるにはどうすればよいですか?

ありがとう。

30
janpio

IABバージョン 以降、購入可能なアイテムのSKUの詳細には、フォーマットされた価格が含まれます。これにはユーザーが支払う通貨(Google Playストアに対応する通貨)が含まれます):

enter image description herepriceの値の例(実際のSKUからではない):

  • 3,99€
  • £2.99
  • $ 4.99

[〜#〜] edit [〜#〜]:SKUの詳細テーブルを更新し、price_currency_codeフィールドに関する情報を追加しました。

22

取引を処理するために市場が使用する為替レートは、価格を表示することとユーザーが購入することの間で変動する可能性があるため、やや難しいです。あなたが10ドルと言って12ドルが請求されたために顧客があなた/あなたに怒鳴る結果になる可能性があるので、Googleはあなたがこれをしないほうがいいと思います。

あなたの最善の策(フレームワーク内でこれを行う方法を知っている誰かが失敗する)は、ユーザーに支払いたい通貨を尋ねて、おおよその価格を提供することです( "USD $ 10 [約AUD $ 9]」)。あなたは為替レートAPIを使用してそれをつかむことができるはずです。

少し面倒ですが、一度尋ねるだけで設定を保存できます。本当にトリッキーになりたい場合は、大まかな位置データを使用してロケールを取得し、最初にその方法で値を入力できます。

5
Ben Neill
  1. 最初にユーザーに通貨を選択するように求めることができます(オプション)。
  2. デフォルトで価格を米ドルで表示します。ユーザーがアイテム選択画面で通貨を変更するためのオプションを提供します。多分すべての通貨のドロップダウンを開く価格が表示される場所の近くのアイコン/ボタン。ユーザーがドロップダウンから通貨を選択すると、すべてのアイテムの価格が選択した通貨で表示されます。
4
Reena

アプリ内課金はあなたによって処理されないので、それは市場によって処理されるので、私はそんなに良い考えではないでしょう。ドルまたはユーロで価格を記入し、ユーザーがチェックアウトページで自分の通貨で購入を確認できるようにします。

http://developer.Android.com/guide/market/billing/index.html

3
Arash