去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 <StoreKit/StoreKit.h>

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 <StoreKit/StoreKit.h>

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];

    }

       

    }

   

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章