Connect with us

Разработка

Осваиваем StoreKit 2: SubscriptionStoreView в SwiftUI

Этот экран позволяет нам легко отображать и обрабатывать подписки.

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

/

     
     

В этой статье мы продолжим изучение представлений StoreKit в SwiftUI, рассмотрев еще одно представление StoreKit под названием SubscriptionStoreView. Этот экран позволяет нам легко отображать и обрабатывать подписки.

Основы

Представление SubscriptionStoreView обеспечивает полный поток управления подписками в одной строке кода.

Достаточно разместить экземпляр SubscriptionStoreView с единственным параметром, определяющим группу подписок. Убедитесь, что вы указываете идентификатор группы, а не название группы или любую другую строку. SubscriptionStoreView полностью обрабатывает поток подписок, включая загрузку и покупку продуктов. Вам ничего не нужно делать.

Осваиваем StoreKit 2: SubscriptionStoreView в SwiftUI

Вы можете настроить список подписок в SubscriptionStoreView, предоставив список идентификаторов продуктов для каждой подписки, которую вы хотите включить в него. Следует помнить, что SubscriptionStoreView может работать только с подписками, входящими в одну группу.

Другой вариант — предоставить список загруженных экземпляров типа Product, который StoreKit 2 использует для инкапсуляции конкретного IAP продукта в приложение.

Как я уже говорил, SubscriptionStoreView полностью обрабатывает поток управления подпиской. Поэтому он предоставляет пользовательский интерфейс для апгрейда, понижения, перекрестного обновления и т.д. По умолчанию он отображает все доступные действия, но вы можете управлять доступностью предоставляемых действий с помощью параметра visibleRelationships.

Параметр visibleRelationships определяется через структуру SubscriptionRelationship. Он предоставляет множество готовых к использованию опций, таких как upgrade, crossgrade, downgrade и current.

В приведенном примере мы используем SubscriptionStoreView только для отображения подписки, на которую пользователь уже подписался.

SubscriptionStoreView поддерживает модификатор вида storeButton, позволяющий установить видимость для набора кнопок, предоставляемых магазином. Чтобы узнать больше, ознакомьтесь со статьей «Осваиваем StoreKit 2. ProductView и StoreView в SwiftUI«.

Стилизация

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

К счастью, можно быстро создать свое настраиваемое представление для отображения над списком подписок. Обычно я использую эту область для предоставления информации о функциях, включенных в подписку.

Как видно из приведенного примера, мы используем другой вариант SubscriptionStoreView, позволяющий передавать closure ViewBuilder для отображения маркетингового контента.

Настроить фон SubscriptionStoreView можно с помощью нового модификатора вида containerBackground. Он позволяет поместить SwiftUI в качестве фона для SubscriptionStoreView.

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

Осваиваем StoreKit 2: SubscriptionStoreView в SwiftUI
Еще одна возможность стилизации, которую предоставляет нам SubscriptionStoreView, — это стиль элемента управления. По умолчанию он использует пикеры, но мы можем легко изменить его на использование кнопок с помощью модификатора вида subscriptionStoreControlStyle.

Модификатор View subscriptionStoreControlStyle позволяет установить стиль для следующих вариантов: кнопки, picker, prominent picker и automatic. SubscriptionStoreView работает на всех платформах Apple, но на некоторых платформах работают только некоторые стили управления. Поэтому по умолчанию используется автоматический стиль, который в зависимости от платформы имеет разный вид.

У нас также есть модификатор вида subscriptionStoreButtonLabel, позволяющий настраивать кнопки магазина. При использовании пикеров в магазине подписки модификатор вида subscriptionStoreButtonLabel влияет только на одну кнопку, призывающую к действию.

Модификатор View subscriptionStoreButtonLabel позволяет задавать различные предопределенные метки для кнопки призыва к действию. По умолчанию используется автоматическая метка, которая показывает действие в зависимости от выбранной подписки. Так, она может отображать «Попробовать бесплатно», если подписка имеет бесплатную пробную версию, или «Изменить на», если у вас уже есть активная подписка.

Для включения в кнопку дополнительной информации о подписке можно использовать многострочную опцию. Если в качестве элемента управления подпиской используется стиль buttons, то модификатор subscriptionStoreButtonLabel влияет и на эту кнопку.

Осваиваем StoreKit 2: SubscriptionStoreView в SwiftUI

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

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

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

Популярное

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

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