Intereting Posts

Android Market In-App-Purchase: как получить валюту, которую пользователь будет платить?

У меня есть приложение для Android, использующее In-App-Purchase, которое обслуживает международную аудиторию, поэтому я ожидаю платежи в разных валютах. Конечно, я хотел бы показать предметы для покупки в местной валюте пользователя, но я действительно не знаю, как это сделать.

Использование региона или языка пользователя кажется плохим индикатором, поскольку валюта, по-видимому, зависит от региона учетной записи Market, которую использует пользователь, а не от настроек устройства.

Как я могу узнать, в какой валюте будет платить пользователь?

Благодарю.

Solutions Collecting From Web of "Android Market In-App-Purchase: как получить валюту, которую пользователь будет платить?"

Начиная с версии IAB 3 , детали SKU для приобретаемого товара включают форматированную цену, которая включает в себя валюту, которую пользователь будет платить (соответствующая валюта в свой магазин Google Play):

Введите описание изображения здесь Некоторые примеры значений price (не от реального SKU):

  • 3,99 €
  • £ 2,99
  • $ 4,99

EDIT : я обновил таблицу подробностей SKU, теперь включая информацию о поле price_currency_code.

Это несколько сложно сделать, поскольку обменный курс, который рынок использует для обработки транзакции, может колебаться между вами, показывающей цену и покупку пользователя. Я полагаю, Google предпочел бы, чтобы вы этого не делали, так как это может привести к тому, что клиенты будут кричать на них / вы, потому что вы сказали 10 долларов, и им было предъявлено обвинение в 12 долларов.

Лучшая ставка (если кто-то не знает, как это сделать в рамках) – спросить у пользователя, какую валюту они хотят заплатить, а затем дать им приблизительную цену (я бы перечислил ее в скобках рядом с поставленной ценой, например «10 долларов США» [Приблизительно AUD $ 9] "). Вы можете ухватить его с помощью API обменного курса.

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

  1. Сначала вы можете попросить пользователя выбрать свою валюту (необязательно).
  2. Показывать цену в долларах США по умолчанию. Предоставьте пользователю возможность изменять валюту на экране выбора товаров. Возможно, значок / кнопка рядом с тем, где отображается цена, которая открывает раскрывающийся список всех валют. Когда пользователь выбирает валюту из раскрывающегося списка, цена всех товаров должна отображаться в выбранной валюте.

Я не думаю, что такая хорошая идея, поскольку ваш аккаунт не обрабатывается вами, он обрабатывается рынком. Просто напишите цену в долларах или евро, и пусть пользователь увидит покупку в своей валюте на странице выписки.

http://developer.android.com/guide/market/billing/index.html

Возможно, используете стандартный язык устройства?

String locale = Locale.getDefault().toString();

Тогда вы можете сделать это.

Просто идея!