Google Play RTDN setup, JWT validation, and entitlement state sync — automated by Tierux. No Pub/Sub infrastructure to build or maintain.
Google Play sends Real-Time Developer Notifications (RTDNs) via Cloud Pub/Sub when a subscription event occurs — renewal, cancellation, grace period entry, account hold, recovery, expiry, etc. Without a service like Tierux, you must:
Tierux already runs all of that: one shared Pub/Sub topic and push subscription serve every customer app, with JWT validation and notification processing built into the pipeline. You don't create any GCP resources — you just point your app's Play Console at Tierux's topic (step 2).
This is separate from setup_google_play, the MCP tool used for purchase verification — it validates and stores a service account for the Android Publisher API, and has no role in RTDN delivery.
Tierux operates a single shared Pub/Sub topic, projects/simple-pay-wall/topics/play-rtdn, with an OIDC-JWT-authenticated push subscription into Tierux's deployed backend. Google Play's notification dispatcher service account already holds publisher rights on it. Your only step is telling Play Console to send your app's notifications there:
# Play Console → your app → Monetize → Monetization setup # → Real-time developer notifications Cloud Pub/Sub topic: "projects/simple-pay-wall/topics/play-rtdn" # Save → Send test notification
Every customer app points at the same topic — Google includes packageName in each notification, which Tierux uses to route the event to the right app and entitlement. No GCP project, topic, subscription, IAM binding, or environment variable to set up on your side.
Tierux validates incoming RTDN JWTs against its own audience claim and the expected Google Play dispatcher service account email — configured once on Tierux's side, nothing for you to set. Valid notifications are parsed and entitlement state is updated automatically.
// Notification types processed SUBSCRIPTION_PURCHASED → "active" SUBSCRIPTION_RENEWED → "active", expiry refreshed SUBSCRIPTION_RECOVERED → "active" (billing recovered from hold) SUBSCRIPTION_RESTARTED → "active" SUBSCRIPTION_CANCELED → "cancelled" (auto-renew off; access kept until expiry) SUBSCRIPTION_ON_HOLD → "account_hold" (access revoked) SUBSCRIPTION_IN_GRACE_PERIOD → "grace_period" (access retained) SUBSCRIPTION_PAUSED → "unknown" (access revoked while paused) SUBSCRIPTION_REVOKED → "cancelled", access revoked immediately SUBSCRIPTION_EXPIRED → "expired"
Your backend just reads GET /api/v1/entitlements/{userId}/{entitlement} — the state is always current.
Google Play provides test notifications through the Play Console, sent to the shared topic you configured in step 2. Tierux logs every processed notification for debugging.
# Send a test notification via Google Play Console # Play Console → Your app → Monetization setup → # Real-time developer notifications → Send test notification
General webhook handling — RTDN, App Store Notifications, and custom webhook configuration.
How Tierux handles purchase tokens — hashing, encryption, and server-side verification.
Checklist for Tierux configuration, required store-console work, REST integration, and purchase verification.
Auto-process Google Play RTDN — renewals, expiries, cancellations handled server-side.
Free tier — unlimited apps, 1 paywall. No credit card, no revenue share.
Start free