ios - 如何将 "Write a Review"/"Rate Us"功能添加到我的应用程序?

标签 ios uiwebview popup review

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

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

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

有谁知道这样做的方法吗?

最佳答案

StoreKit API(iOS 10.3 及更高版本)

从 iOS 10.3 开始,StoreKit API 提供了一种无需离开您的应用程序即可在 App Store 上请求评论的方法。当被调用时,系统可能会向用户显示请求审查的警报。用户可以直接在提醒内提供星级评分、继续撰写评论或关闭提醒。 StoreKit 为您处理几乎所有事情。要提出审核请求,请在您的应用中适当的位置进行以下调用:

// Objective-C
[SKStoreReviewController requestReview]

// Swift
SKStoreReviewController.requestReview()

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

Important Note: Although this seems fairly simple, you'll still need to write some kind of logic in order to space out your prompts. For example, to present the prompt only after X number of launches, days, or significant events.

If you fail to do this and just stick the review prompt anywhere (a viewDidAppear call, for example), your users will be rather annoyed because they'll see it pretty quickly and repeatedly. Then, either they leave a bad review (because they're annoyed) or aren't asked to review again for a whole year.

以下是警报的示例。有关详细信息,请参阅 Apple's documentation .

StoreKit rating / review prompt.


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 中导入 header :#import "iRate.h"
  2. StoreKit 框架添加到您的项目中 - 更多信息 StoreKit from Apple Documentation
  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;

More Details在 iRate GitHub 页面上可用。

关于ios - 如何将 "Write a Review"/"Rate Us"功能添加到我的应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6736189/

相关文章:

xcode - loadHTMLString baseURL :nil not working in iOS5

javascript - 如何仅在单击时加载 iframe block ?

ios - 如何在 Xcode 中使用没有 CocoaPod 的任何框架

ios - 应用程序在搜索(过滤)NSDictionary 时崩溃

c# - 如何通过捏合来缩放游戏对象?

iphone - 根据预处理器宏值更改基本 url

ios - 是否可以隐藏 UINavigationController 然后在用户向下滑动时显示它?

Swift:如何将当前 URL 从 UIWebView 放入 UITextField 中?

intellij-idea - 快速文档弹出窗口已被平台窗口取代

objective-c - 错误 : Mutating method sent to immutable object for NSMutableArray from JSON file