39

我希望在我的应用程序中添加某种“写评论”或“给我们评分”功能,以便我的客户可以轻松地对我的应用程序进行评分和评论。

我能想到的最佳做法是在我的应用程序中弹出某种弹出窗口或打开 UIWebView,这样用户在打开 App Store 应用程序时不会被踢出我的应用程序,如下所示:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms://itunes.com/apps/myAppName"]];

有谁知道这样做的方法?

4

2 回答 2

89

StoreKit API(iOS 10.3 及更高版本)

从 iOS 10.3 开始,StoreKit API 提供了一种无需离开您的应用即可在 App Store 上请求评论的方法。当被调用时,系统可以向用户呈现请求审查的警报。用户可以直接在警报内提供星级评级,继续撰写评论或关闭警报。StoreKit 几乎可以为您处理一切。要提交审核请求,请在您的应用中适当的地方进行以下调用:

// Objective-C
[SKStoreReviewController requestReview]

// Swift
SKStoreReviewController.requestReview()

根据 Apple 的说明,您不应调用这些来响应直接的用户交互(即点击显示“写评论”的按钮),因为它可能并不总是显示警报。实际上,警报可能每 365 天仅显示 3 次。

重要提示:虽然这看起来相当简单,但您仍然需要编写某种逻辑来分隔提示。例如,仅在 X 次启动、天数或重大事件后才显示提示。

如果你没有做到这一点,只是将评论提示贴在任何地方(viewDidAppear例如,一个电话),你的用户会相当恼火,因为他们会很快地反复看到它。然后,他们要么留下差评(因为他们很生气),要么整整一年都没有被要求再次审核。

以下是警报外观的示例。有关详细信息,请参阅Apple 的文档

StoreKit 评分/评论提示。


iRate(iOS 7.0 及更高版本)

如果您的应用程序在 10.3 之前的 iOS 版本上运行,或者您需要更强大地控制向用户请求评分,那么 iRate 是一个很好的解决方案。

对于 iOS 10.3 或更高版本的设备,iRate 使用上述 StoreKit API。对于运行 iOS 7.0 到 10.2 的设备,iRate 使用来询问用户评分(或稍后提醒他们)。一切都是可定制的,从取消按钮的标题到它提醒用户的时间间隔。

默认情况下,iRate 会在满足某些要求时自动打开(例如应用启动 X 次,用户通过 X 关卡),但您也可以使用多种方法和您自己的逻辑(借助 iRate 方法)手动显示 iRate 弹出窗口。

设置

要安装,只需将头文件、实现文件和.bundle(用于本地化)拖到您的项目中。

  1. 在 AppDelegate 中导入标头:#import "iRate.h"
  2. StoreKit框架添加到您的项目中 - Apple 文档中有关 StoreKit 的更多信息
  3. 在您的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;

更多详细信息可在 iRate GitHub 页面上找到。

于 2012-04-21T22:32:57.257 回答
7

我使用的一个非常好的是 Appirater:https ://github.com/arashpayan/appirater/

它会自动提示您的用户留下评论,您只需提供您的应用程序 ID。

于 2011-07-18T18:23:05.713 回答