我希望在我的应用中添加某种“撰写评论”或“评价我们”功能,以便我的客户可以轻松评分和评论我的应用。
我能想到的最佳做法是在我的应用程序中进行某种弹出或打开UIWebView,这样在打开App Store应用程序时用户就不会被我的应用程序踢掉,如下所示:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@“itms://itunes.com/apps/myAppName”]];
有谁知道这样做的方法?
答案 0 :(得分:84)
从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向用户询问评级(或稍后提醒他们)。一切都可以自定义,从“取消”按钮的标题到提醒用户的时间间隔。
默认情况下,iRate会在满足某些要求时自动打开(例如,应用程序启动了X次,用户通过了X级别),但您也可以使用各种方法和自己的逻辑(在iRate的帮助下)方法)手动显示iRate弹出窗口。
要安装,只需将标题文件,实施文件和.bundle
(用于本地化)拖到项目中。
#import "iRate.h"
在application: didFinishLaunchingWithOptions:
方法中,设置以下内容:
// Configure iRate
[iRate sharedInstance].daysUntilPrompt = 5;
[iRate sharedInstance].usesUntilPrompt = 15;
以下属性可用于测试目的。在测试期间将其设置为YES
以确保对话框正确显示。设置为YES
时,它会在启动时立即显示,而忽略其他显示设置。对于您应用的发布版本,请将其设置为NO
。
[iRate sharedInstance].previewMode = NO;
appStoreID
属性允许您设置应用的ID。只有当您的Mac和iOS应用程序具有相同的Bundle Identifier 时才需要。此处设置的App ID还必须与Xcode和iTunes Connect中设置的Bundle ID匹配:
[iRate sharedInstance].appStoreID = 555555555;
More Details可在iRate GitHub页面上找到。
答案 1 :(得分:7)
我使用的非常好的是Appirater:https://github.com/arashpayan/appirater/
它会自动提示您的用户离开评论,您只需提供您的应用ID。