Формат цены в приложении для Google Analytics

Мое приложение содержит встроенные продукты, которые можно приобрести. Я использую биллинговый API для получения списка продуктов, которые можно приобрести. и их цены. Полученная цена представляет собой форматированную строку, содержащую как валюту, так и цену, например "2,50 доллара США".

Теперь я также использую API Google Analytics для отслеживания покупок. Для отправки цены этот API принимает параметр long в микро. Так что я должен отправить (2,50 * 1000000).

Есть ли API для преобразования первой цены (полученной из Billing API) во вторую (для отправки в Analytics API)?

Конечно, я мог бы сделать простое преобразование синтаксического анализа String самостоятельно, но я боюсь неожиданных случаев, если я это сделаю. Например, в некоторых регионах цена будет содержать «,» вместо «.».

Изменить

Естественным решением было бы использовать NumberFormat для преобразования из «2,50 доллара» в 2,50.

Double price = NumberFormat.getCurrencyInstance().parse(priceStr).doubleValue();

Однако формат строки цены, полученный из Google Play, по-видимому, соответствует языковому стандарту страны, в которой находится телефон, но NumberFormat будет использовать языковой стандарт телефона, который не обязательно совпадает...


person gpo    schedule 22.02.2013    source источник
comment
Удалось ли вам найти решение этой проблемы?   -  person ashughes    schedule 07.06.2013


Ответы (1)


Хотя это официально не задокументировано, Billing API уже предоставляет необходимые данные в ответе getSkuDetails().

Помимо поля price вы также получаете следующее:

price_currency_code Код валюты ISO

price_amount_micros Цена продукта в микро (Примечание: цена нетто)

person Markus Hi    schedule 11.12.2013
comment
Где ты это видишь? getSkuDetails() возвращает объект, который имеет только элемент mPrice (строку). - person ; 21.12.2013
comment
Неважно: обратите внимание, что это не относится к getSkuDetails(), возвращаемому объектом Inventory. Вам нужно будет использовать getSkuDetails() в IabHelper. - person ; 21.12.2013