Он не получит никаких будущих обновлений или исправлений ошибок. Если вы используете его, пожалуйста, перейдите на другое решение.
Irate - это библиотека, которая поможет вам продвигать приложения для iPhone и Mac App Store, побуждая пользователей оценить приложение после его использования в течение нескольких дней. Этот подход является одним из лучших способов получить положительные обзоры приложений, ориентируясь только на обычных пользователей (которые, по -видимому, любят приложение, или они не будут продолжать его использовать!).
Примечание: «Поддерживается» означает, что библиотека была протестирована с помощью этой версии. «Совместимый» означает, что библиотека должна работать над этой версией ОС (то есть она не полагается на какие -либо недоступные функции SDK), но больше не тестируется на совместимость и может потребовать исправления настройки или ошибок для правильного запуска.
Начиная с версии 1.7, Radate требует дуги. Если вы хотите использовать Rid в проекте без ARC, просто добавьте флаг компилятора -fobjc-ARC в класс Irate.m. Для этого перейдите на вкладку «Фазы сборки» в настройках цели, откройте группу источников компиляции, дважды щелкните radate.m в списке и введите -fobjc-arc в Поповер.
Если вы хотите преобразовать весь свой проект в ARC, прокомментируйте строку #Error в radate.m, а затем запустите Edit> Refactor> преобразовать в Arc Objective-C ... инструмент в XCode и убедитесь, что все файлы, которые вы хотите Используйте ARC для (включая radate.m) проверены.
Использование использует потоки внутри, чтобы избежать блокировки пользовательского интерфейса, но ни один из разгневанных внешних интерфейсов не является безопасным потоком, и вы не должны вызывать какие -либо методы или устанавливать какие -либо свойства на RATE, за исключением основного потока.
Чтобы установить Irate в ваше приложение, перетащите файлы wrate.h, .m и .bundle в ваш проект. Вы можете опустить.
Radate обычно не требует никакой конфигурации вообще и будет просто работать автоматически, используя идентификатор пакета приложения для поиска идентификатора приложения в магазине приложений.
ПРИМЕЧАНИЕ. Если у вас есть приложения с соответствующими идентификаторами пакетов в магазинах приложений Mac и iOS (даже если они используют различную капитализацию), механизм поиска не будет работать, поэтому вам нужно вручную установить свойство AppStoreid, которое является Числовой идентификатор, который можно найти в iTunes Connect после настройки приложения. Кроме того, если вы создаете приложение Mac с песочкой, и ваше приложение не запрашивает разрешение на доступ к сети, вам необходимо будет установить AppStoreID, потому что оно не может быть извлечено из службы iTunes.
Если вы хотите настроить Rid, лучшее время для этого -это метод вашего AppDelegate -[application:didFinishLaunchingWithOptions:]
. Применение конфигурации Любой позже может не сработать, так как подсказка уже была показана к этой точке:
#import "iRate.h"
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
//configure iRate
[iRate sharedInstance].daysUntilPrompt = 5;
[iRate sharedInstance].usesUntilPrompt = 15;
return YES;
}
Для настройки RWATE существует ряд свойств разгневанного класса, которые могут изменить поведение и внешний вид разгневания. Это должно быть в основном пояснительным, но они задокументированы ниже:
@property (nonatomic, assign) NSUInteger appStoreID;
Это должно соответствовать идентификатору приложения iTunes в вашем приложении, который вы можете получить от iTunes Connect после настройки вашего приложения. Это значение обычно не необходимо и обычно требуется только в том случае, если у вас есть вышеупомянутый конфликт между идентификаторами пакета для ваших приложений Mac и iOS, или в случае приложений для Mac с песочницей, если ваше приложение не имеет разрешения сети, потому что оно не будет Возможность автоматически извлекать апторид с помощью служб iTunes.
@property (nonatomic, assign) NSUInteger appStoreGenreID;
Это тип приложения, используемого для определения текста по умолчанию для диалога рейтинга. Это автоматически устанавливается путем вызова службы iTunes, поэтому вам не нужно устанавливать его вручную для большинства целей. Если вы хотите переопределить это значение, установите его на постоянную iRateAppStoreGameGenreID
приведет к тому, что Irate использует версию «Game» рейтинга, а настройка его на любое другое значение будет использовать версию «приложения» диалога рейтинга.
@property (nonatomic, copy) NSString *appStoreCountry;
Это двухбуктный код страны, используемый для указания того, какой itunes хранит хранилище. Он автоматически устанавливается из предпочтений в локале устройства, поэтому в большинстве случаев не нужно менять. Вы можете переопределить это, чтобы указать на американский магазин или в другой конкретный магазин, если вы предпочитаете, что может быть хорошей идеей, если ваше приложение доступно только в определенных странах.
@property (nonatomic, copy) NSString *applicationName;
Это название приложения, отображаемого в разгневанном оповещении. Он автоматически устанавливается из info.plist приложения, но вы можете переопределить его с более короткой или более длинной версией.
@property (nonatomic, copy) NSString *applicationBundleID;
Это идентификатор пакета приложений, используемый для извлечения appStoreID
и appStoreGenreID
из iTunes. Это автоматически устанавливается из info.plist приложения, поэтому вам не нужно менять его, кроме целей тестирования.
@property (nonatomic, assign) float daysUntilPrompt;
Это количество дней, в которые пользователь должен был установить приложение, прежде чем им будет предложено оценить его. Время измеряется с первого раз, когда приложение запускается. Это значение с плавающей запятой, поэтому его можно использовать для указания дробного количества дней (например, 0,5). Значение по умолчанию составляет 10 дней.
@property (nonatomic, assign) NSUInteger usesUntilPrompt;
Это минимальное количество раз, когда пользователь должен запустить приложение, прежде чем им будет предложено оценить его. Это избегает сценария, в котором пользователь запускает приложение один раз, не смотрит на него в течение нескольких недель, а затем запускает его снова, только чтобы быть немедленно побуждающим оценить его. Минимальный счет использования гарантирует, что только частые пользователи будут представлены. Подсказка появится только после указанного количества дней, и использование было достигнуто. Это по умолчанию до 10 используется.
@property (nonatomic, assign) NSUInteger eventsUntilPrompt;
Для некоторых приложений запуска не является хорошим показателем для использования. Например, приложение может быть демоном, который работает постоянно, или игра, в которой пользователь не может написать информированный обзор, пока не достигнет определенного уровня. В этом случае вы можете вручную записать значимых событий и появиться в подсказке после заранее определенного числа этих событий. Как и настройка using untilprompt, подсказка появится только после указанного количества дней и событий, однако, как только будет достигнут порог дня, приглашение появится, если будет достигнут порог или порог использования. Это по умолчанию до 10 событий.
@property (nonatomic, assign) float usesPerWeekForPrompt;
Если вас меньше заботятся об общем количестве раз, когда используется приложение, но предпочтете использовать частоту приложения, когда приложение используется, вы можете использовать свойство usesPerWeekForPrompt
для установки минимального порога для количества раз, когда пользователь должен запустить Приложение в неделю (в среднем) для показателя, которая будет показана. Обратите внимание, что это среднее, так как приложение было установлено, поэтому, если пользователь проходит в течение длительного периода без запуска приложения, оно может отбросить среднее значение. Значение по умолчанию равно нулю.
@property (nonatomic, assign) float remindPeriod;
Как долго приложение должно ждать, прежде чем напомнить пользователю, чтобы оценить после того, как он выберет опцию «Напомнить мне позже» (измерено за несколько дней). Значение нуля означает, что приложение напомнит пользователю следующий запуск. Обратите внимание, что это значение заменяет другие критерии, поэтому приложение не будет запрашивать рейтинг во время периода напоминания, даже если новая версия выпускается в то же время. Это по умолчанию до 1 дня.
@property (nonatomic, copy) NSString *messageTitle;
Заголовок отображается для подсказки рейтинга. Если вы не хотите отображать заголовок, установите его на @""
;
@property (nonatomic, copy) NSString *message;
Сообщение о рейтинге. Это должно быть вежливым и вежливым, но не слишком многословным. Если вы не хотите отображать сообщение, установите его на @""
;
@property (nonatomic, copy) NSString *updateMessage;
Это сообщение, которое нужно использовать для пользователей, которые ранее оценили приложение, поощряя их повторную оценку. Это позволяет вам настроить сообщение для этих пользователей. Если вы не предоставите пользовательское сообщение для этого случая, будет использоваться стандартное сообщение.
@property (nonatomic, copy) NSString *cancelButtonLabel;
Метка кнопки для кнопки, чтобы отклонить подсказку оценки без оценки приложения.
@property (nonatomic, copy) NSString *rateButtonLabel;
Метка кнопки для кнопки, которую пользователь нажимает, если они хотят оценить приложение.
@property (nonatomic, copy) NSString *remindButtonLabel;
Метка кнопки для кнопки, которую пользователь нажимает, если они не хотят немедленно оценивать приложение, но хотят, чтобы в будущем напомнили об этом. Установите это на @""
Если вы не хотите отображать кнопку «Напомнить мне» - например, если у вас нет места на экране.
@property (nonatomic, assign) BOOL useAllAvailableLanguages;
По умолчанию IRATE будет использовать все доступные языки в RUTE.Bundle, даже если он используется в приложении, которое не поддерживает локализацию. Если вы предпочитаете ограничивать режиму, чтобы использовать только тот же набор языков, которые уже поддерживает ваше приложение, установите это свойство на нет. (По умолчанию да).
@property (nonatomic, assign) BOOL promptForNewVersionIfUserRated;
Поскольку рейтинги iTunes зависят от версии, вы в идеале хотите, чтобы пользователи оценивали каждую новую версию вашего приложения. Пользователи, которые действительно любят ваше приложение, могут быть готовы обновить свой обзор для новых выпусков. Установите promptForNewVersionIfUserRated
на YES
, и Radate будет предлагать пользователю снова каждый раз, когда они устанавливают обновление, пока они не отказались, чтобы оценить приложение. Если они откажутся, их больше не будут спрашивать.
@property (nonatomic, assign) BOOL onlyPromptIfLatestVersion;
Установите это на NO, чтобы включить показатель рейтинга, даже если пользователь не запускает последнюю версию приложения. Это по умолчанию да, потому что таким образом пользователи не оставляют плохих отзывов из -за ошибок, которые вы уже исправили и т. Д.
@property (nonatomic, assign) BOOL onlyPromptIfMainWindowIsAvailable;
Этот параметр применим только к Mac OS. По умолчанию, в Mac OS -оповещение отображается в качестве листа в главном окне. В некоторых приложениях нет главного окна, поэтому этот подход не работает. Для таких приложений установите это свойство, чтобы не было отображаться в качестве регулярного модального окна.
@property (nonatomic, assign) BOOL promptAtLaunch;
Установите это, чтобы отключить подсказку рейтинга, появляющуюся автоматически, когда приложение запускается или возвращается с фона. Критерии рейтинга будут по -прежнему отслеживать, но подсказка не будет отображаться автоматически, пока этот параметр вступает в силу. Вы можете использовать эту опцию, если вы хотите вручную управлять отображением рейтинга.
@property (nonatomic, assign) BOOL verboseLogging;
Этот вариант приведет к тому, что Irate отправляет подробные журналы в консоли о процессе быстрого принятия решений. Если ваше приложение не подсказывает рейтинг, когда вы ожидаете, это поможет вам выяснить, почему. Логирование словесной регистрации по умолчанию включено по сборкам отладки и отключено при сборе выпуска и развертывания.
@property (nonatomic, assign) BOOL previewMode;
Если вы устанавливаете «Да», Irate всегда будет отображать подсказку оценки при запуске, независимо от того, как долго использовалось приложение или является ли это последней версией (если вы явно отключили опцию promptAtLaunch
). Используйте это для коррекции вашего сообщения, и проверьте, что ваша конфигурация является правильной во время тестирования, но отключите его для окончательного выпуска (по умолчанию нет).
@property (nonatomic, assign) BOOL useUIAlertControllerIfAvailable;
По умолчанию IRATE будет использовать uiAlertView на iOS для отображения подсказки рейтинга. UiAlertView был устарел в iOS8 и заменен UialertController. К сожалению, в отличие от uialertview, представление оповещения с uialertcontroller мешает возможности приложения отображать другие контроллеры, и, поскольку теоретически может быть теоретически отображать предупреждение в течение срока службы приложения, он может столкнуться с приложением, пытающимся представить другой контроллер представления. Полем По этой причине использование UialertController отключено по умолчанию. Вы должны установить это свойство на «Да», только если вы уверены, что оно не сталкивается с логикой приложения (например, если вы отключили подсказки с автоматическим рейтингом, или если ваше приложение не использует каких -либо контроллеров модального представления).
@property (nonatomic, assign) BOOL useSKStoreReviewControllerIfAvailable;
По умолчанию IRATE будет использовать SkstoreReviewController для запроса отзывов на iOS 10.3 и выше. Чтобы отключить это, Set useSKStoreReviewControllerIfAvailable
to NO
.
Если поведение по умолчанию не соответствует вашим требованиям, вы можете реализовать свои собственные, используя расширенные свойства, методы и делегировать. Приведенные ниже свойства позволяют получить доступ к внутреннему состоянию и переопределить его:
@property (nonatomic, strong) NSURL *ratingsURL;
URL, на которое приложение будет направлять пользователя, чтобы он мог написать рейтинг для приложения. Это автоматически устанавливается на правильное значение для данной платформы. В iOS 6 и ниже это переносит пользователей непосредственно на страницу рейтингов, но на IOS 7 и Mac OS он выводит пользователей на основную страницу приложения (если есть способ напрямую ссылаться на страницу рейтингов на этих платформах, я еще не Чтобы найти это). Если вы реализуете свою собственную подсказку оценки, вам, вероятно, следует использовать метод openRatingsPageInAppStore
, особенно на Mac OS, так как процесс открытия Mac App Store более сложный, чем просто открытие URL.
@property (nonatomic, strong) NSDate *firstUsed;
Первая дата, когда пользователь запустил текущую версию приложения. Это используется для расчета того, был ли соответствовать критерию DaysuntilPrompt.
@property (nonatomic, strong) NSDate *lastReminded;
Дата, когда пользователь в последний раз просил напомнить о оцените приложение позже.
@property (nonatomic, assign) NSUInteger usesCount;
В течение нескольких раз текущая версия приложения была использована (запущена).
@property (nonatomic, assign) NSUInteger eventCount;
Количество значимых событий приложений, которые были записаны с момента установки текущей версии. Это увеличивается методом LogEvent, но также можно манипулировать напрямую. Проверьте демонстрацию событий , чтобы увидеть, как используется эта ОС.
@property (nonatomic, readonly) float usesPerWeek;
Среднее количество раз в неделю, в которой использовалась текущая версия приложения (запускается).
@property (nonatomic, assign) BOOL declinedThisVersion;
Этот флаг указывает, отказался ли пользователь оценить текущую версию (да) или нет (нет). В настоящее время это не используется логикой разгневания, но может быть полезно для реализации вашей собственной логики.
@property (nonatomic, assign) BOOL declinedAnyVersion;
Этот флаг указывает, отказался ли пользователь оценить любую предыдущую версию приложения (да) или нет (нет). IRATE не будет автоматически запрашивать пользователя, если это установлено на да.
@property (nonatomic, assign) BOOL ratedThisVersion;
Этот флаг указывает, оценил ли пользователь текущую версию (да) или нет (нет).
@property (nonatomic, readonly) BOOL ratedAnyVersion;
Этот (readonly) флаг указывает, имеет ли пользователь ранее оценил какую -либо версию приложения (да) или нет (нет).
@property (nonatomic, assign) id<iRateDelegate> delegate;
Объект, который вы поставили, который реализует протокол iRateDelegate
, задокументированный ниже. Используйте это, чтобы обнаружить и/или переопределить поведение по умолчанию Irate. Это по умолчанию в приложение делегат, поэтому, если вы используете свое делегат приложения в качестве разгневанного делегата, вам не нужно устанавливать это свойство.
Помимо конфигурации, у Irate есть следующие методы:
- (BOOL)shouldPromptForRating;
Возвращает да, если критерии оперативных критериев были соблюдены, и нет, если у них нет. Вы можете использовать это, чтобы решить, когда отобразить подсказку оценки, если вы отключили автоматический дисплей при запуске приложения. Призыв этого метода не будет вызовом метода iRateShouldPromptForRating
Delegate.
- (void)promptForRating;
Этот метод немедленно запустит подсказку оценки без проверки того, что App Store доступен, и не вызывая метод делегата Irateshouldpromptforrate. Обратите внимание, что этот метод зависит от свойств appStoreID
и applicationGenre
, которые получают только после опроса на сервере iTunes, поэтому, если вы намереваетесь напрямую вызывать этот метод, вам необходимо будет установить эти свойства самостоятельно или вместо этого использовать метод promptIfNetworkAvailable
.
- (void)promptIfNetworkAvailable;
Этот метод будет проверять, доступен ли магазин приложений, и если он есть, он отобразит подсказку оценки пользователю. Метод делегата Irateshouldpromptforrative Delegate будет вызван до того, как будет показан оповещение, поэтому вы можете перехватить его. Обратите внимание, что если ваше приложение имеет песочницу и не имеет разрешения на доступ к сети, этот метод будет игнорировать статус доступности сети, однако в этом случае вам необходимо будет вручную установить appStoreID
или Irate.
- (void)promptIfAllCriteriaMet;
Этот метод будет проверять, были ли соблюдены все критерии подсказования, и если магазин приложений доступен, и если это так, он отобразит подсказку оценки для пользователя. Метод делегата Irateshouldpromptforrative Delegate будет вызван до того, как будет показан оповещение, поэтому вы можете перехватить его.
- (void)openRatingsPageInAppStore;
Этот метод пропускает оповещение пользователя и открывает страницу рейтингов приложений в Mac или App Store, в зависимости от того, на какую платформу работает. Этот метод не выполняет никаких проверок, чтобы убедиться, что у машины есть сетевой доступ или что App Store доступен. Это также не называет метод делегата -iRateShouldOpenAppStore
. Вы должны использовать этот метод, чтобы открыть страницу рейтингов вместо свойства Ratingsurl, так как процесс запуска App Store является более сложным, чем просто открытие URL во многих случаях. Обратите внимание, что этот метод зависит от appStoreID
, которая получена только после опроса на сервере iTunes. Если вы позвоните по этому методу, не выполняя проверку обновлений, вам нужно будет либо заранее установить свойство appStoreID
самостоятельно, либо риск, что этот метод может занять некоторое время, чтобы сделать сетевой вызов, либо полностью. При успехе этот метод будет вызвать метод делегата -iRateDidOpenAppStore
. При сбое он позвонит в -iRateCouldNotConnectToAppStore:
метод делегата.
- (void)logEvent:(BOOL)deferPrompt;
Этот метод может быть вызван из любой точки вашего приложения (после настроения RUATE) и увеличивает разгневанное значительное количество событий. Когда будет достигнуто заранее определенное количество событий, будет показана подсказка рейтинга. Необходимый параметр deferprompt используется для определения того, будет ли показана подсказка немедленно (нет), или приложение будет ждать до следующего запуска (да).
- (void)remindLater;
Этот метод сбрасывает период напоминания.
Протокол IrateDelegate предоставляет следующие методы, которые можно использовать перехватывающие события и переопределить поведение по умолчанию. Все методы необязательны.
- (void)iRateCouldNotConnectToAppStore:(NSError *)error;
Этот метод вызывается, если Irate не может подключиться к App Store, обычно потому, что сетевое соединение не работает. Это также может сбежать, если ваше приложение не имеет доступа к сети из -за разрешений на песочницу, и в этом случае вам нужно будет вручную установить AppStoreID, чтобы Radate все еще могла функционировать.
- (void)iRateDidDetectAppUpdate;
Этот метод называется, если Ruate обнаруживает, что приложение было обновлено с момента его запуска.
- (BOOL)iRateShouldPromptForRating;
Этот метод вызывается непосредственно перед тем, как подсказка рейтинга отображается пользователю. Вы можете использовать этот метод для реализации пользовательской логики быстрого приглашения в дополнение к стандартным правилам. Вы также можете использовать этот метод, чтобы заблокировать стандартное предупреждение о приглашении и отобразить подсказку рейтинга по -другому или обойти его вообще.
- (void)iRateDidPromptForRating;
Этот метод вызывается непосредственно перед отображением рейтинга. Это полезно, если вы используете аналитику для отслеживания того, какой процент пользователей видит подсказку, а затем перейдите в App Store. Это может помочь вам точно настроить обстоятельства, когда/как вы показываете подсказку.
- (void)iRateUserDidAttemptToRateApp;
Это вызвано, когда пользователь нажимал кнопку скорости в рейтинге. Это полезно, если вы хотите войти в систему взаимодействия пользователя с Radate. Этот метод вызывается только в том случае, если вы используете стандартную подсказку представления о предупреждении и не будет вызовом автоматически, если вы предоставите пользовательскую реализацию рейтинга или напрямую вызывая метод openRatingsPageInAppStore
.
- (void)iRateUserDidDeclineToRateApp;
Это вызывается, когда пользователь отказывается оценить приложение. Это полезно, если вы хотите войти в систему взаимодействия пользователя с Radate. Этот метод вызывается только в том случае, если вы используете стандартную подсказку для представления о предупреждении и не будут вызваны автоматически, если вы предоставите пользовательскую реализацию рейтинга.
- (void)iRateUserDidRequestReminderToRateApp;
Это вызывается, когда пользователь просит напомнить, чтобы оценить приложение. Это полезно, если вы хотите войти в систему взаимодействия пользователя с Radate. Этот метод вызывается только в том случае, если вы используете стандартную подсказку для представления о предупреждении и не будут вызваны автоматически, если вы предоставите пользовательскую реализацию рейтинга.
- (BOOL)iRateShouldOpenAppStore;
Этот метод вызывается непосредственно перед тем, как RUTE пытается открыть App Store. Вернуть нет, если вы хотите реализовать логику отображения собственной страницы рейтингов.
- (void)iRateDidOpenAppStore;
Этот метод вызывается сразу после того, как Radate открывает App Store.
Строки по умолчанию для разгневания уже локализованы на многих языках. По умолчанию Radate будет использовать все локализации в разгневанном. Удалете даже в приложении, которое не локализовано, или которое локализуется только в подмножество языков, которые поддерживают резоляцию. Ключи разгневанных струн:
static NSString *const iRateMessageTitleKey = @"iRateMessageTitle";
static NSString *const iRateAppMessageKey = @"iRateAppMessage";
static NSString *const iRateGameMessageKey = @"iRateGameMessage";
static NSString *const iRateUpdateMessageKey = @"iRateUpdateMessage";
static NSString *const iRateCancelButtonKey = @"iRateCancelButton";
static NSString *const iRateRemindButtonKey = @"iRateRemindButton";
static NSString *const iRateRateButtonKey = @"iRateRateButton";
Если вы предпочитаете, чтобы Irate использовала только локализацию, которые включены в вашем приложении (так что если ваше приложение поддерживает только английский, французский и испанский, Radate автоматически будет локализован для этих языков, но не для немецкого языка, даже если Radate включает в себя немецкий Языковой файл), установите опцию useAllAvailableLanguages
на нет.
Не рекомендуется изменять файлы строк в rure.bundle, так как это усложнит обновление для более новых версий разгневания. Исключение из этого - если вы хотите представить дополнительные языки или улучшения или исправления в локализацию в разгневанном проекте на GitHub (которые очень ценятся).
Если вы хотите добавить дополнительный язык для Radate в вашем приложении, не отправляя их обратно в проект Github, вы можете добавить эти строки непосредственно в соответствующий файл Localizable.strings в папке проекта. Если вы хотите заменить некоторые или все строки по умолчанию, простейший вариант - скопировать только эти строки в свой собственный файл Localizable.strings, а затем изменить их. IRATE автоматически будет использовать строки в основном пакете применения в предпочтениях тем, которые в пакете Relate, чтобы вы могли переопределить любую строку таким образом.
Если вы не хотите использовать какую -либо из локализации по умолчанию, вы можете вообще опустить Radate.bundle. Обратите внимание, что если вы хотите поддержать только подмножество языков, которые поддерживают Relate, нет необходимости удалять другие файлы строк из raate.bundle - просто установите useAllAvailableLanguages
на NO, и Irate будет использовать только языки, которые ваше приложение уже поддерживает.
Старый метод переоценки строк по умолчанию Irate с использованием отдельных методов сеттера (см. Ниже) все еще поддерживается, однако рекомендуемый подход теперь должен добавить эти строки в файл Localizable.strings вашего проекта, который будет автоматически обнаружен с помощью Irate.
+ (void)initialize
{
//overriding the default iRate strings
[iRate sharedInstance].messageTitle = NSLocalizedString(@"Rate MyApp", @"iRate message title");
[iRate sharedInstance].message = NSLocalizedString(@"If you like MyApp, please take the time, etc", @"iRate message");
[iRate sharedInstance].cancelButtonLabel = NSLocalizedString(@"No, Thanks", @"iRate decline button");
[iRate sharedInstance].remindButtonLabel = NSLocalizedString(@"Remind Me Later", @"iRate remind button");
[iRate sharedInstance].rateButtonLabel = NSLocalizedString(@"Rate It Now", @"iRate accept button");
}
Когда вы строите и запускаете проект Basic Mac или iPhone в первый раз, он покажет предупреждение, которое просит вас оценить приложение. Это потому, что параметр PreviewMode установлен.
Отключите опцию PreviewMode и сыграйте с другими настройками, чтобы увидеть, как ведет себя приложение на практике.
Расширенный пример демонстрирует, как вы можете реализовать полностью сделанный на заказ интерфейс Rudate, используя методы iratelegate. Автоматическое подсказка отключена, и вместо этого пользователь может оценить приложение, нажав кнопку «Оценить это приложение».
При нажатии приложение сначала проверяет, что App Store доступен (может быть, не будет, если у компьютера нет подключения к Интернету или Apple.com, а затем запускает Mac App Store.
Пример для Mac OS, но тот же принцип может быть применен на iOS.
Версия 1.12.2
Версия 1.12.1
Версия 1.12
Версия 1.11.7
Версия 1.11.6
Версия 1.11.5
Версия 1.11.4
canOpenURL:
Версия 1.11.3
Версия 1.11.2
Версия 1.11.1
Версия 1.11
promptIfCriteriaMet
метод удобстваNSNotificationCenter
в качестве альтернативы делегироватьUIAlertController
вместо UIAlertView
если доступноВерсия 1.10.3
Версия 1.10.2
Версия 1.10.1
Версия 1.10
daysUntilPrompt
не связанных с промежуткомpromptForNewVersionIfUserRated
Option для повторного пропрозска пользователей, которые имели предыдущий рейтинг (по умолчанию)updateMessage
для использования с помощью promptForNewVersionIfUserRated
опцияВерсия 1.9.3
Версия 1.9.2
Версия 1.9.1
Версия 1.9
promptAgainEachVersion
Версия 1.8.3
Версия 1.8.2
Версия 1.8.1
Версия 1.8
Версия 1.7.5
Версия 1.7.4
Версия 1.7.3
Версия 1.7.2
Версия 1.7.1
Версия 1.7
Версия 1.6.2
Версия 1.6.1
Версия 1.6
Версия 1.5.3
Версия 1.5.2
Версия 1.5.1
Версия 1.5
Версия 1.4.9
Версия 1.4.8
Версия 1.4.7
Версия 1.4.6
Версия 1.4.5
Версия 1.4.4
Версия 1.4.3
Версия 1.4.2
Версия 1.4.1
Версия 1.4
Версия 1.3.5
Версия 1.3.4
iRateDidDetectAppUpdate
Версия 1.3.3
Версия 1.3.2
Версия 1.3.1
Версия 1.3
Версия 1.2.3
Версия 1.2.2
Версия 1.2.1
MAC_APP_STORE_REFRESH_DELAY
to 5 seconds to support older machinesВерсия 1.2
Version 1.1
Версия 1.0