2013-01-03 19 views
12

हमारे विंडोज फोन 8 अनुप्रयोगों के साथ किए गए इन-ऐप खरीदारियों को ट्रैक करने के लिए, हम जानना चाहते हैं कि आवेदन के अंदर से कौन सी मुद्रा खरीदी जाती है।विंडोज फोन 8 पर इन-ऐप खरीद उत्पाद की मुद्रा कैसे प्राप्त करें?

public static async void LoadProductListing() 
{ 
    ListingInformation listings = await CurrentApp.LoadListingInformationAsync(); 
    ProductListing product = listings.ProductListings["SomeProductID"]; 

    String price = product.FormattedPrice; 
} 

यह एक कीमत केवल €0,99 या $0.99 की तरह एक संकेत के साथ स्वरूपित में परिणाम है: अभी हम कीमत FormattedPrice संपत्ति का उपयोग कर, इसलिए पसंद करते हैं। के लिए यह ठीक है, उदाहरण के लिए $ यह पर्याप्त जानकारी नहीं है: हम अभी भी नहीं जानते कि यह अमेरिकी डॉलर, कनाडाई डॉलर, ऑस्ट्रेलियाई डॉलर, या चिली पीसो (कौन सा संकेत भी $) है। हम एक उचित ISO 4217 मुद्रा कोड के साथ यह जानकारी चाहते हैं (जैसे EUR, USD, CAD, AUD, CLP) या कम से कम एक प्रतीक है कि सटीक मुद्रा (जैसे US$, C$, आदि) बताते हैं।

Windows Phone 8 
This API is not implemented and will throw an exception if called. 

हम का उपयोग कर टोह:

Windows 8 पर यह (और इस प्रकार मुद्रा प्रयुक्त) वर्तमान बाजार के स्थान पाने के लिए ListingInformation.CurrentMarket संपत्ति उपयोग करना संभव है, लेकिन वहाँ दस्तावेज में एक टिप्पणी है सिस्टम लोकेल पर्याप्त सटीक नहीं है: यह वर्तमान बाजार के लिए उपयोग किए जाने वाले लोकेल जैसा नहीं हो सकता है (लेकिन हम वहां गलत हो सकते हैं!)।

क्या विंडोज फोन 8 एप्लिकेशन के भीतर से इन-ऐप खरीद मुद्रा को सही ढंग से निर्धारित करने का कोई तरीका है?

+0

मुझे संदेह था! क्या मान स्वचालित रूप से तब परिवर्तित हो जाता है जब मैं सिम्युलेटर का उपयोग करने की कोशिश कर रहा हूं और स्थानीय मुद्रा के आधार पर राशि परिवर्तित नहीं हो रही है। – AbsoluteSith

उत्तर

11

WP8 आपके लाइव आईडी भुगतान प्रोफ़ाइल क्षेत्र का उपयोग करता है ताकि फोन का उपयोग बाजार का चयन किया जा सके और आप इसे फोन पर सेटिंग के माध्यम से नहीं बदल सकते हैं। मुझे केवल यह पता होना है क्योंकि मेरी भुगतान प्रोफ़ाइल कनाडा में किसी भी तरह से सेट की गई है (मैं यूएस से हूं) और मैं फोन पर सेटिंग के माध्यम से इसे बदलने में असमर्थ हूं।

हालांकि, मूल प्रश्न पर वापस: आपका फोन हमेशा सिस्टम के माध्यम से ऐप खरीद में उपयोग की जाने वाली संस्कृति की रिपोर्ट करेगा। ग्लोबलाइजेशन। RegionInfo.CurrentRegion। इसलिए, आप विश्वसनीय रूप से ऐप खरीद के लिए उपयोग किए जा रहे सही मुद्रा कोड को प्राप्त कर सकते हैं:

var regionInfo = System.Globalization.RegionInfo.CurrentRegion; 
var currencyCode = regionInfo.ISOCurrencySymbol; 
1

विंडोज फोन 8 में, आपके डिवाइस पर क्षेत्र बदलना आपके द्वारा उपयोग किए जाने वाले बाज़ार को बदल देगा।

उदाहरण के लिए, यदि मैं अपने फोन पर ऑस्ट्रेलिया से अमेरिका में क्षेत्र बदलता हूं, तो मैं यूएस स्टोर तक पहुंचता हूं। उस स्टोर से कोई भी खरीद स्थानीय मुद्रा में की जाएगी (मान लीजिए कि मेरे पास उस क्षेत्र में स्वीकृत भुगतान विधि है - यानी एक यूएस क्रेडिट कार्ड)।

तो सिस्टम लोकेल आपके उद्देश्यों के लिए एक उपयुक्त कामकाज होना चाहिए क्योंकि WP7 के विपरीत आपका बाजार लाइव आईडी के लोकेल से जुड़ा हुआ नहीं है।