2013-02-22 17 views
8

Ứng dụng của tôi có chứa các sản phẩm trong ứng dụng có thể được mua. Tôi sử dụng billing API để truy xuất danh sách các sản phẩm có thể được mua và giá của chúng. Giá đã truy xuất là định dạng Chuỗi chứa cả tiền tệ và giá, ví dụ: "$ 2,50".Định dạng giá trong ứng dụng cho Google Analytics

Bây giờ tôi cũng sử dụng Google Analytics API để theo dõi mua hàng. Để gửi giá, API này có tham số dài trong micros. Vì vậy, tôi nên gửi (2.50 * 1000000).

Có API để chuyển đổi giá đầu tiên (được truy lục từ API thanh toán) sang giá thứ hai (để gửi đến API Analytics) không?

Tất nhiên tôi có thể tự mình thực hiện chuyển đổi phân tích cú pháp chuỗi đơn giản, nhưng tôi sợ các trường hợp không mong muốn nếu tôi làm như vậy. Ví dụ: ở một số vùng, giá sẽ chứa "," thay vì ".".

Sửa

Một giải pháp tự nhiên sẽ được sử dụng NumberFormat để chuyển đổi từ "$ 2.50" đến 2,50.

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

Tuy nhiên, định dạng chuỗi giá lấy từ Google Play là rõ ràng trong miền địa phương của quốc gia nơi điện thoại nằm, nhưng NumberFormat sẽ sử dụng bản địa của điện thoại mà không nhất thiết phải giống nhau ...

+0

Bạn đã từng có thể tìm thấy một giải pháp cho điều này? – ashughes

Trả lời

1

Mặc dù nó không được chính thức ghi lại hóa đơn API thanh toán đã cung cấp dữ liệu cần thiết trong phản hồi getSkuDetails().

Bên cạnh lĩnh vực price bạn cũng lấy như sau:

price_currency_code Mã tiền tệ ISO

price_amount_micros Giá sản phẩm trong micros (Lưu ý: net giá)

+0

Bạn thấy điều đó ở đâu? getSkuDetails() trả về một đối tượng chỉ có một thành viên mPrice (một String). –

+1

Nevermind: Lưu ý rằng đây không phải là tham chiếu đến getSkuDetails() được trả về bởi đối tượng Inventory. Bạn sẽ cần sử dụng getSkuDetails() trong IabHelper. –