我希望在我的应用中添加某种“写评论”或“评价我们”功能,以便我的客户可以轻松评价和评论我的应用 .
我能想到的最佳做法是在我的应用程序中进行某种弹出或打开UIWebView,这样在打开App Store应用程序时用户就不会被我的应用程序踢掉,如下所示:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms://itunes.com/apps/myAppName"]];
有谁知道这样做的方法?
从iOS 10.3开始,StoreKit API提供了一种在不离开应用程序的情况下在App Store上请求审阅的方法 . 当被呼叫时,系统可以向用户呈现请求评论的警报 . 用户可以直接在警报内提供星级评级,继续撰写评论或关闭警报 . StoreKit为您处理几乎所有事情 . 要显示审核请求,请在您的应用适当的位置拨打以下电话:
// Objective-C [SKStoreReviewController requestReview] // Swift SKStoreReviewController.requestReview()
根据Apple的说明,您不应该响应直接的用户交互(即点击“写一个评论”按钮)来调用它们,因为它可能并不总是显示警报 . 实际上,警报只能每365天显示三次 .
以下是警报的示例 . 有关更多信息,请参阅Apple's documentation .
如果您的应用程序在早于10.3的iOS版本上运行,或者您需要对用户请求评级进行更强大的控制,那么iRate是一个很好的解决方案 .
对于iOS 10.3或更高版本的设备,iRate使用上述StoreKit API . 对于运行iOS 7.0到10.2的设备,iRate使用uialertview和storekit来询问用户评级(或稍后提醒他们) . 一切都是可自定义的,从“取消”按钮的 Headers 到提醒用户的间隔 .
默认情况下,iRate会在满足某些要求时自动打开(例如,应用程序启动X次,用户通过X级别),但您也可以使用各种方法和您自己的逻辑(借助iRate方法)手动显示iRate弹出窗口 .
要安装,只需将头文件,实现文件和 .bundle (用于本地化)拖到项目中 .
.bundle
导入AppDelegate中的 Headers : #import "iRate.h"
#import "iRate.h"
将 StoreKit 框架添加到您的项目中 - 更多关于StoreKit from Apple Documentation
在 application: didFinishLaunchingWithOptions: 方法中,设置以下内容:
application: didFinishLaunchingWithOptions:
// Configure iRate [iRate sharedInstance].daysUntilPrompt = 5; [iRate sharedInstance].usesUntilPrompt = 15;
以下属性可用于测试目的 . 在测试期间将其设置为 YES 以确保对话框正确显示 . 设置为 YES 时,它将在启动时立即显示,而忽略其他显示设置 . 将此设置为 NO 以获取应用的发布版本 .
YES
NO
[iRate sharedInstance].previewMode = NO;
appStoreID 属性允许您设置应用的ID . 只有当您的Mac和iOS应用程序具有相同的Bundle Identifier时,才需要这样做 . 此处设置的App ID还必须与Xcode和iTunes Connect中设置的Bundle ID匹配:
appStoreID
[iRate sharedInstance].appStoreID = 555555555;
More Details可在iRate GitHub页面上找到 .
我使用的非常好的是Appirater:https://github.com/arashpayan/appirater/
它会自动提示您的用户留下评论,您只需提供您的应用ID即可 .
2 回答
StoreKit API(iOS 10.3及更高版本)
从iOS 10.3开始,StoreKit API提供了一种在不离开应用程序的情况下在App Store上请求审阅的方法 . 当被呼叫时,系统可以向用户呈现请求评论的警报 . 用户可以直接在警报内提供星级评级,继续撰写评论或关闭警报 . StoreKit为您处理几乎所有事情 . 要显示审核请求,请在您的应用适当的位置拨打以下电话:
根据Apple的说明,您不应该响应直接的用户交互(即点击“写一个评论”按钮)来调用它们,因为它可能并不总是显示警报 . 实际上,警报只能每365天显示三次 .
以下是警报的示例 . 有关更多信息,请参阅Apple's documentation .
iRate(iOS 7.0及更高版本)
如果您的应用程序在早于10.3的iOS版本上运行,或者您需要对用户请求评级进行更强大的控制,那么iRate是一个很好的解决方案 .
对于iOS 10.3或更高版本的设备,iRate使用上述StoreKit API . 对于运行iOS 7.0到10.2的设备,iRate使用uialertview和storekit来询问用户评级(或稍后提醒他们) . 一切都是可自定义的,从“取消”按钮的 Headers 到提醒用户的间隔 .
默认情况下,iRate会在满足某些要求时自动打开(例如,应用程序启动X次,用户通过X级别),但您也可以使用各种方法和您自己的逻辑(借助iRate方法)手动显示iRate弹出窗口 .
设置
要安装,只需将头文件,实现文件和
.bundle
(用于本地化)拖到项目中 .导入AppDelegate中的 Headers :
#import "iRate.h"
将 StoreKit 框架添加到您的项目中 - 更多关于StoreKit from Apple Documentation
在
application: didFinishLaunchingWithOptions:
方法中,设置以下内容:属性
以下属性可用于测试目的 . 在测试期间将其设置为
YES
以确保对话框正确显示 . 设置为YES
时,它将在启动时立即显示,而忽略其他显示设置 . 将此设置为NO
以获取应用的发布版本 .appStoreID
属性允许您设置应用的ID . 只有当您的Mac和iOS应用程序具有相同的Bundle Identifier时,才需要这样做 . 此处设置的App ID还必须与Xcode和iTunes Connect中设置的Bundle ID匹配:More Details可在iRate GitHub页面上找到 .
我使用的非常好的是Appirater:https://github.com/arashpayan/appirater/
它会自动提示您的用户留下评论,您只需提供您的应用ID即可 .