RevenueHogdocs
Data sources

Connect Google Play

Connect Android apps to RevenueHog with a read-only Google Cloud service account, then route Play real-time developer notifications through Pub/Sub push.

Android apps connect with one Google Cloud service account. Play's real-time developer notifications then feed the same live feed, MRR, alerts, widgets and digest as your App Store apps. 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.

In Play Console

Open 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

Those permissions read orders, subscriptions and the product catalog. They cannot refund, change prices or touch a listing. If a permission is missing, Google's own error says which, and RevenueHog shows it verbatim.

Connect the apps

Under Settings → Connections → GOOGLE PLAY, paste the JSON key into service account key (json) and your package names, one per line (Google has no API that lists your apps). A name after the package is optional; it defaults to the package:

com.example.app
com.example.pro Pro edition

Press Connect Google Play → ("Checking with Google…"). RevenueHog checks the key and each package with one read before saving, then creates one Android app per package. Add more packages to a connection at any time ("Added N apps."). An app that sends a notification before you add it appears on its own.

Errors

MessageFix
"<package>" isn't a valid package name (for example com.example.app).Check the spelling.
Add at least one package name.Enter one per line.
Google rejected the key: …Download a fresh JSON key.
<package>: the service account can't read this app's orders…Grant "View financial data, orders and cancellation survey responses" for that app.
The stored key can't be read. Disconnect and connect again.Reconnect.

Point notifications at RevenueHog

The connection card shows a push url with Copy push URL. Until something arrives it reads "No notification yet. Finish the steps below, then press Send test notification in Play Console."

Create a topic

In Google Cloud, create a Pub/Sub topic and grant google-play-developer-notifications@system.gserviceaccount.com the Pub/Sub Publisher role on it.

Add a push subscription

Add a push subscription with the push URL. Turn on authentication, choose the same service account you pasted, and leave the audience blank.

Connect Play Console

In Play Console, Monetization setup, enter the topic name under Real-time developer notifications. Do this for each app; they can share one topic.

Test

Press Send test notification. The card's line turns green and reads "Last notification …" when it arrives.

RevenueHog accepts a push only when Google signed it (OIDC) as your service account, with the push URL as audience. Your own server can subscribe to the same topic with a second subscription: Pub/Sub delivers to both.

What lands where

Play eventBadge
PurchaseBUY, or TRIAL when it starts a free trial
First paid renewal after a trialCONV
Later renewalsRENEW
Cancellation, expiry, revocationCHURN
Payment failing in grace or on holdRISK
RefundRFND
Restore before expiryNothing (no charge)

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. A partial refund's fee share is not reported, so it stays unknown. MRR counts active subscriptions, canceled ones until they expire, and those in grace; account hold and pauses are excluded, as in Play Console.

Daily sync

At 08:28 UTC, per connection: refresh product titles and base-plan periods, re-enrich rows recorded while Google was unreachable, import refunds from the last 30 days (as far as Google keeps them), re-read subscriptions whose expiry passed to catch missed renewals and expiries, and roll up recent days. Revenue starts on the day you connect. A 401 or 403 from Google marks the connection revoked; the app page then reads "The service account key no longer works. Paste a new key in Settings to reconnect."

Not in scope for Android apps

App Store reviews, TestFlight, store funnels and version tracking are App Store surfaces; an Android app does not show them.

Disconnect

Press disconnect, then Confirm disconnect. "Disconnected. The apps and their history are kept under Hidden apps."

Last updated on

On this page