Connect with us

Разработка

Осваиваем StoreKit 2: модификаторы представлений в SwiftUI

В целом, представления StoreKit полностью справляются с загрузкой и покупками в приложении. Но иногда для реагирования необходимо знать текущий шаг в потоке.

Опубликовано

/

     
     

В этой серии статей мы говорили о StoreKit 2. На этой неделе мы завершим цикл, рассмотрев набор модификаторов представлений, которые StoreKit 2 предоставляет нам для использования в представлениях SwiftUI.

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

StoreKit 2 предоставляет нам модификаторы представления onInAppPurchaseStart и onInAppPurchaseCompletion для обработки начала и завершения любой покупки в иерархии представлений с помощью представлений StoreKit. Оба модификатора принимают closure для выполнения и имеют в качестве параметров продукт и результат покупки.

Еще одним модификатором представления, упрощающим нашу работу, является модификатор subscriptionStatusTask. Он позволяет нам постоянно наблюдать за состоянием определенной группы подписок. Он обновляет информацию при каждом изменении состояния подписки.

Как видно из приведенного примера, мы используем модификатор представления subscriptionStatusTask для наблюдения за состоянием конкретной группы подписок. Как вы могли заметить, мы предоставляем замыкание, обрабатывающее изменение статуса подписки, и в качестве параметра оно принимает массив статусов подписки. Массив вместо одного значения используется потому, что пользователь может как приобрести подписку, так и иметь доступ к ней через семейный шаринг.

Модификатор представления subscriptionStatusTask работает только с подписками. StoreKit 2 предоставляет модификатор представления currentEntitlementTask для расходуемых и нерасходуемых покупок. Он работает аналогично модификатору представления subscriptionStatusTask, но вместо этого предоставляет опциональную транзакцию конкретного продукта.

Модификатор представления currentEntitlementTask позволяет нам предоставить closure, принимающее опциональную транзакцию, обернутую в тип VerificationResult. Необязательной она является потому, что для данного товара транзакция может отсутствовать. Всякий раз, когда пользователь приобретает или отказывается от покупки товара, StoreKit 2 запускает подключенное замыкание.

Еще один модификатор представления, который предоставляет нам StoreKit 2, — это модификатор storeProductsTask. Он позволяет загрузить список товаров и наблюдать за ними. Он запускает предоставленное замыкание при каждом изменении любого товара в коллекции.

Сегодня мы узнали, как работать со StoreKit 2 из представлений SwiftUI с помощью новых модификаторов представлений. Надеюсь, вам понравился этот пост.

Другие статьи о StoreKit 2

Источник

Если вы нашли опечатку - выделите ее и нажмите Ctrl + Enter! Для связи с нами вы можете использовать info@apptractor.ru.
Telegram

Популярное

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: