Получите цену в приложении в долларах США - вместо местной монеты пользователя

Для анализа и сбора данных хочу получить цену 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 часов), чем простой сервер регистратора. Но вам не придется также учитывать внезапный взрыв популярности вашего приложения:-)

Другие вопросы по тегам