SwiftRater 是一个类,您可以将其放入任何 iPhone 应用程序中,以帮助提醒您的用户在 App Store/您的应用程序中评价您的应用程序。
SwiftRater 是使用纯 Swift 编写的。
iOS 13.0、macOS 10.15 或更高版本,使用 Swift 编写。
打开您的项目设置,导航到“Package dependencies”选项卡。放入“https://github.com/takecian/SwiftRater”。
SwiftRater 可通过 CocoaPods 获取。要安装它,只需将以下行添加到您的 Podfile
pod "SwiftRater"
SwiftRater 与 Carthage 兼容。将其添加到您的 Cartfile
github "takecian/SwiftRater"
1.在 AppDelegate.swift 中设置 SwiftRater。设置完成后,调用 SwiftRater.appLaunched()
。
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
SwiftRater.daysUntilPrompt = 7
SwiftRater.usesUntilPrompt = 10
SwiftRater.significantUsesUntilPrompt = 3
SwiftRater.daysBeforeReminding = 1
SwiftRater.showLaterButton = true
SwiftRater.debugMode = true
SwiftRater.appLaunched()
return true
}
如果您正在使用 SwiftUI,请创建继承自 UIApplicationDelegate 的 AppDelegate 类,并在其中配置 SwiftRater。(感谢 @markgravity 的建议)
@main
struct YourApp: App {
@UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate
var body: some Scene {
WindowGroup {
ContentView()
}
}
}
class AppDelegate: NSObject, UIApplicationDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
SwiftRater.daysUntilPrompt = 7
SwiftRater.usesUntilPrompt = 10
SwiftRater.significantUsesUntilPrompt = 3
SwiftRater.daysBeforeReminding = 1
SwiftRater.showLaterButton = true
SwiftRater.debugMode = true
SwiftRater.appLaunched()
return true
}
}
属性 | 描述 |
---|---|
daysUntilPrompt | 如果自首次启动应用程序以来已过去 daysUntilPrompt 天,则显示评价请求。 |
usesUntilPrompt | 如果用户启动次数超过 usesUntilPrompt 次,则显示评价请求。 |
significantUsesUntilPrompt | 如果用户执行重要操作的次数超过 significantUsesUntilPrompt 次,则显示评价请求 |
您可以设置您想要应用的属性。
属性 | 描述 |
---|---|
debugMode | 每次都显示评价请求。默认为 false,当您将应用程序提交到 AppStore 时,需要设置为 false。 |
conditionsMetMode | 可能的值:.any 、.all (默认)将此设置为 .any 允许在满足您的任何一个或多个条件时显示提示。 |
showLaterButton | 在评价请求对话框中显示“稍后”按钮,适用于 iOS 10.2 或更早版本的设备。 |
daysBeforeReminding | 如果用户选择“稍后评价”,则在多少天后显示提醒弹出窗口,适用于 iOS 10.2 或更早版本的设备。 |
2.在您想要显示评价请求对话框的 ViewController 的 viewDidAppear
中调用 SwiftRater.check()
。如果条件满足,SwiftRater 将显示评价请求弹出窗口。
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
SwiftRater.check()
}
3(可选)。对于 significantUsesUntilPrompt
,您需要在应用程序的重要操作中添加 SwiftRater.incrementSignificantUsageCount
。
func postComment() {
// do something ..
SwiftRater.incrementSignificantUsageCount()
}
4(可选)。调用 SwiftRater.rateApp(host:)
以让您的用户直接在 App Store/您的应用程序中评价您的应用程序。
func rateButtonDidClick(sender: UIButton) {
// do something ..
SwiftRater.rateApp(host: self)
}
此示例说明仅当应用程序启动 5 次且 7 天后才显示评价请求,如果选择稍后评价,则在 5 天后提醒。
SwiftRater.daysUntilPrompt = 7
SwiftRater.usesUntilPrompt = 5
SwiftRater.daysBeforeReminding = 5
SwiftRater.appLaunched()
如果您希望仅在 5 天后显示请求,并在选择稍后评价后 7 天后提醒,您可以设置以下内容
SwiftRater.daysUntilPrompt = 5
SwiftRater.daysBeforeReminding = 7
SwiftRater.appLaunched()
如果您希望在用户执行 10 次重要操作后,在 5 天或 5 次使用次数过去之前显示请求
SwiftRater.conditionsMetMode = .any
SwiftRater.daysUntilPrompt = 5
SwiftRater.usesUntilPrompt = 5
SwiftRater.significantUsesUntilPrompt = 10
您可以为 iOS 10.2 或更早版本的设备自定义评价请求对话框中的文本。在以下属性中设置文本。
如果您的应用程序仅适用于某些国家/地区,请在设置阶段添加国家/地区代码。
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
SwiftRater.daysUntilPrompt = 7
SwiftRater.usesUntilPrompt = 10
SwiftRater.countryCode = "fr"
SwiftRater.debugMode = true
SwiftRater.appLaunched()
return true
}
可选,您可以显式设置 App ID。如果未设置,SwiftRater 将通过 bundle ID 从 appstore 获取 App ID。
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
SwiftRater.daysUntilPrompt = 7
SwiftRater.usesUntilPrompt = 10
SwiftRater.appID = "1104775712"
SwiftRater.debugMode = true
SwiftRater.appLaunched()
return true
}
您可以在此仓库中找到演示应用程序。
takecian, takecian@gmail.com
SwiftRater 在 MIT 许可证下可用。有关更多信息,请参见 LICENSE 文件。