Подготовка к анализу приложения
После того, как Вы закончите тестировать, Вы готовы представить свое приложение для анализа. Эта глава выделяет несколько подсказок для помощи Вам посредством процесса рассмотрения.
Представление продуктов для анализа
В первый раз, когда Вы представляете свое приложение для анализа, также необходимо представить продукты в приложении, которые будут рассмотрены одновременно. После первого представления можно представить обновления приложению и продуктам для анализа друг независимо от друга. Для получения дополнительной информации посмотрите Руководство по конфигурированию Закупки В приложении для Подключения iTunes.
Получения в тестовой среде
Различные среды Вашего выполнения приложения, в то время как в разработке, анализе и производстве, как показывают на рисунке 7-1.
Во время разработки Вы выполняете подписанную версию разработки своего приложения, соединяющегося с Вашими серверами разработки и тестовой средой для App Store. В производстве Ваши пользователи выполняют производственную подписанную версию Вашего приложения, соединяющегося с Вашими рабочими серверами и Хранилищем производственного приложения. Однако во время анализа приложения, Вашего выполнения приложения в смешанном производстве/тестовой среде: это - подписанное производство и соединяется с Вашими рабочими серверами, но это соединяется с тестовой средой для App Store.
При проверке получений на сервере сервер должен быть в состоянии обработать подписанное производством приложение, получая его получения от тестовой среды Apple. Рекомендуемый подход для Вашего рабочего сервера, чтобы всегда проверить получения против Хранилища производственного приложения сначала. Если проверка приводит к сбою с кодом ошибки “Получение песочницы, используемое в производстве”, проверьте против тестовой среды вместо этого.
Контрольный список реализации
Прежде чем Вы представите свое приложение для анализа, проверите реализацию всего требуемого поведения. Удостоверьтесь, что Вы реализовали следующее базовое Покупательное поведение В приложении (перечисленный в порядке типичного процесса разработки):
Создайте и сконфигурируйте продукты в Подключении iTunes.
Можно изменить продукты в течение процесса, но Вам нужен по крайней мере один продукт, сконфигурированный, прежде чем можно будет протестировать любой код.
Получите список идентификаторов продукта, или от комплекта приложений или от Вашего собственного сервера. Отправьте тот список в App Store с помощью экземпляра
SKProductsRequest
.Реализуйте пользовательский интерфейс для хранилища своего приложения, с помощью экземпляров
SKProduct
возвращенный App Store. Запустите с простого интерфейса во время разработки, такой как табличное представление или несколько кнопок.Реализация заключительный пользовательский интерфейс для хранилища Вашего приложения в любой точке целесообразна в Вашем процессе разработки.
Платеж запроса путем добавления экземпляра
SKPayment
очереди транзакции, использующейaddPayment:
методSKPaymentQueue
.Реализуйте наблюдателя очереди транзакции, начиная с
paymentQueue:updatedTransactions:
метод.Реализуйте другие методы в
SKPaymentTransactionObserver
протокол в любой точке целесообразен в Вашем процессе разработки.Поставьте купленный продукт путем создания персистентной записи из закупки для будущих запусков, загрузки любого связанного содержания, и наконец вызова
finishTransaction:
методSKPaymentQueue
.Во время разработки можно реализовать тривиальную версию этого кода сначала — например, просто выведя на экран “продукт, Поставленный” на экране — и затем реализовать реальную версию в любой точке, целесообразен в процессе разработки.
Если Ваше приложение продает непотребляемые товары, автовозобновляемые подписки или подписки невозобновления, проверяют реализацию следующей логики восстановления:
Обеспечьте UI для начала процесса восстановления.
Получите информацию о прошлых покупках любым обновлением получения приложения с помощью
SKReceiptRefreshRequest
класс или восстановление завершенных транзакций с помощьюrestoreCompletedTransactions
методSKPaymentQueue
класс.Позвольте пользователю повторно загрузить содержание.
Если Вы используете размещенное Apple содержание, восстанавливаете завершенные транзакции и используете транзакцию
downloads
свойство для получения экземпляраSKDownload
.Если Вы размещаете свое собственное содержание, выполняете надлежащие вызовы к Вашему серверу.
Если Ваше приложение продает автовозобновляемые или невозобновляющие подписки, проверьте реализацию следующей логики подписки:
Обработайте недавно купленную подписку путем поставки последний раз опубликованной части содержания — например, последняя проблема журнала.
Когда новое содержание будет опубликовано, сделайте его доступным для пользователя.
Когда подписка истечет, позвольте пользователю возобновить ее.
Если Ваше приложение продает автовозобновляемые подписки, позвольте App Store обработать этот процесс. Не пытайтесь обработать его сами.
Если Ваше приложение продает подписки невозобновления, Ваше приложение ответственно за этот процесс.
Когда подписка станет неактивной, прекратите делать новое содержание доступным. Обновите свой интерфейс, таким образом, у пользователя есть опция купить подписку снова, повторно активируя его.
Реализуйте некоторую систему для отслеживания то, когда было опубликовано содержание. Используйте эту систему при восстановлении покупок для предоставления пользовательского доступа к содержанию, за которое оплатили, на основе промежутков времени, подписка была активна.