2012-02-22 9 views
8

Mam aplikację na iOS za pomocą zakupów w aplikacji, która jest przeznaczona dla międzynarodowej publiczności, więc oczekuję płatności w różnych walutach (USD, EUR, CNY, ... znasz je z macierzy cen AppStore). Oczywiście chciałbym pokazać przedmioty do kupienia w lokalnej walucie użytkownika, ale tak naprawdę nie wiem jak.AppStore w aplikacji: Jak uzyskać walutę, którą użytkownik zapłaci?

Używanie regionu lub języka użytkownika wydaje się złym wskaźnikiem, ponieważ waluta zależy od regionu konta AppStore, którego używa użytkownik, a nie od ustawień urządzenia.

Jak mogę się dowiedzieć, w jakiej walucie użytkownik zapłaci?

Odpowiedz

31

Po pobraniu obiektu SKProduct można skonstruować jego zlokalizowaną cenę z ceny i właściwości priceococale. Oto copy-paste z apple docs jak to zrobić:

NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init]; 
[numberFormatter setFormatterBehavior:NSNumberFormatterBehavior10_4]; 
[numberFormatter setNumberStyle:NSNumberFormatterCurrencyStyle]; 
[numberFormatter setLocale:product.priceLocale]; 
NSString *formattedString = [numberFormatter stringFromNumber:product.price]; 
+0

Więc nie powinien mieć przedmioty na sprzedaż w mojej aplikacji bezpośrednio, ale zwrócić je z jabłkiem, aby uzyskać zlokalizowanych wartości i tekstów. Dobrze? – janpio

+2

Tak, zgodnie z wytycznymi Apple należy przechowywać identyfikatory przedmiotów zakupu w aplikacji, a następnie pobrać produkty SKProduct z serwera Apple (np. Patrz klasa skproducts). Takie podejście zapewni również, że przedstawisz użytkownikom tylko te produkty, które są zatwierdzone przez Apple i ważne na zakup. – Vladimir

+0

dobra odpowiedź lol – Navi

Powiązane problemy