Connect Google Play
Android apps connect with one Google Cloud service account. Google Play's real-time developer notifications then feed the same live feed, MRR, alerts, widgets and digest as your App Store apps, with purchases, renewals, trials, conversions, churn and refunds mapped onto the same event badges. No SDK is needed, and the key only reads.
Create a service account
In Google Cloud, create a service account in any project and download a JSON key for it. Then, in Play Console, Users and permissions, invite the service account's email and grant it, for the apps you want to track: View app information and download bulk reports, and View financial data, orders and cancellation survey responses.
Read-only by design
Connect the apps
Under Settings → Google Play, paste the JSON key and your package names, one per line (Google has no API that lists your apps). RevenueHog checks the key and each package with one read before anything is saved, then creates one Android app per package. Add more packages to the connection at any time; an app that sends a notification before you add it appears on its own.
Point notifications at RevenueHog
Google Play delivers events through a Pub/Sub topic you own. The connection card shows a push URL; then:
- In Google Cloud, create a Pub/Sub topic and grant
google-play-developer-notifications@system.gserviceaccount.comthe Pub/Sub Publisher role on it. - Add a push subscription to the topic with the push URL. Turn on authentication, choose the same service account you pasted, and leave the audience blank.
- In Play Console, Monetization setup, enter the topic name under Real-time developer notifications. Do this for each app; they can share one topic.
- Press Send test notification. The connection card shows when it arrives.
RevenueHog accepts a push only when Google signed it as your service account. Your own server can subscribe to the same topic with a second subscription: Pub/Sub delivers to both, so nothing you already run breaks.
What lands where
A purchase is BUY, or TRIAL when it starts a free trial; the first paid renewal after a trial is CONV and later ones are RENEW; cancellations, expirations and revocations are CHURN; a failing payment in grace or on hold is RISK; refunds are RFND. A restore before expiry charges nothing, so it moves nothing. The full badge reference lives in Live feed & events.
Amounts come from each order: the charge net of tax, and as proceeds the developer share Google reports, so there is no fee estimate where the order is known. MRR counts active subscriptions, canceled ones until they expire, and those in grace; account hold and pauses are out, as in Play Console.
A daily sync refreshes product names and periods from your Play catalog, re-reads subscriptions whose expiry passed to catch anything a notification missed, and imports refunds from the last 30 days (as far back as Google keeps them). Revenue starts on the day you connect.
Not in scope for Android apps