
Enables display of customizable app rating dialogs, prompting user reviews on app stores. Supports adjustable display intervals, initial delay, and fully customizable UI, ensuring non-intrusive feedback gathering.
⭐ AppRating-KMP
A Kotlin Multiplatform library, used to display a customizable App Rating dialog, prompting users to leave a review on the Play Store (Android) or App Store (iOS). The library supports configurable intervals for showing the dialog, ensuring a non-intrusive yet effective way to gather app reviews.
Android and iOS.(minimum 5 days) before showing the dialog.reset the interval. If the user clicks a button to leave a review, the dialog will not show again.Add the library dependency to your commonMain source set:
implementation("com.stevdza-san:app-rating:1.0.1")Integrate the AppRatingDialog at the top level of your UI hierarchy, such as alongside your NavHost in a Jetpack Compose application.
@Composable
fun MainScreen() {
AppRatingDialog(
playStoreLink = "https://play.google.com/store/apps/details?id=PACKAGE_NAME",
appStoreLink = "https://apps.apple.com/app/YOUR_APP/ID",
interval = Interval.Monthly
)
..
}AppRatingDialog(
playStoreLink = "https://play.google.com/store/apps/details?id=PACKAGE_NAME",
appStoreLink = "https://apps.apple.com/app/YOUR_APP/ID",
initialDelayInDays = 7, // The initial period when the first dialog should show
interval = Interval.Quarterly, // Interval for showing the dialog
title = { Text(text = "Enjoying our App?") },
content = { Text(text = "If you're happy with the app, please leave us a review!") },
dismissText = "No thanks",
confirmText = "Rate now",
onDismiss = { /* Handle dismiss action */ }
)The library supports the following intervals for showing the dialog after the initial delay:
The dialog will only show after the specified interval has passed since the last interaction.
You can specify an initial delay (in days) before the dialog is shown for the first time. The default and minimum value is 5 days, but you can set it to any value greater than or equal to 5.
If the user clicks a Negative button, the dialog's timestamp is reset, and the dialog will appear again at the next interval. If the user clicks a Positive button on the other hand, the operation should be considered as complete, and the dialog will not show again.
⭐ Give a star to this repository.
☕ Let's get a coffee. You're paying!😜 https://ko-fi.com/stevdza_san
Designed and developed by stevdza-san (Stefan Jovanović)
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.⭐ AppRating-KMP
A Kotlin Multiplatform library, used to display a customizable App Rating dialog, prompting users to leave a review on the Play Store (Android) or App Store (iOS). The library supports configurable intervals for showing the dialog, ensuring a non-intrusive yet effective way to gather app reviews.
Android and iOS.(minimum 5 days) before showing the dialog.reset the interval. If the user clicks a button to leave a review, the dialog will not show again.Add the library dependency to your commonMain source set:
implementation("com.stevdza-san:app-rating:1.0.1")Integrate the AppRatingDialog at the top level of your UI hierarchy, such as alongside your NavHost in a Jetpack Compose application.
@Composable
fun MainScreen() {
AppRatingDialog(
playStoreLink = "https://play.google.com/store/apps/details?id=PACKAGE_NAME",
appStoreLink = "https://apps.apple.com/app/YOUR_APP/ID",
interval = Interval.Monthly
)
..
}AppRatingDialog(
playStoreLink = "https://play.google.com/store/apps/details?id=PACKAGE_NAME",
appStoreLink = "https://apps.apple.com/app/YOUR_APP/ID",
initialDelayInDays = 7, // The initial period when the first dialog should show
interval = Interval.Quarterly, // Interval for showing the dialog
title = { Text(text = "Enjoying our App?") },
content = { Text(text = "If you're happy with the app, please leave us a review!") },
dismissText = "No thanks",
confirmText = "Rate now",
onDismiss = { /* Handle dismiss action */ }
)The library supports the following intervals for showing the dialog after the initial delay:
The dialog will only show after the specified interval has passed since the last interaction.
You can specify an initial delay (in days) before the dialog is shown for the first time. The default and minimum value is 5 days, but you can set it to any value greater than or equal to 5.
If the user clicks a Negative button, the dialog's timestamp is reset, and the dialog will appear again at the next interval. If the user clicks a Positive button on the other hand, the operation should be considered as complete, and the dialog will not show again.
⭐ Give a star to this repository.
☕ Let's get a coffee. You're paying!😜 https://ko-fi.com/stevdza_san
Designed and developed by stevdza-san (Stefan Jovanović)
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.