Как добавить функцию «Написать отзыв» / «Оценить нас» в мое приложение? - PullRequest
36 голосов
/ 18 июля 2011

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

Лучшая практика, которую я могу придумать, - этоУ меня есть какое-то всплывающее окно или откройте UIWebView в моем приложении, чтобы пользователь не выгружался из моего приложения при открытии приложения App Store, как это сделано в:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString: @ "itms: //itunes.com/apps/myAppName"]];

Кто-нибудь знает, как это сделать?

Ответы [ 2 ]

85 голосов
/ 22 апреля 2012

API StoreKit (iOS 10.3 и выше)

Начиная с iOS 10.3, API StoreKit предоставляет возможность запрашивать отзыв в App Store, не покидая приложения.При вызове система может предоставить пользователю предупреждение, которое запрашивает обзор.Пользователь может предоставить звездный рейтинг непосредственно внутри оповещения, продолжить писать отзыв или отклонить оповещение.StoreKit обрабатывает практически все для вас.Чтобы представить запрос на проверку, сделайте следующий звонок, если это необходимо в вашем приложении:

// Objective-C
[SKStoreReviewController requestReview]

// Swift
SKStoreReviewController.requestReview()

В соответствии с инструкциями Apple, вам не следует вызывать их в ответ на прямое взаимодействие с пользователем (т. Е. Нажатие кнопкиэто говорит «Написать отзыв»), потому что это не всегда может отображать предупреждение.Действительно, предупреждение может отображаться только три раза каждые 365 дней.

Ниже приведен пример того, как выглядит предупреждение.Для получения дополнительной информации см. документацию Apple .

StoreKit rating / review prompt.


iRate (iOS 7.0 и выше)

Если ваше приложение работает на версиях iOS более ранних, чем 10,3 или , вам нужен более надежный контроль над запросами оценок от пользователей, iRate является хорошим решением.

Для устройств с iOS 10.3 или более поздней версии:iRate использует вышеупомянутый API StoreKit.Для устройств под управлением iOS 7.0–10.2 iRate использует и , чтобы запросить у пользователя оценку (или напомнить о ней позже).Все настраиваемо, от названия кнопки «Отмена» до интервала, в котором он напоминает пользователю.

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

Setup

Для установки простоперетащите файл заголовка, файл реализации и .bundle (для локализации) в свой проект.

  1. Импортируйте заголовок в свой AppDelegate: #import "iRate.h"
  2. Добавьте StoreKit Framework для вашего проекта - Подробнее о StoreKit из документации Apple
  3. В вашем методе application: didFinishLaunchingWithOptions: установите следующее:

    // Configure iRate
    [iRate sharedInstance].daysUntilPrompt = 5;
    [iRate sharedInstance].usesUntilPrompt = 15;
    

Свойства

Данное свойство полезно для тестирования.Во время тестирования установите YES, чтобы убедиться, что диалоговое окно отображается правильно.Если установлено значение YES, оно будет отображаться сразу при запуске, независимо от других настроек дисплея.Установите для этого параметра NO для версий выпуска вашего приложения.

 [iRate sharedInstance].previewMode = NO;

Свойство appStoreID позволяет вам установить идентификатор вашего приложения.Это требуется только в том случае, если у вас есть приложения Mac и iOS с одинаковым идентификатором пакета .Идентификатор приложения, установленный здесь, должен также соответствовать идентификатору пакета, установленному в Xcode и iTunes Connect:

[iRate sharedInstance].appStoreID = 555555555;

Подробнее доступно на странице iRate GitHub.

7 голосов
/ 18 июля 2011

Я действительно использую Appirater: https://github.com/arashpayan/appirater/

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

...