首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SKStore​复习​控制器,如何正确使用?

SKStore​复习​控制器,如何正确使用?
EN

Stack Overflow用户
提问于 2017-04-03 13:42:48
回答 6查看 27.8K关注 0票数 44

我已经看到了一些答案,但对他们并不满意,并得到了一些想法,但不知道如何正确使用它,以便它将以适当的方式执行,尽管我认为它应该在应用程序委托didFinishLaunching中使用,但我想在没有任何匆忙的情况下在Live应用程序中实施它之前,我想确定它。我读到的SKStore​Review​Controller只适用于iOS10.3,有没有人能用swift和objective c的一些代码来解释?

更新:

实际上,我对调用方法request​Review()感到困惑,我需要在哪里调用这个方法?在rootViewControllerviewDidLoad中还是在appDelegatedidFinishlaunching中?

谢谢。

EN

回答 6

Stack Overflow用户

发布于 2017-04-05 17:51:21

iOS 10.3及更高版本中提供了SKStoreReviewController

根据苹果公司的文件:

你可以要求用户在使用你的应用程序时对其进行评分或评论,而无需将它们发送到应用程序Store.You确定用户体验中调用

有意义的点,然后系统会处理剩下的部分。

为了在应用程序中显示Rate/Review,您必须添加StoreKit框架。

请找到这两种语言的示例代码:

目标C:

代码语言:javascript
复制
#import <StoreKit/StoreKit.h>

- (void)DisplayReviewController {
    if([SKStoreReviewController class]){
       [SKStoreReviewController requestReview] ;
    }
}

从xCode 9开始,您可以执行以下操作:

代码语言:javascript
复制
#import <StoreKit/StoreKit.h>

- (void)DisplayReviewController {
    if (@available(iOS 10.3, *)) {
        [SKStoreReviewController requestReview];
    }
}

Swift:

代码语言:javascript
复制
import StoreKit

func DisplayReviewController {
    if #available( iOS 10.3,*){
        SKStoreReviewController.requestReview()
    }
}

更新:Ask for a rating only after the user has demonstrated engagement with your app

票数 77
EN

Stack Overflow用户

发布于 2017-09-22 14:17:56

对斯威夫特来说

代码语言:javascript
复制
import StoreKit

当你想问的时候,在请求中添加以下代码。

代码语言:javascript
复制
if #available(iOS 10.3, *) {
        SKStoreReviewController.requestReview()
    }

对于目标C,

1-)通过库从链接二进制文件添加了StoreKit框架

2-)添加框架

代码语言:javascript
复制
#import <StoreKit/StoreKit.h>

3-)添加了下面要调用App-Review弹出窗口的代码。在本例中,我添加了viewDidLoad。

代码语言:javascript
复制
  - (void)viewDidLoad {
        [super viewDidLoad];
        [SKStoreReviewController requestReview];
    }

4-)当你在调试模式下测试时,你应该知道下面来自苹果的解释

当您在应用程序仍处于开发模式时调用此方法时,将始终显示评级/审核请求视图,以便您可以测试用户界面和体验。但是,当您在使用TestFlight分发的应用程序中调用此方法时,此方法无效。

票数 9
EN

Stack Overflow用户

发布于 2018-04-03 20:30:28

我认为直接调用下面的代码不是一个好主意。

SKStoreReviewController.requestReview()

它可以像用户打开10(10,20,30,...100)的倍数的应用程序,然后您可以显示以供审查

因此,首先您需要创建一个文件,该文件将负责所有工作,比如在用户默认设置中保存应用程序打开计数、检索应用程序打开计数以及显示requestReview()。请看一下下面的代码片段

代码语言:javascript
复制
import Foundation
import StoreKit
class  SpsRateManager {
    
    
    private static let instance = SpsRateManager()
    
    var shareinstance: SpsRateManager{
        return .instance
    }
    static func incrementAppOpenedCount() { // called from appdelegate didfinishLaunchingWithOptions:
        let userdefault = UserDefaults.standard
        
        
        let savedvalue = userdefault.integer(forKey: Configuration.APPLICATIONOPENCOUNTSTATUS)
        if savedvalue == 0 {
            print("Not saved ")
            userdefault.set(1, forKey: Configuration.APPLICATIONOPENCOUNTSTATUS)
        }
        else{
            userdefault.set(savedvalue+1, forKey: Configuration.APPLICATIONOPENCOUNTSTATUS)
            
        }
        
    }
    
    static func checkAppopencountandProvideReview(){
        let userdefault = UserDefaults.standard
        
        
        let appopencountvalue  = userdefault.integer(forKey: Configuration.APPLICATIONOPENCOUNTSTATUS)
        if appopencountvalue % 10 == 0 {
            print("its been 10 times so ask for review ")
            SpsRateManager().requestReview()
        }
        else{
            print("not enough open count dont show ")
        }
        
    }
    
    
    
    
    fileprivate func requestReview() {
        if #available(iOS 10.3, *) {
            SKStoreReviewController.requestReview()
        } else {
            // Fallback on earlier versions
            // Try any other 3rd party or manual method here.
        }
    }
    
}
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43177249

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档