An open API service indexing awesome lists of open source software.

https://github.com/flinedev/reviewkit

Request reviews only from users with enough recent positive activity and only at appropriate times.
https://github.com/flinedev/reviewkit

ios rating reviews storekit swift

Last synced: 8 months ago
JSON representation

Request reviews only from users with enough recent positive activity and only at appropriate times.

Awesome Lists containing this project

README

          

![ReviewKit Logo](https://github.com/FlineDev/ReviewKit/blob/main/Images/Logo.png?raw=true)

[![](https://img.shields.io/endpoint?url=https%3A%2F%2Fswiftpackageindex.com%2Fapi%2Fpackages%2FFlineDev%2FReviewKit%2Fbadge%3Ftype%3Dplatforms)](https://swiftpackageindex.com/FlineDev/ReviewKit)

# ReviewKit

Request reviews only from users with enough recent positive activity and only at appropriate times.

Read the [Introduction Article](https://www.fline.dev/introducing-reviewkit/?ref=github.com) to learn how to best use ReviewKit in your app.

## Requirements

* Minimum deployment target iOS 11+, macOS 10.14+
* Swift 5.8+ (Xcode 14.3+)

## Usage

1. Add ReviewKit to your app using SwiftPM:

```
https://github.com/FlineDev/ReviewKit.git
```

2. (Optional) Adjust the criteria by which app reviews are requested on app start (defaults to 3 positive events & expiration after 14 days):

```Swift
import ReviewKit
// ...
ReviewKit.criteria = ReviewCriteria(minPositiveEventsWeight: 5, eventsExpireAfterDays: 30)
```

3. Determine common workflows in your app and when a user completes one of them, call this:

```Swift
ReviewKit.recordPositiveEventAndRequestReviewIfCriteriaMet()
```

4. (Optional) Determine other activities that you think are positive experiences for your users. If they are in the middle of workflows, instead of the above call:

```Swift
ReviewKit.recordPositiveEvent() // optionally, you can pass a custom `weight` parameter, defaults to 1
```

5. (Optional) Get more reviews from users who tried your app at least once, add this to your app entry point:

```Swift
@AppStorage("appStarts")
var appStarts: Int = 0
```

And attach this modifier to your apps' root view:

```Swift
.onAppear {
self.appStarts += 1

if self.appStarts >= 2 {
ReviewKit.recordPositiveEventAndRequestReviewIfCriteriaMet()
}
}
```

That's it – you have configured App Review requests for your app!

### Notes

* ReviewKit is using Apple's `SKStoreReviewController` API internally. That API already encapsulates some logic to make sure not to ask users too often.
* That logic is turned off in `DEBUG` mode, so you might want to set `ReviewKit.enabledInDebugBuilds = false` once you've tested that everything works.
* There's also a function `requestReviewIfCriteriaMet()` that does not record a positive event in case you need that.

## Showcase

I extracted this library from my following Indie apps (rate them with 5 stars to support me!):


App Icon
App Name & Description
Supported Platforms









TranslateKit: App Localizer



Simple drag & drop translation of String Catalog files with support for multiple translation services & smart correctness checks.

Mac









Pleydia Organizer: Movie & Series Renamer



Simple, fast, and smart media management for your Movie, TV Show and Anime collection.

Mac









FreemiumKit: In-App Purchases



Simple In-App Purchases and Subscriptions for Apple Platforms: Automation, Paywalls, A/B Testing, Live Notifications, PPP, and more.

iPhone, iPad, Mac, Vision









FreelanceKit: Time Tracking



Simple & affordable time tracking with a native experience for all  devices. iCloud sync & CSV export included.

iPhone, iPad, Mac, Vision









CrossCraft: Custom Crosswords



Create themed & personalized crosswords. Solve them yourself or share them to challenge others.

iPhone, iPad, Mac, Vision









FocusBeats: Pomodoro + Music



Deep Focus with proven Pomodoro method & select Apple Music playlists & themes. Automatically pauses music during breaks.

iPhone, iPad, Mac, Vision









Guided Guest Mode



Showcase Apple Vision Pro effortlessly to friends & family. Customizable, easy-to-use guides for everyone!

Vision









Posters: Discover Movies at Home



Auto-updating & interactive posters for your home with trailers, showtimes, and links to streaming services.

Vision