Founder of ConversionMonks (Website Coming Soon) / Passionate about Digital Marketing / Love to help startups achieve growth via SEO, PPC, Social, Email, Content and UI/UX.
I somewhat disagree with the other answer posted here. When the communication is active, then only you can get reviews. If you are meeting your client personally, you can use an iPad, open your profile and ask them for a favor. Other than this, add a link with a badge of "Review Us on Google" on your website, newsletter, email signatures etc.
Make sure you show the necessity of these reviews and why you need them. If you are simply asking for a review, they may not take it seriously. But, if you give them a reason, like we are going to run a marketing campaign to a wider audience and we would like to increase our overall ratings before the campaign, as our competitors have better rating, it would be great if you can share your valuable feedback for the services we offered. We will really appreciate it.
Well, the budget is something that depends on your app's complexity and features. A simple app may cost you less, but a complex app will involve more man hours.
Hiring an agency has it's own benefits. You can rely on them, they can deliver an app on time, test the app thoroughly (as they have dedicated QA teams). On the other hand, Freelancer may cost you less, but may not deliver agency benefits.
In addition to Upwork and Freelancer, you can find reliable companies on Clutch.co. The biggest reason of using this site is the company reviews are verified. They conduct telephonic interviews with clients before accepting reviews.
I referred one client to an agency named Apptunix and they were quite good.
I hope it helps. Good luck!