Подсказки по дизайну для StoreKit в iPhone OS 3.0?

К сожалению, большинство профилировщиков, которые я пробовал, не работали при использовании хвостовых вызовов, особенно ANTS. Я просто заканчиваю тем, что пишу свой собственный. Существует простая реализация CodeProject, которую вы можете использовать в качестве основы.

7
задан Grouchal 20 November 2009 в 11:07
поделиться

4 ответа

О чем следует подумать при внедрении StoreKit:

  1. Когда вы вызываете [[SKPaymentQueue defaultQueue] restoreCompletedTransactions]; , иногда вы получаете (недействительный) paymentQueueRestoreCompletedTransactionsFinished: (SKPaymentQueue *) очередь обратного вызова перед (а иногда задолго перед) обновленной очереди - (void) paymentQueue: (SKPaymentQueue * )Transactions: (NSArray *) транзакции обратного вызова. (Также иногда транзакции отсутствуют.)

  2. Иногда, когда вы добавляете покупку в Очередь с помощью [[SKPaymentQueue defaultQueue] addPayment: payment]; транзакция удаляется из очереди, и вы получаете единственный отзыв is: - (void) paymentQueue: (SKPaymentQueue *) очередь удалена (NSArray *) transaction

  3. Пользовательские отмены возвращают большое количество сообщений об ошибках, а некоторые условия ошибки возвращают код ошибки SKErrorPaymentCancelled. В частности:

    • , если пользователь нажимает кнопку «Отмена» при появлении запроса «Вы уже приобрели этот продукт», ошибка транзакции равна нулю.
    • , если пользователь нажимает кнопку «Отмена» при появлении запроса «Войти: [Использовать существующую учетную запись] [Создать новую учетную запись] [Отмена]», код ошибки - SKErrorUnknown.
    • , если пользователь нажимает [OK] вместо отмены, когда предлагается ввести пароль и не вводит пароль, код ошибки - SKErrorPaymentCancelled.
  4. Не забудьте реализовать другие обратные вызовы SKRequest:

    - (void) request: (SKRequest *) request didFailWithError: (NSError *) error;

    - (void) requestDidFinish: (SKRequest *) request

7
ответ дан 7 December 2019 в 03:19
поделиться

Просто внимательно прочтите документацию и сделайте все необходимое для повторной загрузки данных на вторичные устройства.

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

Кроме того, самый важный совет, который я слышал, - при тестировании выходите из системы вашей учетной записи iTunes на телефоне и войдите в учетную запись, которую вы используете для тестирования.

0
ответ дан 7 December 2019 в 03:19
поделиться

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

Я подозреваю, что SK даст вашим клиентам еще один повод «расстроиться» вашим приложением.

Вы должны быть осторожны при представлении своего «премиум» или «дополнительного» контента. Имейте в виду, что до сих пор клиенты получали бесплатных обновлений для своих приложений. Неизбежно возникнет обратная реакция со стороны клиентов, зависящих от вашего исполнения и вашей целевой аудитории.

Фактически, это, вероятно, повысит ваши продажи, если вы объявите: «Я не беру плату за дополнительный контент». Я вижу, что это новая тенденция в привлечении клиентов, уверяя их, что 1,99 доллара - это 1,99 доллара.

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

1
ответ дан 7 December 2019 в 03:19
поделиться

Я сделал красивую оболочку вокруг фреймворка StoreKit. the wrapper is available here

1
ответ дан 7 December 2019 в 03:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: