Советы по разработке StoreKit в iPhone OS 3.0? - PullRequest
7 голосов
/ 25 июня 2009

Я собираюсь реализовать StoreKit в приложении для iPhone и хотел бы узнать, есть ли уже опыт, который мог бы указать на какие-либо подводные камни или ловушки при использовании StoreKit?

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

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

ОБНОВЛЕНИЕ (из комментариев): Вы не можете преобразовать БЕСПЛАТНОЕ приложение в платное, поэтому пользователь должен сначала установить его по минимальной цене, а затем использовать StoreKit API для оплаты дополнительного программного обеспечения.

2-е ОБНОВЛЕНИЕ: теперь вы можете использовать API в бесплатных приложениях - Apple недавно изменила правила


Может кто-нибудь порекомендовать хорошее приложение, использующее API StoreKit, на котором я мог бы моделировать взаимодействие с пользователем?

Ответы [ 4 ]

7 голосов
/ 20 ноября 2009

Что нужно учитывать при реализации StoreKit:

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

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

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

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

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

    - (void)requestDidFinish:(SKRequest *)request

1 голос
/ 30 июня 2009

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

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

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

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

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

1 голос
/ 21 октября 2009

Я сделал хорошую обертку вокруг фреймворка StoreKit. Обертка доступна здесь

0 голосов
/ 25 июня 2009

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

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

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

...