Гараж не мой, я просто разместил объявление и немного исправил ошибки.
Реально 99% процентов людей не понимает что происходит, почему вдруг все начали пинать Apple и говорить об отмене 30%, другие же магазины тоже берут и т.д. Я сейчас постараюсь объяснить о чем конкретно речь.
Речь конечно же не об отмене 30% и не снижении 30% хотя и об этом тоже. Например если делать оплату через CloudPayments то отчислять пришлось бы 5%, а не 30%. Основная речь же в претензиях о том что бы Apple позволила производить покупки через сторонних агрегаторов/провайдеров оплат или сделала свои сервисы соответствующим качеством под стать своего налога.
Apple говорит, на эти деньги мы поддерживаем инфраструктуру, платим деньги модераторам, поддерживаем сервера и т.д. Но для не посвященного пользователя остается за кадром как страдают сами разработчики, пользуясь тем что реально предоставляет Apple за эти деньги.
- Аналитика покупок, очень странная и трешовая, спросите любого кто занимается маркетингом.. Задержка от 2-х до 4х дней, нет интеграций со сторонними сервисами, нет воронок. Нет банальных вещей по рассчетам маркетинговых метрик.
- Сами покупки модерируются в любом случае, причем если речь о подписках, то модерируются с утроенной силой запрещая разработчикам любые вещи, которые сама Apple себе позволяет. Например вам прямым текстом могут сказать какой ценник повесить на покупку или какой цвет и размер шрифта нужно указать на странице продажи!
- Айдишники покупок нельзя загрузить с сервера Apple, их нужно либо хранить в приложении, либо подгружать со своего сервера. Ой! Вы не знали что нужен свой сервер? Думали Apple его предоставляет? Нет…
- Если вы хотите просто добавить еще одну покупку, вам надо целиком пересобрать приложение, отправить его на модерацию вместе с новой покупкой, а дальше молиться и ждать что модератор не отклонит ваше обновление под любым предлогом. А ведь он запросто придерется к запятым как это неоднократно бывало, ну или скажет не делать шрифт жирным.
- Продукты (это некие описания ваших покупок) банально глючат при загрузке с сервера Apple. Например может не прийти название покупки или ее описание (этому глюку уже несколько лет!) И решить проблему с таким продуктом можно только добавив перевод этого продукта на дополнительный язык. За 10 лет не решили?
- Говорить про банальные визуальные глюки и не сосответсвия в кабинете уже даже не хочется… то покупки с красными восклицательными знаками отлично продаются в магазине. То баннер от модератора висит не убираясь и т.д. Да всем плевать.
- После того как пользователь нажимает «купить» происходит вот что. Айдишник покупки посылается на сервер Apple, где происходит запись о списании денежных средств с пользователя. Далее сервер отвечает что покупка одобрена или отклонена. Проверить что покупка одобрена можно с помощью проверки чека, который сразу после покупки обновляется на устройстве пользователя. И все бы хорошо, но! он не всегда обновляется (глюк), а более того даже после обновления может не содержать покупки! Пока решения я не нашел (идет переписка с совершенно безразличной службой поддержки Apple).
- Но теперь давайте посмотрим что в самом чеке если он каким то чудом на устройстве появился. А в чеке вот что, покупки consumable в чеке не отмечаются (точнее они есть в чеке до финализации, а потом исчезают). Non consumable всегда есть в чеке (если конечно они там появятся). Подписки содержат минимум информации, а автовозобновляемые подписки обладают полной информацией. Эй Apple почему бы тебе не сделать все покупки в чеке с нормальной полноценной информацией? Или почему бы тебе не сделать банальный API для проверки куплена ли та или иная покупка. Где API Apple? Где?
- Как проверить что пользователь отписался? По факту никак, сервер Apple должен присылать ивент о том что произошла отписка, но самое забавное что в документации Apple говорится, что ивент может и не прийти и что требуется вручную проверять в чеке, которыий на секунду см. п.6. глючит. Более того, если вы хотите делать эти проверки, то будьте добры завести свой сервер! Это Apple детка!
- А как тестировать покупки? А только на устройстве пользователя, и кстати до недавнего времени, в настройках даже не было тестовых аккаунто…. Веселье. Только в 2020 году сейчас в бета версии появилась частичная работа с продуктами на симуляторе.
Подытожим:
- 1 Аналитика говно
- Модерация говно
- Айдишники только со своим сервером или внутри приложения, тогда см. п.2.
- Каждое обновление покупок это зачастую борьба с модерацией
- Продукты с глюками
- Глюки с реальными статусами покупок в кабинете
- Чек с глюками
- Чек содержит обрывки информации (неполная информация)
- Сервер Apple для проверки отписок и чеков глючит, а банальной проверки куплен ли продукт у Apple тупо нет
- Спустя 10 лет появился инструмент для частичной проверки покупок в симуляторе
Это не все чем нас кормит Apple за эти 30%. Неплохо?
Пройдемся по самому кабинету разработчика. Первая версия этого кабинета была сделана в сквеоморфизме и была похожа на интерфейс iOS. Потом после появления iCloud интерфейс решили изменить и сделали это частично в некоторых разделах. Процесс этот длился годами и до сих пор не закончен… И вдруг в 2020 году, появился третий новодел. Совершенно не похожий ни на что интерфейс новый, глючный и только в двух разделах. Итого на данный момент мы имеет аж три! Различных интерфейса в кабинете бедного разработчика, три совершенно разных не похожих интерфейса. А как божественно выглядят эти кольца крутилки яйцеобразной формы, не имеющие центра… Да всем плевать…
Что говорить, в 2020 году Apple наконец то разрешила удалять приложения из кабинета (раньше удалить было нельзя если вы вдруг сделали GameCenter или iCloud в приложении) Что осталось? Подождать еще 10 лет, что бы Apple разрешила удалять группы приложений!
Теперь поговорим про фреймворки которыми так гордится Apple. Большинство из них под капотом имеют СИ и Objective-C, написаны они кое-как, о чем свидетельствуют постоянные сбои по креш аналитике, которая говорит нам где именно произошел сбой. Например, самый крутой фреймворк для работы с аудио — CoreAudio работает иногда совершенно не так как ожидается. Найти к нему полноценные решения в документации просто не возможно, их банально нет (нужно искать на форумах или спрашивать людей кто работал). В CoreAudio добавили щелчки при старте или останове аудио примерно с iOS 11, в iOS 13, пакеты теряются, частота дискретизации плывет… К − Качество.
Помимо 30% с разработчиков в год собирают по $99 и сейчас терпение разработчиков подходит к концу… с такой отвратительной модерацией, с такими отвратительным кабинетом, с такими отвратительными сервисами для работы с продуктами, с такими отвратительными забагованными фреймворками. Любому терпению есть предел.
Но самое поганое в этой истории то что, сама Apple делает все что захочет плевав на свои же правила и законы. Ничего не напоминает? Запускает рекламу такую которую не одобрит вам ни один модератор. Делает пуш рассылки с рекламой (за что вас например просто забанит). Делает окна продаж и кнопки любыми шрифтами, с любыми надписями и ценниками, ей можно, а вам нет.
Справедливость, это единственное чего хотят разработчики, и просят либо повысить качество сервисов/фреймворков/продуктов/модерацию и сделать правила едиными даже для самой Apple. Либо пустить сторонних провайдеров с нормальным качеством сервисов оплаты. Либо снизить свой барский налог не соответствующий качеству предоставляемых услуг.
Разработчик Apple с 2007 года.
Оригинальный пост для вопросов автору текста — https://www.reddit.com/r/Pikabu/comments/ielxt0/почему_все_взъелись_на_apple_с_её_30/