Let user rate the app through google play or through amazon

pull/100/head
geeksville 2020-07-14 22:21:54 -07:00
rodzic 0a38b70682
commit 28a18ca314
1 zmienionych plików z 8 dodań i 14 usunięć

Wyświetl plik

@ -334,26 +334,20 @@ class MainActivity : AppCompatActivity(), Logging,
private fun askToRate() {
exceptionReporter { // Got one IllegalArgumentException from inside this lib, but we don't want to crash our app because of bugs in this optional feature
AppRate.with(this)
val hasGooglePlay = GoogleApiAvailability.getInstance()
.isGooglePlayServicesAvailable(this) != ConnectionResult.SERVICE_MISSING
val rater = AppRate.with(this)
.setInstallDays(10.toByte()) // default is 10, 0 means install day, 10 means app is launched 10 or more days later than installation
.setLaunchTimes(10.toByte()) // default is 10, 3 means app is launched 3 or more times
.setRemindInterval(1.toByte()) // default is 1, 1 means app is launched 1 or more days after neutral button clicked
.setRemindLaunchesNumber(1.toByte()) // default is 0, 1 means app is launched 1 or more times after neutral button clicked
.monitor() // Monitors the app launch times
.setStoreType(if (hasGooglePlay) StoreType.GOOGLEPLAY else StoreType.AMAZON)
rater.monitor() // Monitors the app launch times
// Only ask to rate if the user has a suitable store
if (AppRate.with(this).storeType == StoreType.GOOGLEPLAY) { // Checks that current app store type from library options is StoreType.GOOGLEPLAY
if (GoogleApiAvailability.getInstance()
.isGooglePlayServicesAvailable(this) != ConnectionResult.SERVICE_MISSING
) { // Checks that Google Play is available
AppRate.showRateDialogIfMeetsConditions(this) // Shows the Rate Dialog when conditions are met
// Force the dialog - for testing
// AppRate.with(this).showRateDialog(this)
}
} else {
AppRate.showRateDialogIfMeetsConditions(this); // Shows the Rate Dialog when conditions are met
}
AppRate.showRateDialogIfMeetsConditions(this); // Shows the Rate Dialog when conditions are met
}
}