0

Android アプリでのアプリ内購入に Milkmangames ネイティブ拡張機能を使用するアプリがあります。問題は、ユーザーが購入した製品の価格と通貨を確認できないことです。Google からの価格は、ローカライズされた形式で提供されます。これは、Google 側での実装が不適切であることが原因だと思います。価格は 5 ドルまたは 10 クローネですが、米ドルなのかカナダ ドルなのか、スウェーデン クローネなのかノルウェー クローネなのかはわかりません。

私にとってうまくいく他のオプションは、ユーザーが使用している市場を取得することですが、AIRでそれを行う方法を見つけることができないようです。

4

1 に答える 1

0

IAP データをより適切に追跡できるように、未加工の価格データと国コードを取得する方法を見つけようとして、ほぼ同じ問題に遭遇しました。どうやら、ネイティブの Google IAB 拡張機能が次のようなものをサポートするための長年の機能要求があるようです: https://code.google.com/p/marketbilling/issues/detail?id=93

ありがたいことに、AS3 自体がこの情報を取得するためのインターフェイスを提供します (独自の ANE 経験がある場合はネイティブ Android も同様です)。以下は、ローカライズされた価格フォーマットで ANE から取得した情報に基づいて、必要なものを取得できる AS3 のサンプルです。

var price:String = "$4.99";
var defaultLocaleID:LocaleID = new LocaleID(LocaleID.DEFAULT);
var currencyFormatter:CurrencyFormatter = new CurrencyFormatter(defaultLocaleID.name);
var currencyCode:String = currencyFormatter.currencyISOCode;
var currencySymbol:String = currencyFormatter.currencySymbol;
var priceClean:Number = currencyFormatter.parse(price).value;
trace( "CURRENCY TEST: price: " + price + " | currency code: " + currencyCode + " | symbol: " + currencySymbol + " | priceClean: " + priceClean );

私自身 (米国) の期待される出力は次のとおりです。

通貨テスト: 価格: $4.99 | 通貨コード: USD | 記号: $ | 価格クリーン: 4.99

それが役立つことを願っています。

于 2014-04-07T21:58:49.500 に答える