2013-02-22 28 views
8

के लिए इन-ऐप मूल्य प्रारूप में मेरे ऐप में इन-ऐप उत्पाद शामिल हैं जिन्हें खरीदा जा सकता है। मैं billing API का उपयोग उन उत्पादों की सूची को पुनर्प्राप्त करने के लिए करता हूं जिन्हें खरीदा जा सकता है और उनकी कीमतें। पुनर्प्राप्त मूल्य एक प्रारूपित स्ट्रिंग है जिसमें मुद्रा और मूल्य दोनों शामिल हैं, उदाहरण के लिए "$ 2.50"।Google Analytics

अब मैं खरीद ट्रैक करने के लिए Google Analytics API का उपयोग करता हूं। कीमत भेजने के लिए, यह एपीआई माइक्रोसॉफ्ट में लंबे पैरामीटर लेता है। तो मुझे भेजना चाहिए (2.50 * 1000000)।

क्या पहली कीमत (बिलिंग एपीआई से पुनर्प्राप्त) को दूसरे में परिवर्तित करने के लिए कोई एपीआई है (Analytics API को भेजने के लिए)?

बेशक मैं एक साधारण स्ट्रिंग पार्सिंग रूपांतरण स्वयं कर सकता हूं, लेकिन अगर ऐसा होता है तो मुझे अप्रत्याशित मामलों से डर लगता है। उदाहरण के लिए, कुछ स्थानों में, कीमत "।" के बजाय "," होगी।

संपादित

एक प्राकृतिक समाधान NumberFormat उपयोग करने के लिए "$ 2.50" से 2.50 कन्वर्ट करने के लिए होगा।

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

हालांकि, कीमत स्ट्रिंग Google Play से लिया गया प्रारूप जाहिरा तौर पर देश में जहां फोन स्थित है स्थान में है, लेकिन NumberFormat फोन जो जरूरी समान नहीं है के स्थान का प्रयोग करेंगे ...

+0

आप को खोजने के लिए सक्षम किया गया है इसका समाधान? – ashughes

उत्तर

1

हालांकि यह आधिकारिक रूप से दस्तावेज नहीं है कि बिलिंग API पहले से ही getSkuDetails() प्रतिक्रिया में आवश्यक डेटा प्रदान करता है।

price क्षेत्र के अलावा आप भी निम्न पुनः प्राप्त:

price_currency_code ISO मुद्रा कोड

price_amount_micros माइक्रो में उत्पाद की कीमत (नोट: निवल मूल्य)

+0

आप इसे कहां देखते हैं? getSkuDetails() एक ऑब्जेक्ट देता है जिसमें केवल एक mrrice सदस्य (एक स्ट्रिंग) होता है। –

+1

कभी नहीं: ध्यान दें कि यह सूची वस्तु द्वारा प्राप्त getSkuDetails() का जिक्र नहीं कर रहा है। आपको IabHelper में getSkuDetails() का उपयोग करने की आवश्यकता होगी। –