Туториалы
16 января 2023
Туториалы
16 января 2023
Сертификат подписи чеков App Store изменится в 2023 году

Рик Хаандрикман 27 декабря 2022 г.

The Anatomy of App Store Receipts

Используете ли вы жестко запрограммированный промежуточный сертификат WWDR для проверки чеков в App Store? Сюрприз. Теперь у вас есть 1,5 месяца, чтобы обновить приложение до истечения срока действия старого - 7 февраля. Вот что вы должны сделать прямо сейчас:

 

Что изменится?

20 декабря 2022 года Apple объявила об изменениях для сертификата подписи чеков App Store. В частности, они объявили, что с 18 января сертификат подписи чеков App Store будет использовать новый промежуточный сертификат WWD. С 7 февраля срок действия предыдущего сертификата истекает, и он больше не будет действовать.

У тех кого затронут эти изменения есть меньше двух месяцев, чтобы внести необходимые изменения и это прямо перед праздниками... Ох уж эти радости мобильной разработки…

Apple World Wide Developer Relations Intermediate Certificate, with a February 2023 expiration date«Этот сертификат действителен»….. пока что

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

Что произойдет с приложениями, которые не обновят свой сертификат подписи чеков в App Store

Проверка завершится ошибкой, если ваше приложение попытается использовать сертификат WWDR с истекшим сроком действия для проверки сертификата iTunes App Store в контейнере PKCS #7, который содержит фактические данные квитанции.

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

Что в результате? Заплатившие пользователи, у которых нет доступа к контенту, который они купили, множество неудобных вопросов в ваши каналы поддержки, плохие отзывы в магазине приложений и общее разочарование повсюду.

Как проверить, коснулись ли вас изменения

Во-первых, скорее всего, вы не пострадали. Сценариев, в которых это изменение действительно повлияет на ваше приложение, относительно немного:

  • Вы не используете API AppTransaction и Transaction для проверки транзакций в App Store .
  • Вы не используете end point веб службы verifyReceipt 
  • Вы используете проверку чеков на устройстве с захардкоденым промежуточным сертификатом.

Или, другими словами, вы сделали то, что генеральный директор RevenueCat Джейкоб запретил вам делать, когда объяснял процесс проверки чеков в App Store на устройстве :

A screenshot of a blogpost showing 'DO NOT USE THIS CODE' in all capsнельзя сказать, что он вас не предупредил…

И если это случилось с вами, то теперь у вас есть несколько недель, чтобы предотвратить любые негативные последствия для ваших (платящих) пользователей.

Как обновить сертификат подписи квитанции App Store

Предлагаемое Apple решение состоит в том, чтобы обновить ваш код, таким образом чтобы он соответствовал рекомендованному процессу проверки, изложенному в их документах «Проверка чеков с документами App Store » ссылка . Если вы в используете проверку чеков App Store на устройстве, при следовании этим рекомендациям вам потребуется передать зашифрованный бинарный файл через endpoint verifyReceipt посредством защищенного сервера.

🚨Вызов сервера App Store из вашего приложения запрещен, так как вы не будете контролировать ни один из узлов этого соединения: будет невозможно создать доверенное соединение между App Store и устройством пользователя.

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

Обновите жестко закодированный сертификат

Просто замените старый сертификат на новый 🤷‍♀️

Так делать не нужно. Это быстрее, чем переключение на раcчитаную цепочку доверия, но в этом случае вы снова рискуете оказаться в той же ситуации если в Apple решат еще что-либо поменять в своих сертификатах.

Переключиться на нежестко-закодированный сертификат

Джош Хольц написал о том, как можно это сделать, в руководстве посвященного storeKit2 и swift, доступного по подписке внутри его iOS приложения. К сожалению, если вы все еще используете StoreKit 1, все немного сложнее, чем описано в этой статье.

Лучше всего следовать одному из многочисленных руководств по проверке чеков на устройстве, таких как это или это немного более старое .

Или…

Переключиться на RevenueCat

Это решение рекомендуют 9 из 10 разработчиков: Перейти на RevenueCat.

Просто следуя инструкциям по установке iOS Purchases SDK , вы сделаете себе тот самый безопасный сервер, который так рекомендует Apple:

Вы сможете:

  • Размещать и настраивать продукты удаленно с панели управления
  • Анализировать самые важные показатели вашего приложения по подписке в одном месте
  • Просматривать историю транзакций клиентов, графики LTV и предоставлять рекламные подписки.
  • Использовать веб-перехватчики для запуска других служб на основе событий в реальном времени.
  • Делать все это на разных платформах

 

Некоторые заключительные мысли

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

К счастью, истечения срока действия этого сертификата имеет относительно ограниченное влияние, но это один из бесчисленных примеров вопросов «шума», которые разработчики должны устранять, чтобы иметь возможность работать в App Store.

Вот почему мы создали RevenueCat.

Попробуйте — для большинства приложений это будет бесплатно.

Или постучитесь и давайте обсудим том, как мы можем помочь.


Оцените статью
0
0
0
0
0

Чтобы добавить комментарий, авторизуйтесь
Войти
Безумова Виола
Пишет и переводит статьи для SwiftBook