Что нового в Apple in-app purchases на WWDC 2020
Сейчас идет ежегодная конференция разработчиков под iOS/iPadOS/WatchOS/Mac (как их много). Более подробно информация будет онлайн, но давайте посмотрим, что ожидать уже сейчас.
Семейные подписки
Совсем недавно Apple выпустила универсальные подписки (universal subscriptions): API, который синхронизирует подписки между всеми платформами Apple. Можно подписаться на телефоне, а подписка автоматически появится на десктоп приложении.
В системе Apple давно существует Family Sharing — можно добавить членов семьи и синхронизировать с ними покупки, музыку, книги и тд. Теперь появится API для синхронизации подписок в вашем приложении. Например, вы учите английский язык всей семьей. Можно купить 5 обычных подписок или 1 семейную, которая точно будет дешевле.
Вообще, семейные подписки давно работают в вебе почти на всех крупных сервисах и не только зарубежных: Spotify, Яндекс Плюс, Youtube и так далее. Довольно часто пользователи пытаются хакнуть такую подписку, просто объединяются с друзьями в группу и подключаются семейную подписку. Некоторые сервисы пытаются с этим бороться, посмотрим что будет в iOS.
Тестирование внутренних покупок
источник Raywenderlich
До настоящего момента тестирование внутренних покупок происходило руками:
- Создается sandbox пользователь
- Руками тестируются покупки внутри приложения
- Server2Server-интеграции было невозможно проверить.
Теперь Apple выпускает новый фреймворк StoreKitTest, с помощью него можно реализовать юнит тесты внутри приложения для покупок и убедиться, что они будут работать. Делается это с помощью объекта SKTestSession. Основные отличия StoreKitTest от Sandbox:
- Ускорение периодов подписок с помощью SDK
- Повторная покупка non-consumable продукта
- Тестирование рефандов
- Тестирование кейса когда не удается авторизовать платеж например, с FaceID
- StoreKit ошибки для тестов
- Возможность автоматизации тестов
Внутренние покупки на Apple Watch
Их представили в апреле 2020, но обещают настоящее развитие c новым API. Понятно, не забываем, что Apple получается 30% со всех платежей на своей платформе, так что развитие покупок на новые устройства — разумный шаг.
Что очень хотелось, но не сделали
- API для создания покупок в App Store Connect. Создавать покупки руками — очень неудобно. Сторонних тулов, которые позволяют это делать и поставить на поток нет. При этом, в Google Play такой API давно есть. Невозможно узнать стоимость и свойства покупки через API, тоже очень неудобно.
- API для транзакций и данных. Рынок аналитики подписок развивается, появляются разные инструменты вокруг. При этом, разработчики не могут просто авторизоваться и дать доступ приложению к данным App Store Connect. Приходится это делать через серверные интеграции, однако даже в receipt от транзакции нет цен. Прямо сейчас есть Apple Sales Reports API, но они не подходят для крутой аналитики.
- Больше гибкости с платежами. Сейчас каждую покупку в сторе нужно создавать руками и проходить ревью. Менять ценник можно только по платежной сетке. Нельзя управлять триальным периодом, рефандами, скидками и т.д. для конкретных людей, такого механизма не существует.
Посмотрим что расскажут подробнее на этой неделе.