Comments (8)
Yes, that is the solution (for now) as I detailed in length above. If you are using significant events at 0 (highly unadvised) then you will have to call showPromptIfNecessary()
from wherever it makes sense in your app. Fixing the lifecycle callbacks so that it automatically shows on app open or launch would introduce unwanted behavior for just about everybody who is using significant events > 0.
from armchair.
Did you step through the code to see why?
from armchair.
@coneybeare which object should I debug?
from armchair.
I would place your breakpoint either in showPrompt or ratingConditionsHaveBeenMet
from armchair.
same here, seems both of your mentioned functions are never called....
your incrementUseCount() only increments the values but never calls showPromt (or did i miss something?)
from armchair.
incrementUseCount
is never called directly by the user, but is called before a call to showPrompt
in incrementAndRate
. Can you reproduce what you are seeing in the example project with a basic setup?
from armchair.
Actually, I see why this might be happening. Sorry it took me some time to reacquaint myself with the code.
The application lifecycle notification callback methods only call incrementUseCount
and not incrementAndRate
. This is fine and by design so that the user is not bombarded with a review prompt immediately after opening the app, where chances of a review are lower. The library was really designed to keep significant events as the primary trigger for a review, when the user satisfaction is highest. A user is more likely to review if you do so at a point where it does not interrupt their flow. They came to your app for a reason, and now once they are in, you are asking them to stop doing that reason while they help you out by writing a review. Let them finish that reason (beat a level, do a thing, open stuff, check this or that) then ask them upon completion of said significant event.
But, if you want to keep significant events at 0, you should manually add showPromptIfNecessary
wherever it makes sense in your app. I would recommend using significant events to trigger instead though as you will get better clickthrough rates to the App Store.
This presents a minor problem for me because the default for this value is 0 (has to be) so I may add a condition to the lifecycle callbacks that checks whether or not this value is 0 and perhaps call for a prompt. I have to think about it because it could cause unintended prompts for others. My gut tells me no and that the solution is for you to add the showPromptIfNecessary
call to your setup, and add this info to the readme.
Either way I decide, you have a solution now.
from armchair.
yes thats the point. if you only want to have the use count (as odedharth describes) there is no call of showPromt. Your class is incrementing the useCount value but then never tries to fire the showPromt.
Other cases have this call: if someone calls userDidSignificantEvent, the function itself calls incrementSiginificantEventAndRate, which calls showPromt.
so do we have to call showPrompt(ifNecessary.... explicid?
best
stefan
from armchair.
Related Issues (20)
- rateApp() not working, "Write Review" page in AppStore cannot be opened. HOT 3
- Cant figure it out HOT 1
- Multiple Prompts at once HOT 1
- Armchair & UIAlertView HOT 1
- Can't get this working in Debug mode HOT 1
- Mac Version doesn't compile HOT 2
- AlertController not showing up with warning: Attempt to present UIAlertController on UINavigationController whose view is not in the window hierarchy! HOT 1
- Release? HOT 1
- SKStoreReviewController keeps showing even though daysBeforeReminding is set to 3 and significantEventsUntilPrompt is set to 40. HOT 1
- Cannot build with Carthage HOT 2
- Prompt is showing , but after pressing Rate now button not showing , juts infinite loading HOT 1
- Import Error and Shared Instance Error
- Swift 4.0 support
- Incorrect calculation in "RemindMeLater" code
- don't show armchair pop up ever in one particular view controller. HOT 1
- I want to hide cancel/No thanks button and give user 2 options (Rate Now, Remind me later) only.
- package.swift is missing HOT 1
- Major bug with app review! HOT 1
- "Rate app-name" link goes to the app's App Store page, not the "write review" page
- All Armchair .lproj files are included with cocoapods "use_frameworks! :linkage => :static"
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from armchair.