2013-07-08 7 views
6

Как вы знаете, разработчики iOS могут устанавливать только один уровень цен для приложений и приложений в приложении в магазине приложений. Однако вы можете (теоретически) публиковать его как отдельные приложения в разных странах с разными ценами. Я хотел бы сделать то же самое с продуктами in-app одного и того же приложения - определить альтернативные продукты в приложении и контролировать их видимость в приложении в зависимости от страны пользователя. Я не хочу использовать NSLocale или NSTimeZone, потому что они могут быть изменены в настройках. Я хочу знать страну, к которой подключен магазин приложений/пользователя.iOS-программирование - как узнать, с какого магазина приложений в стране приложение было загружено

Например, я хочу предлагать подписку на автоматическое продление подписки для большинства пользователей, но я знаю, что подписка на автоматическое продление подписки недоступна в израильском магазине приложений, поэтому я хочу показать не возобновляющую подписку исключительно на израильскую пользователей, а не показывать им автоматическое обновление. Есть ли надежный способ достижения этого?

Спасибо, Avi

ответ

5

После дальнейшего изучения, я обнаружил, что при запросе продуктов в магазине-комплект, SKProduct возвращается с свойство с именем priceLocale, который состоит из кода страны и кода валюты. Код страны priceLocale, похоже, согласуется с магазином приложений пользователя.

Подводя итог, делая эти шаги будут получить результат, однако в медленном, а не простым способом:

  1. Определить элемент в приложении;
  2. Запросите этот пункт в своем приложении;
  3. Определить страну пользователя в соответствии с [product.priceLocale objectForKey: NSLocaleCountryCode];
  4. Показать пользователям соответствующие продукты, поддерживаемые вашим приложением в своей стране.