Reminder: Starting on August 2, 2023, all new apps must use Billing Library version 5 or newer. By November 1, 2023, all updates to existing apps must use Billing Library version 5 or newer. Learn more.

Guía de referencia de las notificaciones para desarrolladores en tiempo real

En este tema, se enumeran y describen los tipos de notificaciones para desarrolladores en tiempo real que puedes recibir de Google Play.

Codificación

Cada publicación realizada en un tema de Cloud Pub/Sub incluye un campo de datos único con codificación base64.

{
  "message": {
    "attributes": {
      "key": "value"
    },
    "data": "eyAidmVyc2lvbiI6IHN0cmluZywgInBhY2thZ2VOYW1lIjogc3RyaW5nLCAiZXZlbnRUaW1lTWlsbGlzIjogbG9uZywgIm9uZVRpbWVQcm9kdWN0Tm90aWZpY2F0aW9uIjogT25lVGltZVByb2R1Y3ROb3RpZmljYXRpb24sICJzdWJzY3JpcHRpb25Ob3RpZmljYXRpb24iOiBTdWJzY3JpcHRpb25Ob3RpZmljYXRpb24sICJ0ZXN0Tm90aWZpY2F0aW9uIjogVGVzdE5vdGlmaWNhdGlvbiB9",
    "messageId": "136969346945"
  },
  "subscription": "projects/myproject/subscriptions/mysubscription"
}

Una vez que se decodifica el campo de datos con codificación base64, el objeto DeveloperNotification incluye los siguientes campos:

{
  "version": string,
  "packageName": string,
  "eventTimeMillis": long,
  "oneTimeProductNotification": OneTimeProductNotification,
  "subscriptionNotification": SubscriptionNotification,
  "testNotification": TestNotification
}

Estos campos se describen en la siguiente tabla.

Nombre de la propiedad Valor Descripción
version string Es la versión de esta notificación. Inicialmente, es "1.0". Esta versión es distinta del resto de los campos de versión.
packageName string Es el nombre del paquete de la aplicación con la que está relacionada esta notificación (por ejemplo, "com.algo").
eventTimeMillis long Es la marca de tiempo en la que se produjo el evento, en milisegundos, desde la época.
subscriptionNotification SubscriptionNotification Si este campo está, esa notificación está relacionada con una suscripción, y este campo contiene información adicional relacionada con la suscripción. Ten en cuenta que este campo es mutuamente excluyente con testNotification y oneTimeProductNotification.
oneTimeProductNotification OneTimeProductNotification Si este campo está, esa notificación está relacionada con una compra única, y este campo contiene información adicional relacionada con la compra. Ten en cuenta que este campo es mutuamente excluyente con testNotification y subscriptionProductNotification.
testNotification TestNotification Si este campo está, esta notificación está relacionada con una publicación de prueba. Solo se envían a través de Google Play Console. Ten en cuenta que este campo es mutuamente excluyente con subscriptionNotification y oneTimeProductNotification.

SubscriptionNotification

Un objeto SubscriptionNotification incluye los siguientes campos:

{
  "version": string,
  "notificationType": int,
  "purchaseToken": string,
  "subscriptionId": string
}
Nombre de la propiedad Valor Descripción
version string Es la versión de esta notificación. Inicialmente, es "1.0". Esta versión es distinta del resto de los campos de versión.
notificationType int El objeto notificationType de una suscripción puede tener los siguientes valores:
  • (1) SUBSCRIPTION_RECOVERED: Se recuperó una suscripción de una suspensión de la cuenta.
  • (2) SUBSCRIPTION_RENEWED: Se renovó una suscripción activa.
  • (3) SUBSCRIPTION_CANCELED: Una suscripción se canceló de manera voluntaria o involuntaria. Las cancelaciones voluntarias se envían cuando el usuario realiza la acción.
  • (4) SUBSCRIPTION_PURCHASED: Se adquirió una suscripción nueva.
  • (5) SUBSCRIPTION_ON_HOLD: Una suscripción entró en suspensión de la cuenta (si está habilitada).
  • (6) SUBSCRIPTION_IN_GRACE_PERIOD: Una suscripción entró en un período de gracia (si está habilitado).
  • (7) SUBSCRIPTION_RESTARTED: Un usuario restableció su suscripción desde Play > Cuenta > Suscripciones. Se canceló la suscripción, pero no venció cuando el usuario la restableció. Para obtener más información, consulta Restablecimientos.
  • (8) SUBSCRIPTION_PRICE_CHANGE_CONFIRMED: El usuario confirmó correctamente un cambio en el precio de la suscripción.
  • (9) SUBSCRIPTION_DEFERRED: Se extendió el tiempo de recurrencia de una suscripción.
  • (10) SUBSCRIPTION_PAUSED: Se detuvo una suscripción.
  • (11) SUBSCRIPTION_PAUSE_SCHEDULE_CHANGED: Se modificó el programa de detención de una suscripción.
  • (12) SUBSCRIPTION_REVOKED: Un usuario revocó una suscripción antes del vencimiento.
  • (13) SUBSCRIPTION_EXPIRED: Venció una suscripción.
purchaseToken string Es el token que se envió al dispositivo del usuario cuando se compró la suscripción.
subscriptionId string Es el ID del producto de la suscripción comprada (por ejemplo, "monthly001").

Ejemplo

Este es un ejemplo de una notificación por la compra de una suscripción nueva:

{
  "version":"1.0",
  "packageName":"com.some.thing",
  "eventTimeMillis":"1503349566168",
  "subscriptionNotification":
  {
    "version":"1.0",
    "notificationType":4,
    "purchaseToken":"PURCHASE_TOKEN",
    "subscriptionId":"monthly001"
  }
}

OneTimeProductNotification

Un objeto OneTimeProductNotification incluye los siguientes campos:

{
  "version": string,
  "notificationType": int,
  "purchaseToken": string,
  "sku": string
}
Nombre de la propiedad Valor Descripción
version string Es la versión de esta notificación. Inicialmente, será "1.0". Esta versión es distinta del resto de los campos de versión.
notificationType int El tipo de notificación. Puede tener los siguientes valores:
  • (1) ONE_TIME_PRODUCT_PURCHASED: Un usuario compró con éxito un producto único.
  • (2) ONE_TIME_PRODUCT_CANCELED: Un usuario canceló la compra pendiente de un producto único.
purchaseToken string Es el token que se envió al dispositivo del usuario en el momento de la compra.
sku string Es el ID del producto único que se compró (por ejemplo, "espada_001").

Ejemplo

A continuación, se incluye un ejemplo de una notificación por una nueva compra única:

{
  "version":"1.0",
  "packageName":"com.some.thing",
  "eventTimeMillis":"1503349566168",
  "oneTimeProductNotification":
  {
    "version":"1.0",
    "notificationType":1,
    "purchaseToken":"PURCHASE_TOKEN",
    "sku":"my.sku"
  }
}

TestNotification

Un objeto TestNotification incluye los siguientes campos:

{
  "version": string
}
Nombre de la propiedad Valor Descripción
version string Es la versión de esta notificación. Inicialmente, es "1.0". Esta versión es distinta del resto de los campos de versión.

Ejemplo

Este es un ejemplo de una notificación de prueba:

{
  "version":"1.0",
  "packageName":"com.some.thing",
  "eventTimeMillis":"1503350156918",
  "testNotification":
  {
    "version":"1.0"
  }
}