2012-02-22 6 views
29

私は世界中のユーザーを対象としたアプリ内購入を使用しているAndroidアプリを持っているため、さまざまな通貨での支払いが予想されます。もちろん、ユーザーの現地通貨で購入するアイテムを表示したいと思いますが、実際の方法はわかりません。Androidマーケットのアプリ内購入:ユーザーが支払う通貨を取得する方法は?

ユーザーの地域や言語を使用すると、ユーザーが使用しているマーケットアカウントの地域によって通貨が異なるように見えるため、悪い指標のように見えます。

ユーザーはどの通貨を支払うのですか?

ありがとうございました。

+8

同じ問題がある/必要があります。アプリ内アイテムの価格を表示できるようにしたいと考えています。 – Peterdk

答えて

21

IAB Version 3のとおり、購入項目のSKUの詳細は通貨は、ユーザーが(自分のGoogle Playストアに対応する通貨)に支払う含まれてフォーマットされた価格を含み、 (ない本当のSKUから)priceの値のいくつかの例:

  • 3,99€
  • £2。99
  • $ 4.99

EDIT:私は今price_currency_codeフィールドに関する情報を含む、SKUの詳細テーブルを更新しました。

+0

Jippieh! IAB v3が発効したときは知っていますか? – janpio

+0

TBH、私は知らない:)これはあなたの解決策を解決してうれしいです。しかし、Androidチームが提供しているimhoは、フォーマットされた文字列と通貨のISOコード(例:USD、AUD、EUR)を含むcurrencyCodeフィールドを別々に提供する理想的なソリューションではありません。私はなぜ彼らが適切なロケールを提供していないのか分かりません。また、[IAB v3 documentation](http://developer.android.com/google/play/billing/billing_reference.html#getSkuDetails)は、これらの新しいフィールドでは更新されません。関連する[問題](https://code.google.com/p/marketbilling/issues/detail?id=93)を見て、進捗状況を確認してください –

+0

良い点。問題を主題にした – janpio

3

アプリの請求があなたによって処理されていないので、それはそのような良いアイデアではありません。市場によって処理されます。価格をドルまたはユーロで書いて、ユーザにチェックアウトページの自分の通貨での購入を見せさせるだけです。

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

+0

さて、私は別の価格に表示することは良い考えだとは思わない。請求に関するi18nの問題については、Androidのマニュアルには何も見つかりませんでした。 – janpio

+0

Google Playが無視しようとしている通貨をユーザーに選択させるのは悪い考えです。現時点でのGoogle Playのチェックアウトの最大の問題は、価格がどの通貨であるのかわからないことだけです。通貨記号が表示されます。だから、もし私のアプリがちょうど "地方の価格はチェックアウト時に表示されます"というメッセージが表示されれば、彼らの通貨も$記号で表示されている場合にチェックアウトに行くと、 1つをクリックしてより多くの料金を支払うか、それとも現地の$の価格を表示しているのかを確認します。 (例:NZ $は米ドル未満の価値がある)。 – ChrisJD

-3

おそらく、デバイスのデフォルトロケールを使用できますか?

String locale = Locale.getDefault().toString();

その後、あなたはそれのオフ比較を行うことができます。

ちょっとしたアイデア!

+3

これは、「ユーザーの地域や言語が悪い指標のように思える」という意味です。それは多くの場合正しいでしょうが、支払い通貨はデバイスに結びついていませんが、マーケットアカウント(私は思う)に結びついています。私の言語を変えても、私はドイツから来て、Googleがそれを知っているので、まだEURで支払います。 – janpio

+0

@JanP:私はGoogleウォレットで支払った価格を入手できる方法を探しています。入力があれば、共有してください。本当に助けになります。 – Amz

5

取引を処理するために市場が使用する為替レートは、価格を表示するユーザーと購入するユーザーの間で変動する可能性があるため、やや難しいです。私はあなたが$ 10を言って、彼らが$ 12を請求されたので、あなたが彼ら/あなたに叫んでいるかもしれないので、私はあなたがこれをやっていないことを望んでいます。

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

これは面倒ですが、一度聞いて設定を保存するだけで済みます。あなたが本当に面倒なことをしたいのであれば、粗い位置データを使ってロケールを取得し、最初に値を入力することができます。

+2

これはiOSの場合ですが、プレイコンソールでは通貨ごとの価格を設定するオプションがあります。だから私は何かを逃していない限り、価格は全く変動しないはずです。 – DallinDyer

+0

@DallinDyer私は当時、Playストアについて話していました。 iOSでは個人的には考えられません。別の見方をすると、*ほとんどの国の価格を定義するオプションがありますが、すべてではありません。残りの部分はメモリからのUSD換算で請求されることになりますが、これはほぼ確実に変動します。 –

+0

あなたは価格を設定できないアプリをどの国で販売できますか? AFAIKでは、売りたい国を有効にしてから、いつでも*?価格を設定するオプションがあります。 – DallinDyer

4
  1. お客様は、最初に通貨を選択するよう依頼することができます(オプション)。
  2. 価格をUSDで表示しています。項目選択画面で通貨を変更するためのオプションをユーザに提供する。おそらく、すべての通貨のドロップダウンを開く価格が表示されている場所の近くのアイコン/ボタン。ユーザーがドロップダウンから通貨を選択すると、すべての商品の価格が選択された通貨で表示されます。

    enter image description here

関連する問題