Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Dependency Injection for Testability #3
Maybe it's not fully related to purpose of your article, but I still find it important to mention - as you are using
In real world you should not be assuming that calling
The proper way to handle that is to do something similar to what Apple suggest in one of their examples:
Another way is to calculate windows count before and after Apple`s API is called.
So I think it would be much better in your article to have a
Otherwise you are risking of delaying rating request for too long, even if it was not really shown to a user.
Thanks for reading the post and leaving this insightful comment.
That is an impressively clever technique to determine whether the review prompt actually appeared. I have updated the post to mention it.
I had thought of the prompt logic as a black box, with no way of determining whether the prompt appeared. My code doesn't cause the prompt to be shown but rather asks iOS, perhaps in vain, to show it. That said, I can see the utility of tracking actual prompt appearances and perhaps firing an appropriate analytic.
I acknowledge that visiting the browse-verbs view controller is an inelegant trigger for calling
@vermont42 Thanks for quick answer. Your article is really good, so I'm happy to have my small input there.
For me it was a must - I have multiple trigger points for rating and I needed to know which ones works best - so analytics was the first thing that forced me to find if prompts are really shown and where.
The way I am personally doing review requests:
This way you will be sure that if you want user to have an option to they get one.
Also keep in mind that according to Apple's guidelines, you cannot call
Which is a pity, because easiest way to do rating, would be to have custom popup asking for it, then calling
Are you concerned that if the prompt did not show because the user set the don't-prompt-me setting and you ask the user if s/he wants to review, the user might get annoyed? I would be hesitant to show a custom prompt to users who don't want to see the built-in prompt.
On a meta note, I can see how if Conjugar were an important source of income for me, I would be inclined to maximize the number of review prompts, consistent with Apple rules. Because Conjugar is not a primary or indeed a source of income for me, my heuristic can afford to be relatively lackadaisical.
On an unrelated note, learning that one person liked my post made my day!
I bet more people do like it :)
In terms of custom prompt - I am trying to be gentle with those - usually I only ask once per version + not often then X amount of days (which is around 14 days usually).
Well at least until Apple starts to rejecting application doing that via custom UI and redirecting to AppStore... I'm afraid one day they will only let us using
But you never know when they are gonna get picky about that ;)