Получает список приобретенных покупок из сервиса-магазина. Вызов данного метода обновляет данные о приобретенных покупках, которые сохраняются операционной системой. Метод позволяет решить следующие задачи: восстановить информацию о приобретенных постоянных покупках и действующих подписках после того, как мобильное приложение было полностью удалено, а затем заново установлено; актуализировать информацию о приобретенных постоянных покупках и подписках, если пользователь пользуется приложением на нескольких своих устройствах; обновить и записать в локальное хранилище информацию о запрошенных покупках (описание, цена и др. поля), эти данные потом можно получить, с помощью метода ПолучитьСписок. Для работы метода обязательно активное подключение к сети Интернет. В случае его отсутствия будет сгенерировано исключение. Следует помнить, что обращение к сервису-магазину может занимать значительный период времени. Данный метод поддерживается не на всех устройствах. Для проверки совместимости устройства перед вызовом данного метода следует использовать метод ПоддерживаютсяПокупки.
Синтаксис
ОбновитьИнформациюОПриобретении(<ИдентификаторыПокупок>, <ТипПокупки>, <АвтоПодтверждение>)Полное описание, параметры и ограничения
МенеджерВстроенныхПокупок.ОбновитьИнформациюОПриобретении (InAppPurchasesManager.UpdatePurchaseInformation)
МенеджерВстроенныхПокупок (InAppPurchasesManager)
ОбновитьИнформациюОПриобретении (UpdatePurchaseInformation)
Доступен, начиная с версии 8.3.8.
Синтаксис:
ОбновитьИнформациюОПриобретении(<ИдентификаторыПокупок>, <ТипПокупки>, <АвтоПодтверждение>)
Параметры:
<ИдентификаторыПокупок> (обязательный)
Тип: Массив.
Массив идентификаторов покупок, информация о которых обновляется.
<ТипПокупки> (необязательный)
Тип: ТипВстроеннойПокупки, Неопределено.
Тип покупок, идентификаторы которых указаны в параметре <ИдентификаторыПокупок>.
Данный параметр предназначен для оптимизации запросов в сервис покупок на Android.
На других устройствах параметр игнорируется
Если параметр указан, то обновлены будут только покупки указанного типа. Идентификаторы покупок с другим типом будут игнорироваться. Если параметр не использовать, то будет выполнено два запроса в сервис покупок, независимо от списка покупок. Указывайте параметр, когда в вашем списке покупок только подписки или наоборот только контент для продажи.
Значение по умолчанию: Неопределено.
<АвтоПодтверждение> (необязательный)
Тип: Булево.
Если параметр установлен в значение Истина, то будет выполнена локальная проверка квитанции и если проверка успешна, то покупка будет подтверждена автоматически.
Параметр используется на устройствах под управлением ОС Android. На iOS и Windows Phone игнорируется.
Проверка квитанции требует наличия ключа проверки встроенных покупок в ресурсах приложения, который указывается в сборщике мобильных приложений в настройках приложения под Android. Если ключ не найден, то генерируется исключение "Ключ проверки квитанции не найден в ресурсах приложения".
Значение по умолчанию зависит от режима совместимости:
Версия
До версии 8.3.18 - Истина.
Версия 8.3.18 и последующие – Ложь.
Значение по умолчанию: Ложь.
Описание:
Получает список приобретенных покупок из сервиса-магазина. Вызов данного метода обновляет данные о приобретенных покупках, которые сохраняются операционной системой. Метод позволяет решить следующие задачи:
восстановить информацию о приобретенных постоянных покупках и действующих подписках после того, как мобильное приложение было полностью удалено, а затем заново установлено;
актуализировать информацию о приобретенных постоянных покупках и подписках, если пользователь пользуется приложением на нескольких своих устройствах;
обновить и записать в локальное хранилище информацию о запрошенных покупках (описание, цена и др. поля), эти данные потом можно получить, с помощью метода ПолучитьСписок.
Для работы метода обязательно активное подключение к сети Интернет. В случае его отсутствия будет сгенерировано исключение.
Следует помнить, что обращение к сервису-магазину может занимать значительный период времени.
Данный метод поддерживается не на всех устройствах. Для проверки совместимости устройства перед вызовом данного метода следует использовать метод ПоддерживаютсяПокупки.
Доступность:
Мобильный клиент, мобильное приложение (клиент).
См. также:
МенеджерВстроенныхПокупок, метод ПоддерживаютсяПокупки
Использование в версии:
Доступен, начиная с версии 8.3.8.
Описание изменено в версии 8.3.18.
Методическая информация
Практические примеры
Обновить сведения и проверить доступ к купленному контенту
Сначала обновляем информацию магазина, затем читаем признак приобретения. Старый метод показан отдельно для понимания устаревшего кода.
Где и как запускать
Мобильное приложение Android/iOS или мобильный клиент, клиентский модуль управляемой формы. Требуется настройка магазина или рекламы; не серверный модуль.
Подготовка
Вставьте весь блок в модуль собственной управляемой формы. Создайте команду и кнопку; в клиентском обработчике команды вызовите первую процедуру без параметров. Обработчики с Экспорт вызывает платформа, вручную их не вызывайте.
Используйте собственное мобильное приложение, настроенное для встроенных покупок, и тестовую учетную запись магазина. com.example.learning.lesson1 — образец строкового product ID: замените его идентификатором собственного тестового товара в магазине. Не проверяйте покупку с реальным списанием.
Используйте тестовый постоянный товар, не подписку. Автоматическое подтверждение здесь явно выключено.
&НаКлиенте
Процедура ПроверитьДоступКУроку()
Товар = "com.example.learning.lesson1";
Идентификаторы = Новый Массив;
Идентификаторы.Добавить(Товар);
ВстроенныеПокупки.ОбновитьИнформациюОПриобретении(Идентификаторы, ТипВстроеннойПокупки.КонтентДляПродажи, Ложь);
ДоступЕсть = ВстроенныеПокупки.ПроверитьПриобретение(Товар);
Сообщить("Доступ к уроку: " + Строка(ДоступЕсть));
СтарыйПризнак = ВстроенныеПокупки.Приобретена(Товар);
Сообщить("Результат устаревшего метода: " + Строка(СтарыйПризнак));
КонецПроцедурыРазбор по шагам
Соберите массив идентификаторов.
Обновите данные для КонтентДляПродажи.
Проверьте приобретение и сравните со старым методом.
Как проверить результат
При отказе от покупки не подменяйте Ложь значением Истина.
В новом коде для проверки используйте ПроверитьПриобретение.
Ожидаемый результат
Показан текущий признак доступа и результат старого API для сравнения.
На что обратить внимание
Приобретена не рекомендуется с 8.3.18. Для расходуемой покупки iOS возвращает Ложь; это не универсальная проверка всех типов покупок. Обновление может обращаться к магазину.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.