Skip to content

iRate提醒用户评分

CoderYoung edited this page Sep 15, 2015 · 1 revision

2015-08-27

每次打开应用有时会弹出一个提示框让用户去AppStore评分,iRate就是一个封装好的评分框架。

###效果图 iRate

##使用 在github上有它的详细使用方法,将Demo下载运行就可以看到效果。我在这贴出我实现的代码(我使用的是自定义评分框的方式)

#import "iRate.h"

@property (nonatomic, strong) UIAlertView *iRateAlertView;

- (UIAlertView *)iRateAlertView {
    if (!_iRateAlertView) {
        _iRateAlertView = [[UIAlertView alloc] initWithTitle:@"朋友们,给我个评级吧!" message:@"我是个自定义的评级框哦,能给我个评级吗?" delegate:self cancelButtonTitle:@"不了,谢谢(不给这个版本评级)" otherButtonTitles:@"立刻评级", @"以后再说", @"打开苹果官网", nil];
    }
    return _iRateAlertView;
}
#pragma mark - iRate评级集成
+ (void)setupiRateConfig {
    
    // 设置bundle ID,通常不需要设置,iRate会自动去Info.plist获取
    // 这里设置是为了能在AppStore上找到应用,测试的时候使用
    [iRate sharedInstance].applicationBundleID = @"com.charcoaldesign.rainbowblocks-free";
    
    // 只有在最新的版本中弹出评级框,默认是Yes
    [iRate sharedInstance].onlyPromptIfLatestVersion = NO;
    
    // 最少的使用次数,大于或等于它才弹出评级框
//    [iRate sharedInstance].usesUntilPrompt = 10;
    // 最少达成的事件(比如游戏通了10关),大于或等于它才弹出评级框
//    [iRate sharedInstance].eventsUntilPrompt = 10;
    // 用户安装并启动之后多少天才弹出评级框
//    [iRate sharedInstance].daysUntilPrompt = 10.0f;
    // 每周至少运行APP的次数,大于或等于它才弹出评级框
//    [iRate sharedInstance].usesPerWeekForPrompt = 0.0f;
    // 当用户点击稍后提醒我后,再次弹出评级框的间隔时间,这个设置会覆盖其他配置,即使有新版本也不会弹出
//    [iRate sharedInstance].remindPeriod = 1.0f;
    
    // 是否总是弹出评级框,Yes是永远弹出,忽略所有的弹出条件,默认是NO
//    [iRate sharedInstance].previewMode = YES;
}
#pragma mark iRateDelegate
- (BOOL)iRateShouldPromptForRating {

    [self.iRateAlertView show];
    
    return NO;
}

- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex{
    if (buttonIndex == alertView.cancelButtonIndex){
        // 忽略这个版本
        [iRate sharedInstance].declinedThisVersion = YES;
    }
    else if (buttonIndex == 1) // 立刻跳转到AppStore评级
    {
        // 记录评级
        [iRate sharedInstance].ratedThisVersion = YES;
        
        // 跳转AppStore
        [[iRate sharedInstance] openRatingsPageInAppStore];
    }
    else if (buttonIndex == 2) // 以后再说
    {
        // 记录当前时间
        [iRate sharedInstance].lastReminded = [NSDate date];
    }
    else if (buttonIndex == 3) // 打开网站
    {
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.apple.com"]];
    }
    
}
Clone this wiki locally