SKStoreReviewController如何检测用户已关闭此应用程序(RTA)设置或3倍限制已达到? [英] SKStoreReviewController how to detect that user has turned off Rate This App (RTA) in settings or 3 times limit has reached?

查看:190
本文介绍了SKStoreReviewController如何检测用户已关闭此应用程序(RTA)设置或3倍限制已达到?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

启动iOS 10.3时,Apple会将评论提示(评价此应用)限制为每年3次,并且可以在用户设置中关闭。

Starting iOS 10.3, Apple is limiting the review prompt (Rate This App) to 3 times a year and it can be turned off in the user's settings.

Q :我们如何检测到3次限制已经达到或者用户是否关闭了RTA所以在应用程序中我不会显示弹出窗口:你喜欢这个应用程序吗?如果是的话,你能写评论吗?[是/否]因为那时,如果用户点击是,则不会显示任何内容。

Q: How do we detect that the 3 times limit has reached or if the user has turned off RTA so in the app I won't show a popup saying: "Did you like the app? If yes, can you write a review? [Yes/No]" because then, if the user taps Yes, nothing will show up.

官方文档中的信息确实不多: https://developer.apple.com/reference/storekit/skstorereviewcontroller

There is really not much information here from the official documentation: https://developer.apple.com/reference/storekit/skstorereviewcontroller


虽然您应该在应用的用户体验流程中调用此方法,但评级/审核请求视图的实际显示受App Store策略的约束。由于此方法可能会或可能不会显示警报,因此响应按钮点击或其他用户操作来调用它是不合适的。

Although you should call this method when it makes sense in the user experience flow of your app, the actual display of a rating/review request view is governed by App Store policy. Because this method may or may not present an alert, it's not appropriate to call it in response to a button tap or other user action.


推荐答案

序言



询问用户是否喜欢该应用可能会导致您的应用被拒绝。以下是一个示例:
https://twitter.com/pietbrauer/status/791883047373246464

Preamble

Asking users if they like the app might lead to your app being rejected. Here is an example: https://twitter.com/pietbrauer/status/791883047373246464

如果链接在此处死亡,则摘录苹果回复:

In case the link dies here is an excerpt of Apples response:


3.2.2 ...您的应用程序包含可以操纵App Store上的用户评论或图表排名的内容和功能。具体来说,您的应用会过滤用户评论,并且仅指导打算为您的应用评分4到5星的用户在App Store上完成评分...

3.2.2 ... your app includes content and features that can manipulate the user reviews or chart rankings on the App Store. Specifically, your app filters user reviews and only directs users who intend to rate your app 4 - 5 stars to complete a rating on the App Store...

我个人认为,如果你真的试图解决用户问题,这仍然是一个有效的策略,并且仍然给他们一个机会在之后进行审核,但问题仍然是Apple是否会这样看待。

I personally believe that this can be a valid tactic if you genuinely try to resolve the users issue, and still give them an opportunity to leave a review afterwards, but the question remains if Apple will see it that way.


  1. 显示弹出窗口,询问用户是否喜欢/喜欢/等使用该应用程序。

  2. 尝试使用 [SKStoreReviewController requestReview] 进行审核。

  3. 检查窗口数是否已更改,表示已显示弹出窗口。这里需要注意的是,这不是100%可靠,因为其他一些事件可能会导致窗口数量发生变化。

  4. 如果窗口数保持不变,请使用深层链接转发用户到应用程序商店。 SKStoreReviewController 的文档建议使用 action = write-review 作为查询参数直接转到评论页面。

  1. Show popup asking the user if they enjoy/like/etc using the app.
  2. Try using [SKStoreReviewController requestReview] to get a review.
  3. Check if the number of windows has changed, indicating that a popup has been shown. The caveat here is that this is not 100% reliable since some other event can cause the number of windows to change.
  4. If the number of windows stays the same use deep linking to forward the user to the app store. The docs for SKStoreReviewController suggest using action=write-review as a query parameter to go directly to the reviews page.

这是一个简单的实现:

// make sure we the current iOS version supports in app reviews
if ([SKStoreReviewController class])
{
    NSUInteger windowCount = [UIApplication sharedApplication].windows.count;
    [SKStoreReviewController requestReview];

    // give the review controller some time to display the popup
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 1 * NSEC_PER_SEC), dispatch_get_main_queue(), ^{
        if (windowCount < [UIApplication sharedApplication].windows.count)
        {
            // assume review popup showed instead of some other system alert
            // for example show "thank you"
        }
        else
        {
            // open app store to leave review
            NSURL *reviewUrl = [NSURL URLWithString:@"{your-app-url}?action=write-review"];
            [[UIApplication sharedApplication] openURL:reviewUrl];
        }
    });
}

注意:我还没有将此代码提交给App Store,所以这只是理论上的。

Note: I have not submitted this code to the App Store, so this is only theoretical.

这篇关于SKStoreReviewController如何检测用户已关闭此应用程序(RTA)设置或3倍限制已达到?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆