Enable Real-time developer notifications (RTDN) in Google Play Console

Google Play reports renewals, cancellations, refunds, and billing issues to Adapty through real-time developer notifications. Those events happen while your app is closed, so the Adapty SDK cannot report them.

Before you start

Configure the Google Play Store integration. Adapty generates the topic name from your key file, so there is nothing to copy until you have uploaded it.

Enable notifications

  1. Open App settings > Android SDK in the Adapty Dashboard, and copy the topic name under Google Play RTDN topic name. It starts with projects/.

    Google Play RTDN topic name section in Adapty App settings, with the generated topic name
  2. Open Google Play Console, select your app, and go to Monetize with Play > Monetization setup.

  3. In the Google Play Billing section, select the Enable real-time notifications checkbox.

  4. Paste the topic name into Topic name.

  5. Click Save changes.

    Monetization setup page in Google Play Console, showing the Enable real-time notifications checkbox and Topic name field

Verify the connection

  1. On the Monetization setup page, click the Send test notification button under the Topic name field.

  2. Go back to App settings > Android SDK in Adapty. Once Adapty receives the notification, the status tag in the Google Play RTDN topic name section reads Active.

    Note

    The test notification only verifies the connection. It doesn’t create purchase events, so the Event Feed stays empty after a test — events appear when real transactions occur.

    Google Play RTDN topic name section in Adapty showing the Active status tag

Forward raw Google events

Adapty decodes every notification from Google and turns it into its own event, matched to a profile and a product, with revenue attached. To also receive Google’s original message, add your endpoint to URL for forwarding raw Google events to your webhook in App settings > Android SDK.

Adapty posts the Pub/Sub message exactly as Google sent it, before parsing anything: base64-encoded, using Google’s field names and numeric notification types, and identifying the purchase by token rather than by Adapty profile. Google documents the format in its RTDN reference.

RTDN troubleshooting

The topic name is missing

Setting up RTDN starts by copying a topic name from Adapty. If nothing is there, you can’t go on: Topic name in Play Console is how Google Play learns where to send events, and Adapty is the only place that name comes from.

Adapty creates the topic in your Cloud project when you save the key file. A valid name starts with projects/, like projects/your-project-id/topics/adapty-prod-3f7a1c2e-9b4d-4e8f-a1b2-c3d4e5f60718. If Adapty couldn’t create it, the section shows a short message and a Recreate Pub/Sub topic button in place of the name, and that message tells you what went wrong:

What you seeWhat it meansWhat to do
To set the Google Play RTDN topic name first upload a valid service account key file above.Adapty has no key file for this appUpload the key file
Enable Pub/Sub APIThe Cloud Pub/Sub API is off in that Cloud projectFollow the link Adapty shows, then click Recreate Pub/Sub topic
Grant permissionsThe service account has no Pub/Sub Admin role in that projectIn IAM & Admin > IAM, edit the service account and add Pub/Sub > Pub/Sub Admin, then click Recreate Pub/Sub topic

Until the topic exists there is nothing to paste into Play Console, so Google Play doesn’t start sending events, and Adapty misses your renewals, cancellations, and refunds.

Recreate Pub/Sub topic re-runs the setup with the key file you already uploaded, so you don’t need to upload it again.

Recreating the topic fails

Google Play needs permission to publish into your topic, so Adapty grants that permission to google-play-developer-notifications@system.gserviceaccount.com. That account belongs to Google, not to your company.

Companies often configure Google Cloud to allow access only for accounts in their own domain. Those company-wide rules are called organization policies, and two of them refuse a grant to an outside account, so the topic isn’t created.

Relax both policies for this project, recreate the topic, then restore them. Editing organization policies usually takes an administrator, so you may need whoever runs your company’s Google Cloud.

  1. Open the Google Cloud Console and select the project the key file came from.

  2. Go to IAM & Admin > Organization Policies.

    IAM and Admin section in the Google Cloud Console navigation
  3. Find the Domain restricted contacts policy, open its Actions menu, and click Edit policy.

    Organization policies list with the Actions menu open
  4. Select Override parent’s policy, set Policy enforcement to Replace, then click Add a rule.

    Policy editing page with the Override parent's policy option
  5. Under Policy values, choose Allow All, then click Set policy.

    New rule section with Allow All selected as the policy value
  6. Repeat for the Domain restricted sharing policy.

  7. Recreate the topic in Adapty.

Warning

Set both policies back to Inherit parent’s policy as soon as the topic exists. While they read Allow All, this project accepts access grants and sharing for any Google account outside your domain, not just Google’s notification service.

Next steps

Install the Adapty SDK for each framework your app uses. Until you do, your app can’t show paywalls or report purchases to Adapty.