Получите цену в приложении в долларах США - вместо местной монеты пользователя
Для анализа и сбора данных хочу получить цену SKProduct в долларах.
Базовый код, который я использую, чтобы показать пользователю цену:
_priceFormatter = [[NSNumberFormatter alloc] init];
[_priceFormatter setFormatterBehavior:NSNumberFormatterBehavior10_4];
[_priceFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
[_priceFormatter setLocale:inAppProduct.priceLocale];
inAppItemString = [_priceFormatter stringFromNumber:inAppProduct.price];
Этот код дает мне реальную цену, которую пользователь должен заплатить своей местной монетой
Я попытался установить локальное значение как en_US, но я получил ту же цену, что и раньше, с $:) Это то, что я изменил за попытку этого:
NSLocale *usLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];
[_priceFormatter setLocale:usLocale];
Есть идеи, как узнать цену в долларах?
2 ответа
Вы можете отправить запрос http get в службу онлайн-конвертации, например:
http://api.fixer.io/latest?base=GBP&symbols=USD
возврате
{"base":"GBP","date":"2016-09-01","rates":{"USD":1.3261}}
получить курс, который, надеюсь, не должен быть слишком далек от курса, используемого Apple, а затем рассчитать значение в долларах США.
Вы можете попробовать следующее:
NSLocale *priceLocale = [[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"] autorelease];
Справка: Есть ли простой способ форматирования валюты в строку в iOS?
Если вы хотите знать, сколько потратил пользователь (например, для сегментации по уровню поддержки или категории предложения), жесткое кодирование - хороший вариант. Если у вас есть приложение с динамической ценой и множеством ценовых пунктов, можно также настроить легкий сервер Mongo или загрузить конфигурационный файл JSON или PLIST.
Это также хорошие варианты, если вам нужен быстрый и оперативный способ отслеживать оценку своего дохода в режиме реального времени.
Между прочим, регистрация того, какие IAP-покупки пользователь купил в облаке, также приведет вас к этому. Вам понадобится сценарий для конвертации между идентификатором IAP и "долларами США" (или другой валютой, которую вы предпочитаете), и в качестве бонуса вы увидите, какие IAP наиболее популярны.
Для более глубокого изучения (сегмент по странам, устройствам, ОС, тенденциям...) есть другие сервисы. Имейте в виду, что они имеют большую задержку (~1 час для некоторых 24 часов), чем простой сервер регистратора. Но вам не придется также учитывать внезапный взрыв популярности вашего приложения:-)