Подтвердить что ты не робот

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

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

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

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

Спасибо.

4b9b3361

Ответ 1

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

enter image description here Некоторые примеры значений price (не из реального SKU):

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

РЕДАКТИРОВАТЬ. Я обновил таблицу подробных сведений о SKU, теперь включая информацию о поле price_currency_code.

Ответ 2

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

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

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

Ответ 3

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

Ответ 4

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

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

Ответ 5

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

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

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

Просто идея!