Closed schilakamarri closed 10 years ago
Thanks for the report.
I'm sorry you're having this problem. I'm going to look into this and see what's going on. Can you please make the following checks?
On the website: 1.Verify that the "Enable Ratings Dialog" checkbox is checked.
Thanks! Sky
Hi Sky,
We fixed it in the following class:
RatingModule.java Replaced Line: return days != 0 && now > periodEnd; with: return days == 0 || now > periodEnd;
Isuue is fixed with that replacement.
Hi,
Actually, this is not a fix. We currently use 0 to represent disabling that particular setting. If you set all of the settings to 0, then the rating prompt will never be shown. It is documented this way on the settings page. If you would like to show the prompt immediately the first time the app starts, set everything to 0 except set 1 for app uses. And please revert your change. It is not actually a fix.
Thanks, Sky
Thank you Sky. This change made in the code works as expected for me. I want the rating module to show up after I log logSignificantEvent 3 times. I see the rating module appear when the logSignificantEvent is logged 3 times. I will revert the fix in my code, but when is this expected to be fixed from Apptentive?
Also added the following code change to Rating Module.java: private boolean eventThresholdReached(SharedPreferences prefs) { @@ -322,12 +322,16 @@ void run(Activity activity) { private boolean canShowRatingFlow(SharedPreferences prefs) { Configuration config = Configuration.load(prefs); String ratingsPromptLogic = config.getRatingsPromptLogic();
return ratingPeriodElapsed(prefs) && (eventThresholdReached(prefs) || usesThresholdReached(prefs));
This isn't a bug, so it won't be fixed. It sounds like it is working properly for you when you set 3 for significant events. I would set OR logic, with 3 for significant events, and 0 for the other settings.
Will try that and update tomorrow. Thank you
Thank you Sky. I changed the app settings to OR logic and it works as expected with SDK code as it is.
I debugged and narrowed it down to this line in RatingModule.java:
boolean canShow = canShowRatingFlow(prefs);
The canShow is always False even when conditions are met. Can you please look into it?