Что нового в Apple in-app purchases на WWDC 2020

Сейчас идет ежегодная конференция разработчиков под iOS/iPadOS/WatchOS/Mac (как их много). Более подробно информация будет онлайн, но давайте посмотрим, что ожидать уже сейчас.


Семейные подписки

kmmr9gwjaadurqolfmtqak6gtbs.png

Совсем недавно Apple выпустила универсальные подписки (universal subscriptions): API, который синхронизирует подписки между всеми платформами Apple. Можно подписаться на телефоне, а подписка автоматически появится на десктоп приложении.

В системе Apple давно существует Family Sharing — можно добавить членов семьи и синхронизировать с ними покупки, музыку, книги и тд. Теперь появится API для синхронизации подписок в вашем приложении. Например, вы учите английский язык всей семьей. Можно купить 5 обычных подписок или 1 семейную, которая точно будет дешевле.

Вообще, семейные подписки давно работают в вебе почти на всех крупных сервисах и не только зарубежных: Spotify, Яндекс Плюс, Youtube и так далее. Довольно часто пользователи пытаются хакнуть такую подписку, просто объединяются с друзьями в группу и подключаются семейную подписку. Некоторые сервисы пытаются с этим бороться, посмотрим что будет в iOS.


Тестирование внутренних покупок

8619a3072f3c269a9ed41ab5374808ec.png источник Raywenderlich

До настоящего момента тестирование внутренних покупок происходило руками:


  • Создается sandbox пользователь
  • Руками тестируются покупки внутри приложения
  • Server2Server-интеграции было невозможно проверить.

Теперь Apple выпускает новый фреймворк StoreKitTest, с помощью него можно реализовать юнит тесты внутри приложения для покупок и убедиться, что они будут работать. Делается это с помощью объекта SKTestSession. Основные отличия StoreKitTest от Sandbox:


  • Ускорение периодов подписок с помощью SDK
  • Повторная покупка non-consumable продукта
  • Тестирование рефандов
  • Тестирование кейса когда не удается авторизовать платеж например, с FaceID
  • StoreKit ошибки для тестов
  • Возможность автоматизации тестов


Внутренние покупки на Apple Watch

Их представили в апреле 2020, но обещают настоящее развитие c новым API. Понятно, не забываем, что Apple получается 30% со всех платежей на своей платформе, так что развитие покупок на новые устройства — разумный шаг.

8vi_ipyywazebpbwnk3-ebveg0o.png


Что очень хотелось, но не сделали


  1. API для создания покупок в App Store Connect. Создавать покупки руками — очень неудобно. Сторонних тулов, которые позволяют это делать и поставить на поток нет. При этом, в Google Play такой API давно есть. Невозможно узнать стоимость и свойства покупки через API, тоже очень неудобно.
  2. API для транзакций и данных. Рынок аналитики подписок развивается, появляются разные инструменты вокруг. При этом, разработчики не могут просто авторизоваться и дать доступ приложению к данным App Store Connect. Приходится это делать через серверные интеграции, однако даже в receipt от транзакции нет цен. Прямо сейчас есть Apple Sales Reports API, но они не подходят для крутой аналитики.
  3. Больше гибкости с платежами. Сейчас каждую покупку в сторе нужно создавать руками и проходить ревью. Менять ценник можно только по платежной сетке. Нельзя управлять триальным периодом, рефандами, скидками и т.д. для конкретных людей, такого механизма не существует.

Посмотрим что расскажут подробнее на этой неделе.

© Habrahabr.ru