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