API StoreKit (iOS 10.3 и выше)
Начиная с iOS 10.3, API StoreKit предоставляет возможность запрашивать отзыв в App Store, не покидая приложения.При вызове система может предоставить пользователю предупреждение, которое запрашивает обзор.Пользователь может предоставить звездный рейтинг непосредственно внутри оповещения, продолжить писать отзыв или отклонить оповещение.StoreKit обрабатывает практически все для вас.Чтобы представить запрос на проверку, сделайте следующий звонок, если это необходимо в вашем приложении:
// Objective-C
[SKStoreReviewController requestReview]
// Swift
SKStoreReviewController.requestReview()
В соответствии с инструкциями Apple, вам не следует вызывать их в ответ на прямое взаимодействие с пользователем (т. Е. Нажатие кнопкиэто говорит «Написать отзыв»), потому что это не всегда может отображать предупреждение.Действительно, предупреждение может отображаться только три раза каждые 365 дней.
Ниже приведен пример того, как выглядит предупреждение.Для получения дополнительной информации см. документацию Apple .

iRate (iOS 7.0 и выше)
Если ваше приложение работает на версиях iOS более ранних, чем 10,3 или , вам нужен более надежный контроль над запросами оценок от пользователей, iRate является хорошим решением.
Для устройств с iOS 10.3 или более поздней версии:iRate использует вышеупомянутый API StoreKit.Для устройств под управлением iOS 7.0–10.2 iRate использует uialertview и storekit , чтобы запросить у пользователя оценку (или напомнить о ней позже).Все настраиваемо, от названия кнопки «Отмена» до интервала, в котором он напоминает пользователю.
По умолчанию iRate автоматически открывается при выполнении определенных требований (например, приложение запускается X раз, пользователь прошел Xколичество уровней), но вы также можете использовать различные методы и свою собственную логику (с помощью методов iRate) для ручного отображения всплывающего окна iRate.
Setup
Для установки простоперетащите файл заголовка, файл реализации и .bundle
(для локализации) в свой проект.
- Импортируйте заголовок в свой AppDelegate:
#import "iRate.h"
- Добавьте StoreKit Framework для вашего проекта - Подробнее о StoreKit из документации Apple
В вашем методе 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.