iOS中在APP内加入AppStore评分功能的实现方法
程序员文章站
2023-12-17 20:51:46
ios应用内部实现app store评分功能,笔着整理总结有三种方式,各位可根据自己需求自己选择。先介绍下评分功能实现的三种方式。
1,通用方式通过app内部打开网页形式...
ios应用内部实现app store评分功能,笔着整理总结有三种方式,各位可根据自己需求自己选择。先介绍下评分功能实现的三种方式。
1,通用方式通过app内部打开网页形式,跳转到appstore编辑评论,可评分,可评论。
优点:方便,快捷,不受系统版本限制,目前最常用的方式。
缺点:内部网页形式加载缓慢,等待时间长,加载失败概率大。
2,ios 6.0以后 在app内部加载appstore 展示app信息
优点:展示速度比方法三块快
缺点:不能直接跳转到评论编辑页面,需要手动点击评论+编辑评论
3,ios 10.0.3 新增应用内评分功能,调用系统方法评分。
优点:无须跳转,应用内系统弹框,方便快速。
缺点:只能评分,且一年只能使用三次弹框。
开发步骤:
导入头文件 #import
1,ios 10.0.3以后调用系统弹框评分
/** * 只能评分,不能编写评论 * 有次数限制,一年只能使用三次 * 使用次数超限后,需要跳转appstore */ - (ibaction)systemcomentbtnaction:(uibutton *)sender { if([skstorereviewcontroller respondstoselector:@selector(requestreview)]) {// ios 10.3 以上支持 //防止键盘遮挡 [[uiapplication sharedapplication].keywindow endediting:yes]; [skstorereviewcontroller requestreview]; } }
2,跳转到appstore对应应用评论页面
/** * 可评分评论,无次数限制 */ - (ibaction)appstorecomentbtnaction:(uibutton *)sender { nsstring * nsstringtoopen = [nsstring stringwithformat: @"itms-apps://itunes.apple.com/app/id%@?action=write-review",@"appid"];//替换为对应的appid [[uiapplication sharedapplication] openurl:[nsurl urlwithstring:nsstringtoopen]]; }
3,ios 6.0以后的方法,内部加载appstore
注:需签署代理
/** * 在app内部加载app store 展示app信息,但不能直接跳转到评论编辑页面。 * 再加载处app store展示页面后,需要手动点击 评论→ 撰写评论 */ - (ibaction)webappstorebtnaction:(uibutton *)sender { skstoreproductviewcontroller *storeproductviewcontorller = [[skstoreproductviewcontroller alloc] init]; storeproductviewcontorller.delegate = self; //加载app store视图展示 [storeproductviewcontorller loadproductwithparameters: @{skstoreproductparameteritunesitemidentifier : @"appid"} completionblock:^(bool result, nserror *error) { if(error) { } else { //模态弹出appstore [self presentviewcontroller:storeproductviewcontorller animated:yes completion:^{ }]; } }]; } // 代理方法 - (void)productviewcontrollerdidfinish:(skstoreproductviewcontroller *)viewcontroller { [self dismissviewcontrolleranimated:yes completion:^{ }]; }
总结
以上所述是小编给大家介绍的ios中在app内加入appstore评分功能,希望对大家有所帮助