iOS 跳转APP Store评分撰写页

(一) 跳转APP Store的方式,在APP Store应用内进行评分

实现方式:

以[[UIApplicationsharedApplication] openURL:url的方式去评分

iOS 7.0 以后 的url :@"https://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?id=%APPID&pageNumber=0&sortOrdering=2&type=Purple+Software&mt=8"

iOS 11之后可以直接跳转到评分编辑页面]

url:@"https://itunes.apple.com/us/app/twitter/idAPPID?mt=8&action=write-review"

NSString *str = [NSStringstringWithFormat:

                 @"https://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?id=%@&pageNumber=0&sortOrdering=2&type=Purple+Software&mt=8",你的APPID]; //appID 解释如下

if ([[[UIDevicecurrentDevice] systemVersion]intValue]>=11) {

    str = [NSStringstringWithFormat:

                 @"https://itunes.apple.com/us/app/twitter/id%@?mt=8&action=write-review",你的APPID];

}



NSURL *url = [NSURLURLWithString:str];

if ([[UIApplicationsharedApplication] canOpenURL:url])//判断当前环境是否可以打开此url

{

    [[UIApplicationsharedApplication] openURL:url];

}

(二) iOS 6+可以支持应用内评分

在APP内部加载App Store 展示APP信息页面,但不能直接跳转到评论编辑页面。在加载处App Store展示页面后,需要用户去点击评论→撰写评论,多两步操作,部分用户可能存在操作障碍

实现方式:

1.引入 StoreKit库

import

2.在使用的的类遵循SKStoreProductViewControllerDelegate协议

3.实现去评分跳转方法,在要跳转的地方直接调用即可

  • (void)showAppStoreReView

{

SKStoreProductViewController*storeProductViewContorller = [[SKStoreProductViewControlleralloc] init];

storeProductViewContorller.delegate = self;

//加载App Store视图展示

[storeProductViewContorller loadProductWithParameters:@{SKStoreProductParameterITunesItemIdentifier:@(1133379943)}completionBlock:^(BOOL result,NSError *error) {

    if (result) {

        [selfpresentViewController:storeProductViewContorlleranimated:YEScompletion:^{

        }];

    }else{

        NSLog(@"错误:%@" ,error);

               }

       }];

}

//4、实现代理回调方法

  -(void)productViewControllerDidFinish:(SKStoreProductViewController*)viewController {

    [selfdismissViewControllerAnimated:YEScompletion:^{

}];

}

这样就OK啦。

(三) iOS 10.3以后可以支持应用内弹框评分

此种方式会有以下问题
1、官方文当说评价的框受App Store管理,所以may or may not弹出评价框,不建议用按钮之类的主动弹出来,

2、把框弹出来之后,只能评价星星,不能填写文字评价
3、网上说弹出次数是一年最多三次, 系统明确说了,不要用按钮之类的主动调用(并不是每次调用就会出来

实现方式

1.引入 StoreKit库

import

2.实现跳转方法

  • (void)showAppStoreReView{

    //仅支持iOS10.3+(需要做校验)且每个APP内每年最多弹出3次评分alart

if([SKStoreReviewControllerrespondsToSelector:@selector(requestReview)]){

//防止键盘遮挡

[[UIApplicationsharedApplication].keyWindowendEditing:YES];

[SKStoreReviewControllerrequestReview];//调用弹框

} else {

    //        不论iOS 版本均可使用APP内部打开网页形式,跳转到App Store 直接编辑评论

NSString *urlString= NSString *str =[NSStringstringWithFormat:@"https://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?id=%@&pageNumber=0&sortOrdering=2&type=Purple+Software&mt=8",你的APPID];

    if ([[UIApplicationsharedApplication] canOpenURL: urlString])//判断当前环境是否可以打开此url

{

    [[UIApplicationsharedApplication] openURL: urlString];

}

   

}

}

你可能感兴趣的:(iOS 跳转APP Store评分撰写页)