
Enables launching in-app or market reviews from shared code, supporting multiple app stores with implementations for Amazon, App Gallery, Galaxy Store, Google Play, and RuStore.
Library that allows to launch in app (or in market) review from the KMP shared code
Android and iOS
commonMain:implementation("io.github.sergeimikhailovskii:in-app-review-kmp:$latest_tag") // Amazon, App Gallery, Galaxy Store
implementation("io.github.sergeimikhailovskii:in-app-review-kmp-google-play:$latest_tag") // Google Play + Amazon, App Gallery, Galaxy Store
implementation("io.github.sergeimikhailovskii:in-app-review-kmp-rustore:$latest_tag") // RuStore + Amazon, App Gallery, Galaxy StoreCreate an instance of class that implements InAppReviewDelegate interface.
Now library supports 3 implementations (depends on the market u need):
AmazonInAppReviewManagerAppGalleryInAppReviewManagerAppStoreInAppReviewManagerGalaxyStoreInAppReviewManagerGooglePlayInAppReviewManagerRuStoreInAppReviewManagerTo launch in-app review call
fun requestInAppReview(): Flow<ReviewCode>By listening the returned flow events u can receive the ResultCode which indicates the result the process finished with
fun requestInMarketReview(): Flow<ReviewCode>For App Gallery and Galaxy Store need to call
fun init()this method registers activity result listener so u should invoke it before the fragment or activity is created
RuStore's impl has minSdk=26, other dependencies have minSdk=21
group id was changed:dependencies {
+ implementation("io.github.sergeimikhailovskii:in-app-review-kmp:$latest_tag") // Amazon, App Gallery, Galaxy Store
- implementation("com.mikhailovskii.kmp:in-app-review-kmp:$latest_tag") // Amazon, App Gallery, Galaxy Store
+ implementation("io.github.sergeimikhailovskii:in-app-review-kmp-google-play:$latest_tag") // Google Play + Amazon, App Gallery, Galaxy Store
- implementation("com.mikhailovskii.kmp:in-app-review-kmp-google-play:$latest_tag") // Google Play + Amazon, App Gallery, Galaxy Store
+ implementation("io.github.sergeimikhailovskii:in-app-review-kmp-rustore:$latest_tag")
- implementation("com.mikhailovskii.kmp:in-app-review-kmp-rustore:$latest_tag") // RuStore + Amazon, App Gallery, Galaxy Store
}dependencyResolutionManagement {
repositories {
+ mavenCentral()
- maven {
- url = uri("https://maven.pkg.github.com/SergeiMikhailovskii/kmp-app-review")
- credentials {
- username = System.getenv("GITHUB_USER")
- password = System.getenv("GITHUB_API_KEY")
- }
- }
}
}fun getDefaultReviewManager(params: DefaultInAppReviewInitParams): InAppReviewDelegateJust create your own implementation of the InAppReviewDelegate interface.
There are no differences between your own implementation and the implementation out of the library.
Main idea of the library is to provide the vision how the review process can be shared.
Also it aims to collect as much implementations as it can be, so PRs are welcome :)
Library that allows to launch in app (or in market) review from the KMP shared code
Android and iOS
commonMain:implementation("io.github.sergeimikhailovskii:in-app-review-kmp:$latest_tag") // Amazon, App Gallery, Galaxy Store
implementation("io.github.sergeimikhailovskii:in-app-review-kmp-google-play:$latest_tag") // Google Play + Amazon, App Gallery, Galaxy Store
implementation("io.github.sergeimikhailovskii:in-app-review-kmp-rustore:$latest_tag") // RuStore + Amazon, App Gallery, Galaxy StoreCreate an instance of class that implements InAppReviewDelegate interface.
Now library supports 3 implementations (depends on the market u need):
AmazonInAppReviewManagerAppGalleryInAppReviewManagerAppStoreInAppReviewManagerGalaxyStoreInAppReviewManagerGooglePlayInAppReviewManagerRuStoreInAppReviewManagerTo launch in-app review call
fun requestInAppReview(): Flow<ReviewCode>By listening the returned flow events u can receive the ResultCode which indicates the result the process finished with
fun requestInMarketReview(): Flow<ReviewCode>For App Gallery and Galaxy Store need to call
fun init()this method registers activity result listener so u should invoke it before the fragment or activity is created
RuStore's impl has minSdk=26, other dependencies have minSdk=21
group id was changed:dependencies {
+ implementation("io.github.sergeimikhailovskii:in-app-review-kmp:$latest_tag") // Amazon, App Gallery, Galaxy Store
- implementation("com.mikhailovskii.kmp:in-app-review-kmp:$latest_tag") // Amazon, App Gallery, Galaxy Store
+ implementation("io.github.sergeimikhailovskii:in-app-review-kmp-google-play:$latest_tag") // Google Play + Amazon, App Gallery, Galaxy Store
- implementation("com.mikhailovskii.kmp:in-app-review-kmp-google-play:$latest_tag") // Google Play + Amazon, App Gallery, Galaxy Store
+ implementation("io.github.sergeimikhailovskii:in-app-review-kmp-rustore:$latest_tag")
- implementation("com.mikhailovskii.kmp:in-app-review-kmp-rustore:$latest_tag") // RuStore + Amazon, App Gallery, Galaxy Store
}dependencyResolutionManagement {
repositories {
+ mavenCentral()
- maven {
- url = uri("https://maven.pkg.github.com/SergeiMikhailovskii/kmp-app-review")
- credentials {
- username = System.getenv("GITHUB_USER")
- password = System.getenv("GITHUB_API_KEY")
- }
- }
}
}fun getDefaultReviewManager(params: DefaultInAppReviewInitParams): InAppReviewDelegateJust create your own implementation of the InAppReviewDelegate interface.
There are no differences between your own implementation and the implementation out of the library.
Main idea of the library is to provide the vision how the review process can be shared.
Also it aims to collect as much implementations as it can be, so PRs are welcome :)