Docs

Real-Time Developer Notifications

Google Play RTDN setup, JWT validation, and entitlement state sync — automated by Tierux. No Pub/Sub infrastructure to build or maintain.

1

What are RTDNs?

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:

  • Create a Google Cloud Pub/Sub topic
  • Create a subscription with push delivery to your endpoint
  • Configure IAM roles for the Play service account
  • Validate JWT signatures on incoming notifications
  • Parse and apply each notification type to your entitlement state

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.

2

Point Play Console at Tierux's shared topic

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.

3

JWT validation and processing

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.

4

Testing RTDN handling

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
Related docs

Docs: Webhooks

General webhook handling — RTDN, App Store Notifications, and custom webhook configuration.

Docs: Tokens

How Tierux handles purchase tokens — hashing, encryption, and server-side verification.

Quickstart

Checklist for Tierux configuration, required store-console work, REST integration, and purchase verification.

Feature: RTDN Webhooks

Auto-process Google Play RTDN — renewals, expiries, cancellations handled server-side.

Let RTDNs update your entitlements automatically

Free tier — unlimited apps, 1 paywall. No credit card, no revenue share.

Start free