К сожалению, большинство профилировщиков, которые я пробовал, не работали при использовании хвостовых вызовов, особенно ANTS. Я просто заканчиваю тем, что пишу свой собственный. Существует простая реализация CodeProject, которую вы можете использовать в качестве основы.
О чем следует подумать при внедрении StoreKit:
Когда вы вызываете [[SKPaymentQueue defaultQueue] restoreCompletedTransactions];
, иногда вы получаете (недействительный) paymentQueueRestoreCompletedTransactionsFinished: (SKPaymentQueue *) очередь
обратного вызова перед (а иногда задолго перед) обновленной очереди - (void) paymentQueue: (SKPaymentQueue * )Transactions: (NSArray *) транзакции
обратного вызова. (Также иногда транзакции отсутствуют.)
Иногда, когда вы добавляете покупку в Очередь с помощью [[SKPaymentQueue defaultQueue] addPayment: payment];
транзакция удаляется из очереди, и вы получаете единственный отзыв is: - (void) paymentQueue: (SKPaymentQueue *) очередь удалена (NSArray *) transaction
Пользовательские отмены возвращают большое количество сообщений об ошибках, а некоторые условия ошибки возвращают код ошибки SKErrorPaymentCancelled. В частности:
Не забудьте реализовать другие обратные вызовы SKRequest:
- (void) request: (SKRequest *) request didFailWithError: (NSError *) error;
- (void) requestDidFinish: (SKRequest *) request
Просто внимательно прочтите документацию и сделайте все необходимое для повторной загрузки данных на вторичные устройства.
Имейте в виду, что есть разница между расходными материалами (не не обязательно поддерживать бесплатную повторную покупку на других устройствах) и не расходные материалы (где вы это делаете, что похоже на то, что у вас есть).
Кроме того, самый важный совет, который я слышал, - при тестировании выходите из системы вашей учетной записи iTunes на телефоне и войдите в учетную запись, которую вы используете для тестирования.
Думаю, нужно учитывать текущее состояние рейтингов и обзоров. Клиенты склонны к негативному (в ущерб многим великим разработчикам) во впечатлениях о приложениях.
Я подозреваю, что SK даст вашим клиентам еще один повод «расстроиться» вашим приложением.
Вы должны быть осторожны при представлении своего «премиум» или «дополнительного» контента. Имейте в виду, что до сих пор клиенты получали бесплатных обновлений для своих приложений. Неизбежно возникнет обратная реакция со стороны клиентов, зависящих от вашего исполнения и вашей целевой аудитории.
Фактически, это, вероятно, повысит ваши продажи, если вы объявите: «Я не беру плату за дополнительный контент». Я вижу, что это новая тенденция в привлечении клиентов, уверяя их, что 1,99 доллара - это 1,99 доллара.
Таким образом, помимо восприятия клиентов вы должны поддерживать внутреннюю инфраструктуру, чтобы сохранять записи клиентов для восстановления. Я понимаю, что перспектива неограниченной прибыли кажется заманчивой, но есть что подумать, прежде чем внедрять ее в свои приложения.
Я сделал красивую оболочку вокруг фреймворка StoreKit. the wrapper is available here