향후 업데이트 나 버그 수정을받지 못합니다. 사용하는 경우 다른 솔루션으로 마이그레이션하십시오.
Irate는 며칠 동안 사용 후 앱을 사용한 후 iPhone 및 Mac App Store 앱을 홍보하는 데 도움이되는 라이브러리입니다. 이 접근법은 일반 사용자 만 타겟팅하여 긍정적 인 앱 리뷰를 얻는 가장 좋은 방법 중 하나입니다 (아마도 앱을 좋아하거나 계속 사용하지 않을 것입니다!).
참고 : '지원'은 라이브러리 가이 버전으로 테스트되었음을 의미합니다. 'Compatible'은 라이브러리 가이 OS 버전에서 작동해야 함을 의미하지만 (예 : 사용할 수없는 SDK 기능에 의존하지는 않지만 더 이상 호환성을 테스트하지 않으며 올바르게 실행하려면 조정 또는 버그 수정이 필요할 수 있습니다.
버전 1.7 기준으로, 화나게는 아크가 필요합니다. 비 ARC 프로젝트에서 Irate를 사용하려면 -fobjc-arc 컴파일러 플래그를 irate.m 클래스에 추가하십시오. 이렇게하려면 대상 설정의 빌드 단계 탭으로 이동하여 컴파일 소스 그룹을 열고 목록에서 iRate.m을 두 번 클릭하고 -FOBJC-ARC를 팝 오버로 유형하십시오.
전체 프로젝트를 아크로 변환하려면 #ERROR 라인을 irate.m에서 주석으로 댓글을 달고 편집> refactor> XCODE에서 객관적인 C ARC ... 도구로 변환하고 원하는 모든 파일을 확인하십시오. (irate.m 포함)에 Arc를 사용하십시오.
IRATE는 내부적으로 스레딩을 사용하여 UI를 차단하지 않지만 화려한 외부 인터페이스 중 어느 것도 스레드 안전하지 않으므로 메소드를 호출하거나 기본 스레드를 제외하고는 Irate에서 속성을 설정해서는 안됩니다.
iRate를 앱에 설치하려면 iRate.h, .m 및 .bundle 파일을 프로젝트로 끌어 올리십시오. 현지화 된 텍스트에 관심이없는 경우 .bundle을 생략 할 수 있습니다.
Irate는 일반적으로 구성이 전혀 필요하지 않으며 응용 프로그램의 번들 ID를 사용하여 App ID를 App Store에서 찾아 보면 자동으로 실행됩니다.
참고 : MAC 및 iOS 앱 스토어 모두에 번들 ID가 일치하는 앱이있는 경우 (다른 대문자를 사용하더라도) 조회 메커니즘이 작동하지 않으므로 AppStoreID 속성을 수동으로 설정해야합니다. iTunes에서 찾을 수있는 숫자 ID는 앱을 설정 한 후 연결됩니다. 또한 샌드 박스 MAC 앱을 생성하고 앱에 네트워크 액세스 권한을 요청하지 않으면 iTunes 서비스에서 검색 할 수 없으므로 AppStoreId를 설정해야합니다.
Irate를 사용자 정의하려면이 작업을 수행하기 가장 좋은 시간은 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;
}
화폐를 구성하기 위해 화폐 클래스의 여러 속성이 있습니다. 이것들은 대부분 자기 설명이어야하지만 아래에 문서화되어 있습니다.
@property (nonatomic, assign) NSUInteger appStoreID;
이는 응용 프로그램의 iTunes 앱 ID와 일치해야하며 앱을 설정 한 후 iTunes Connect에서 얻을 수 있습니다. 이 값은 일반적으로 필요하지 않으며 일반적으로 Mac 및 iOS 앱의 번들 ID간에 위에서 언급 한 충돌이 있거나 앱이 네트워크 권한이 없어서 네트워크 권한이 없으면 샌드 박스 MAC 앱의 경우 위에서 언급 한 충돌이있는 경우에만 필요합니다. iTunes 서비스를 사용하여 AppStoreID를 자동으로 가져올 수 있습니다.
@property (nonatomic, assign) NSUInteger appStoreGenreID;
이것은 등급 대화 상자의 기본 텍스트를 결정하는 데 사용되는 앱 유형입니다. 이것은 iTunes 서비스를 호출하여 자동으로 설정되므로 대부분의 목적으로 수동으로 설정할 필요가 없습니다. 이 값을 무시하려면 iRateAppStoreGameGenreID
상수로 설정하면 화나게가 등급 대화의 "게임"버전을 사용하게되며 다른 값으로 설정하면 등급 대화 상자의 "앱"버전을 사용합니다.
@property (nonatomic, copy) NSString *appStoreCountry;
이것은 확인할 iTunes 스토어를 지정하는 데 사용되는 2 글자 국가 코드입니다. 장치 로케일 환경 설정에서 자동으로 설정되므로 대부분의 경우 변경할 필요가 없습니다. 원하는 경우 미국 상점 또는 다른 특정 상점을 가리 키도록이를 재정의 할 수 있습니다. 이는 특정 국가에서만 앱을 사용할 수있는 경우 좋은 아이디어 일 수 있습니다.
@property (nonatomic, copy) NSString *applicationName;
이것은 화려한 경고에 표시된 앱의 이름입니다. 응용 프로그램의 info.plist에서 자동으로 설정되지만 더 짧거나 긴 버전으로 재정의 할 수 있습니다.
@property (nonatomic, copy) NSString *applicationBundleID;
이것은 iTunes에서 appStoreID
및 appStoreGenreID
검색하는 데 사용되는 응용 프로그램 번들 ID입니다. 앱의 info.plist에서 자동으로 설정되므로 테스트 목적을 제외하고는 변경할 필요가 없습니다.
@property (nonatomic, assign) float daysUntilPrompt;
이것은 사용자가 앱을 평가하기 전에 앱을 설치 해야하는 날입니다. 시간은 앱이 처음 시작될 때부터 측정됩니다. 이것은 부동 소수점 값이므로 분수 일수를 지정하는 데 사용될 수 있습니다 (예 : 0.5). 기본값은 10 일입니다.
@property (nonatomic, assign) NSUInteger usesUntilPrompt;
이것은 사용자가 앱을 평가하기 전에 앱을 시작 해야하는 최소 횟수입니다. 이렇게하면 사용자가 앱을 한 번 실행하는 시나리오를 피하고 몇 주 동안 앱을보고 다시 시작하여 다시 시작하여 즉시 rempt를 평가할 수 있습니다. 최소 사용 카운트는 빈번한 사용자 만 프롬프트되도록합니다. 프롬프트는 지정된 일 수에 도달 한 후에 만 표시되며 용도에 도달했습니다. 이 기본값은 10 번 사용됩니다.
@property (nonatomic, assign) NSUInteger eventsUntilPrompt;
일부 앱의 경우 시작은 사용에 대한 좋은 지표가 아닙니다. 예를 들어 앱은 끊임없이 실행되는 데몬이거나 사용자가 특정 수준에 도달 할 때까지 정보 검토를 작성할 수없는 게임 일 수 있습니다. 이 경우 중요한 이벤트를 수동으로 기록하고 이러한 이벤트 수를 미리 정해진 후 프롬프트가 나타날 수 있습니다. inst 이것은 기본값이 10 가지 이벤트로 나타납니다.
@property (nonatomic, assign) float usesPerWeekForPrompt;
앱이 사용되는 총 횟수에 대해 덜 걱정하지만 앱이 사용되는 시간의 빈도를 사용하는 것이 선호되는 경우 usesPerWeekForPrompt
속성을 사용하여 사용자가 시작 해야하는 횟수에 대해 최소 임계 값을 설정할 수 있습니다. 프롬프트가 표시 될 주당 앱 (평균). 앱이 설치된 이후 평균이므로 사용자가 앱을 실행하지 않고 오랜 기간 동안 이동하면 평균을 버릴 수 있습니다. 기본값은 0입니다.
@property (nonatomic, assign) float remindPeriod;
"나중에 알림"옵션 (며칠 동안 측정)을 선택한 후 사용자에게 평가를 상기시키기 전에 응용 프로그램이 얼마나 오래 기다려야 하는가. 0의 값은 앱이 사용자에게 다음 발사를 상기 시킨다는 것을 의미합니다. 이 값은 다른 기준을 대체하므로 새 버전이 릴리스 되더라도 알림 기간 동안 앱이 등급을 자랑하지 않습니다. 이것은 기본값이 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는 현지화를 지원하지 않는 앱에서 사용하더라도 Irate.bundle에서 사용 가능한 모든 언어를 사용합니다. 응용 프로그램이 이미 지원하는 동일한 언어 세트 만 사용하도록 IRATE를 제한하려면이 속성을 NO로 설정하십시오. (기본값으로 예).
@property (nonatomic, assign) BOOL promptForNewVersionIfUserRated;
iTunes 등급은 버전에 따라 다르므로 사용자는 각각의 새 버전의 앱을 평가하기를 원합니다. 앱을 정말 좋아하는 사용자는 새로운 릴리스에 대한 리뷰를 기꺼이 업데이트 할 수 있습니다. promptForNewVersionIfUserRated
YES
로 설정하면 앱이 앱을 평가하지 않을 때까지 업데이트를 설치할 때마다 사용자에게 다시 프롬프트를 표시합니다. 그들이 쇠퇴하면 다시 요청받지 않을 것입니다.
@property (nonatomic, assign) BOOL onlyPromptIfLatestVersion;
사용자가 최신 버전의 앱을 실행하지 않더라도 등급 프롬프트를 표시하도록 활성화 할 수 있도록이를 NO로 설정하십시오. 이 기본값은 이미 수정 한 버그로 인해 사용자가 나쁜 리뷰를 남기지 않기 때문에 기본값을 예로 들려줍니다.
@property (nonatomic, assign) BOOL onlyPromptIfMainWindowIsAvailable;
이 설정은 Mac OS에만 적용됩니다. 기본적으로 Mac OS에서 화염 경고는 기본 창의 시트로 표시됩니다. 일부 응용 프로그램에는 기본 창이 없으므로이 접근 방식은 작동하지 않습니다. 이러한 응용 프로그램의 경우이 속성을 NO로 설정하여 화려한 경고를 일반 모달 창으로 표시 할 수 있도록하십시오.
@property (nonatomic, assign) BOOL promptAtLaunch;
응용 프로그램이 배경에서 시작되거나 반환 될 때 등급 프롬프트가 자동으로 나타나는 등급 프롬프트를 비활성화하려면 이것을 NO로 설정하십시오. 등급 기준은 계속 추적되지만이 설정이 적용되는 동안 프롬프트는 자동으로 표시되지 않습니다. 등급 프롬프트의 표시를 수동으로 제어하려면이 옵션을 사용할 수 있습니다.
@property (nonatomic, assign) BOOL verboseLogging;
이 옵션으로 인해 Irate는 신속한 의사 결정 프로세스에 대한 상세한 로그를 콘솔로 보냅니다. 앱이 등급을 기대할 때 앱이 올바르게 프롬프트하지 않으면 이유를 파악하는 데 도움이됩니다. Verbose Logging은 디버그 빌드에서 기본적으로 활성화되며 릴리스 및 배포 빌드시 비활성화됩니다.
@property (nonatomic, assign) BOOL previewMode;
예로 설정하면 앱이 사용중인 기간 또는 최신 버전인지 여부에 관계없이 Irate는 항상 출시시 등급 프롬프트를 표시합니다 ( promptAtLaunch
옵션을 명시 적으로 비활성화하지 않는 한). 이것을 사용하여 메시지를 교정하고 테스트 중에 구성이 올바른지 확인하지만 최종 릴리스 (기본값)를 비활성화하십시오.
@property (nonatomic, assign) BOOL useUIAlertControllerIfAvailable;
기본적으로 Irate는 iOS에서 uialertview를 사용하여 등급 프롬프트를 표시합니다. UialerTview는 iOS8에서 더 이상 사용되지 않았으며 UialertController로 대체되었습니다. 불행히도 UialertView와 달리 UialertController와 경고를 제시하면 앱이 다른 컨트롤러를 표시하는 기능을 방해하며, Irate는 이론적으로 앱 수명 동안 모든 시점에서 경고를 표시 할 수 있으므로 다른 뷰 컨트롤러를 제시하려는 앱과 충돌 할 수 있습니다. . 이러한 이유로 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에서는 사용자가 기본 앱 페이지로 이동합니다 (해당 플랫폼의 등급 페이지에 직접 연결하는 방법이있는 경우 아직. 그것을 찾으려면). 자체 등급 프롬프트를 구현하는 경우 Mac App Store를 열는 프로세스가 단순히 URL을 열는 것보다 더 복잡하기 때문에 특히 Mac OS에서 openRatingsPageInAppStore
메서드를 사용해야합니다.
@property (nonatomic, strong) NSDate *firstUsed;
사용자가 현재 버전의 앱을 시작한 첫 번째 날짜. 이는 요일 이후의 기준이 충족되었는지 여부를 계산하는 데 사용됩니다.
@property (nonatomic, strong) NSDate *lastReminded;
사용자가 마지막으로 요청한 날짜는 나중에 앱을 평가하도록 상기시켜야합니다.
@property (nonatomic, assign) NSUInteger usesCount;
앱의 현재 버전이 사용 된 횟수 (시작).
@property (nonatomic, assign) NSUInteger eventCount;
현재 버전이 설치된 이후로 녹화 된 중요한 응용 이벤트의 수입니다. 이것은 logevent 메소드에 의해 증가하지만 직접 조작 할 수도 있습니다. 이 OS의 사용 방법을 확인하려면 이벤트 데모를 확인하십시오.
@property (nonatomic, readonly) float usesPerWeek;
현재 버전의 앱이 사용 된 주당 평균 횟수 (시작).
@property (nonatomic, assign) BOOL declinedThisVersion;
이 플래그는 사용자가 현재 버전 (예)를 평가하지 않았는지 여부를 나타냅니다 (예). 이것은 현재 Irate 프롬프트 논리에서 사용되지 않지만 자신의 논리를 구현하는 데 유용 할 수 있습니다.
@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
대표 방법을 호출하지는 않습니다.
- (void)promptForRating;
이 방법은 App Store를 사용할 수 있는지 확인하지 않고 등급 프롬프트를 즉시 트리거합니다. 이 메소드는 iTunes 서버를 폴링 한 후에 만 검색된 appStoreID
및 applicationGenre
속성에 따라 달라 지므로이 메소드를 직접 호출하려면 이러한 속성을 직접 설정하거나 대신 promptIfNetworkAvailable
방법을 사용해야합니다.
- (void)promptIfNetworkAvailable;
이 방법은 App Store를 사용할 수 있는지 확인하고 그렇다면 사용자에게 등급 프롬프트가 표시됩니다. IrateshouldPromptForrating 대의원 방법이 경고가 표시되기 전에 호출되므로 가로 채울 수 있습니다. 앱이 샌드 박스가 있고 네트워크 액세스 권한이없는 경우이 메소드는 네트워크 가용성 상태를 무시하지만이 경우 appStoreID
또는 Irate를 수동으로 설정해야합니다.
- (void)promptIfAllCriteriaMet;
이 방법은 모든 프롬프트 기준이 충족되었는지 확인하고 App Store를 사용할 수 있는지 확인하고 그렇다면 사용자에게 등급 프롬프트가 표시됩니다. IrateshouldPromptForrating 대의원 방법이 경고가 표시되기 전에 호출되므로 가로 채울 수 있습니다.
- (void)openRatingsPageInAppStore;
이 메소드는 사용자 경고를 건너 뛰고 Mac 또는 iPhone App Store의 응용 프로그램 등급 페이지를 엽니 다. 이 방법은 시스템에 네트워크 액세스 권한이 있거나 App Store를 사용할 수 있는지 확인하기 위해 어떠한 검사도 수행하지 않습니다. 또한 -iRateShouldOpenAppStore
대의원을 호출하지 않습니다. App Store를 시작하는 프로세스는 많은 경우 URL을 열는 것보다 더 복잡하기 때문에이 방법을 사용하여 RatingsUrl 속성 대신 등급 페이지를 열어야합니다. 이 방법은 iTunes 서버를 폴링 한 후에 만 검색되는 appStoreID
에 따라 다릅니다. 업데이트 확인을 먼저 수행하지 않고이 메소드를 호출하는 경우 appStoreID
속성을 직접 설정하거나 방법이 네트워크 호출을 수행하는 데 시간이 걸리거나 완전히 실패 할 위험이 있습니다. 성공시이 방법은 -iRateDidOpenAppStore
대의원 메소드를 호출합니다. 실패시 -iRateCouldNotConnectToAppStore:
Delegate Method를 호출합니다.
- (void)logEvent:(BOOL)deferPrompt;
이 메소드는 앱의 어느 곳에서나 (IRATE가 구성된 후) 호출 할 수 있으며 화려한 상당한 이벤트 수를 증가시킵니다. 사전 정의 된 이벤트 수에 도달하면 등급 프롬프트가 표시됩니다. 선택적 DeferPrompt 매개 변수는 프롬프트가 즉시 표시되는지 또는 앱이 다음 시작 (예)까지 기다릴지 여부를 결정하는 데 사용됩니다.
- (void)remindLater;
이 메소드는 알림 기간을 재설정합니다.
IrateLegate 프로토콜은 인터셉트 irate 이벤트를 사용하고 기본 동작을 무시할 수있는 다음 방법을 제공합니다. 모든 방법은 선택 사항입니다.
- (void)iRateCouldNotConnectToAppStore:(NSError *)error;
이 메소드는 Irate가 App Store에 연결할 수없는 경우 일반적으로 네트워크 연결이 다운 되었기 때문에 호출됩니다. 샌드 박스 권한으로 인해 앱이 네트워크에 액세스 할 수없는 경우에도 해고 될 수 있습니다.이 경우 Irate가 여전히 작동 할 수 있도록 AppStoreId를 수동으로 설정해야합니다.
- (void)iRateDidDetectAppUpdate;
이 방법은 Irate가 마지막으로 출시 된 이후 응용 프로그램이 업데이트되었음을 감지하면 호출됩니다.
- (BOOL)iRateShouldPromptForRating;
이 방법은 등급 프롬프트가 사용자에게 표시되기 직전에 호출됩니다. 이 방법을 사용하여 표준 규칙 외에 사용자 정의 프롬프트 로직을 구현할 수 있습니다. 이 방법을 사용하여 표준 프롬프트 경고를 차단하고 다른 방식으로 등급 프롬프트를 표시하거나 완전히 우회 할 수 있습니다.
- (void)iRateDidPromptForRating;
이 방법은 등급 프롬프트가 표시되기 직전에 호출됩니다. 이는 분석을 사용하여 사용자의 비율을 추적 한 다음 App Store로 이동하는 경우 유용합니다. 이렇게하면 프롬프트를 표시하는 방법/방법에 대한 상황을 미세 조정하는 데 도움이됩니다.
- (void)iRateUserDidAttemptToRateApp;
사용자가 등급 프롬프트에서 속도 버튼을 눌렀을 때 호출됩니다. 이것은 Irate와의 사용자 상호 작용을 기록하려는 경우 유용합니다. 이 메소드는 Standard Irate Alert View 프롬프트를 사용하는 경우에만 호출되며 사용자 지정 등급 구현을 제공하거나 openRatingsPageInAppStore
메서드를 직접 호출하는 경우 자동으로 호출되지 않습니다.
- (void)iRateUserDidDeclineToRateApp;
사용자가 앱을 평가하지 않을 때 호출됩니다. 이것은 Irate와의 사용자 상호 작용을 기록하려는 경우 유용합니다. 이 메소드는 표준 Irate Alert View 프롬프트를 사용하는 경우에만 호출되며 사용자 지정 등급 구현을 제공하는 경우 자동으로 호출되지 않습니다.
- (void)iRateUserDidRequestReminderToRateApp;
사용자가 앱을 평가하도록 상기 시키라고 요청할 때 호출됩니다. 이것은 Irate와의 사용자 상호 작용을 기록하려는 경우 유용합니다. 이 메소드는 표준 Irate Alert View 프롬프트를 사용하는 경우에만 호출되며 사용자 지정 등급 구현을 제공하는 경우 자동으로 호출되지 않습니다.
- (BOOL)iRateShouldOpenAppStore;
이 방법은 앱 스토어를 열기위한 Irate 시도 직전에 호출됩니다. 자신의 등급 페이지 표시 로직을 구현하려는 경우 반환 아니요.
- (void)iRateDidOpenAppStore;
이 방법은 irate가 앱 스토어를 엽니 다 직후에 호출됩니다.
화폐의 기본 문자열은 이미 많은 언어에 현지화되어 있습니다. 기본적으로, Irate는 irate.bundle의 모든 현지화를 국소화되지 않았거나 지원하는 언어의 하위 집합에만 국한된 앱에서도 사용합니다. 화폐 문자열 키는 다음과 같습니다.
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가 응용 프로그램에서 활성화 된 현지화 만 사용하는 것을 선호하는 경우 (앱이 영어, 프랑스어 및 스페인어 만 지원하는 경우, IRATE가 독일어를 포함하더라도 해당 언어에 대해서는 자동으로 해당 언어를 사용하지 않도록합니다. 언어 파일), useAllAvailableLanguages
옵션을 no로 설정하십시오.
Irate.bundle에서 문자열 파일을 수정하는 것이 좋습니다. 최신 버전의 irrate에 대한 업데이트를 복잡하게 만들 수 있습니다. 이에 대한 예외는 Github의 Irate Project (Github)의 지역화에 대한 추가 언어 또는 개선 또는 수정을 제출하려는 경우입니다.
GitHub 프로젝트에 다시 제출하지 않고 앱에서 화나게 된 언어를 추가하려면 프로젝트 폴더의 적절한 localizable.strings 파일 에이 문자열을 직접 추가 할 수 있습니다. 기본 화폐 문자열의 일부 또는 전부를 교체하려면 가장 간단한 옵션은 해당 문자열 만 자신의 localizable.strings 파일에 복사 한 다음 수정하는 것입니다. IRATE는 기본 애플리케이션 번들에서 IRATE 번들에있는 문자열에 자동으로 문자열을 사용하여 이러한 방식으로 모든 문자열을 무시할 수 있습니다.
기본 지역화 를 사용하지 않으려면 irrate.bundle을 생략 할 수 있습니다. Irate가 지원하는 언어의 서브 세트 만 지원하려면 다른 useAllAvailableLanguages
파일을 irate.bundle에서 삭제할 필요가 없습니다.
개별 세터 메소드 (아래 참조)를 사용하여 Irate의 기본 문자열을 재정의하는 오래된 방법은 여전히 지원되지만 권장되는 접근 방식은 이제 해당 문자열을 프로젝트의 Localizable.Strings 파일에 추가하는 것입니다.
+ (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");
}
기본 Mac 또는 iPhone 예제 프로젝트를 처음으로 빌드하고 실행하면 앱을 평가하는 경고가 표시됩니다. 미리보기 모드 옵션이 설정 되었기 때문입니다.
미리보기 모드 옵션을 비활성화하고 다른 설정을 사용하여 앱이 실제로 어떻게 작동하는지 확인하십시오.
고급 예제는 iratedelegate 메소드를 사용하여 완전히 맞춤형 화폐 인터페이스를 구현할 수있는 방법을 보여줍니다. 자동 프롬프트가 비활성화되어 있으며 대신 "이 앱 속도"버튼을 눌러 앱을 평가할 수 있습니다.
앱을 눌렀을 때 앱은 먼저 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
알림을 대표 대안으로 추가했습니다UIAlertView
대신 UIAlertController
사용합니다버전 1.10.3
버전 1.10.2
버전 1.10.1
버전 1.10
daysUntilPrompt
종일 등급 팝업을 방해하지 않습니다.promptForNewVersionIfUserRated
옵션이 추가되었습니다 (기본적으로 꺼짐)promptForNewVersionIfUserRated
옵션과 함께 사용할 updateMessage
속성이 추가되었습니다버전 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
Delegate 메소드가 추가되었습니다버전 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
Version 1.0