
Widodo PurnomosidiIf you manage multiple websites or apps, you probably share my frustration with Google Analytics 4...
If you manage multiple websites or apps, you probably share my frustration with Google Analytics 4 (GA4). Checking the real-time active users across five different projects means opening five tabs, clicking through dropdowns, and waiting for properties to load.
It’s tedious. So, as developers do, I decided to build my own solution: LiveStack GA.
LiveStack is a native Android dashboard that aggregates the real-time active user count from ALL your selected GA4 properties into a single, live-updating screen.
Here is a breakdown of how I built it, the tech stack I used, and the absolute nightmare of getting an OAuth-based app approved by Google Play Reviewers.
I needed to build a highly responsive, data-heavy dashboard rapidly, so I went with:
The core logic is simple: Authenticate the user requesting the analytics.readonly scope, fetch their account summaries, and then run a concurrent polling function to fetch the activeUsers metric for the selected properties.
Building the app was the easy part. Getting it published was a psychological thriller.
Since the app requests a sensitive OAuth scope (https://www.googleapis.com/auth/analytics.readonly), it required a strict verification process. But the real issue wasn't the API approval—it was the Play Store App Review.
My app kept getting rejected for a "Sign in failed" error. I tested it locally on physical devices and emulators, and it worked flawlessly. I double-checked the Play App Signing SHA-1 keys in Firebase. Everything was perfect.
So, what was happening?
The Emulator IP Trap:
Google Play Reviewers (or their automated bots) test apps on fresh emulators located in various data centers.
null response, which my UI caught as "Sign in canceled."Yes, Google's security was blocking Google's reviewers from testing an app that uses Google's API.
If you are building an Android app that relies heavily on Google Sign-In, here is how you beat this loop:
Developer Error 10 crashes on the reviewer's end.After weeks of rejections and debugging, the app finally got approved! 🎉
LiveStack GA is now live on the Play Store.
If you are an indie hacker, developer, or marketer, I’d love for you to try it out and let me know what you think of the UI/UX.
👉 Download LiveStack GA on Google Play
Have you ever faced a similar ridiculous rejection loop with app reviewers? Let’s hear your horror stories in the comments!