Tipos de notificación
Agregar mensaje y notificar
Segundo plano
Después de que un usuario agrega un pase, te recomendamos que le envíes un mensaje relacionado con él y te asegures de que reciba una notificación al respecto. Si usas la solicitud Add Message API con un message_type
igual a TEXT_AND_NOTIFY
, ocurre lo siguiente:
- Se agrega un elemento "Mensaje" a la "parte posterior del pase" (también conocida como plantilla de detalles) y se envía una notificación push a los usuarios con el pase guardado.
- Una vez que el usuario presione la notificación, se abrirá la Billetera de Google al frente del pase (también conocida como vista de tarjeta) y verá un texto destacado en la parte superior de la pantalla con el botón “Ver mensaje”.
- Si los usuarios hacen clic en el texto destacado, se los llevará a la parte posterior del pase, donde se destacan los mensajes nuevos sin leer.
Algunas consideraciones para enviar mensajes con notificaciones a los usuarios
- Los usuarios deben tener habilitadas las notificaciones para que sus pases reciban las notificaciones push relacionadas con los mensajes.
- Los mensajes pueden contener URIs a tu sitio web o app. Los hipervínculos deben ser un sitio web o una app relacionados con el pase. Enviar a los usuarios a vínculos que no estén relacionados con el pase es un incumplimiento de la Política de Uso Aceptable.
- Puedes enviar un máximo de 3 mensajes que activen una notificación push en un período de 24 horas. Google puede reducir la cuota de entrega de notificaciones push si considera que estás enviando spam a los usuarios.
- Google Wallet controla la notificación push que los usuarios ven en la pantalla de bloqueo.
- Puedes usar los métodos UPDATE o PATCH para editar o quitar datos de mensajes con el extremo de clase o objeto normal.
Pasos para la integración
Cuando quieras notificar a los usuarios sobre un nuevo mensaje del emisor agregado con la API de AddMessage, deberás actualizar AddMessageRequest para que el Message que contiene el texto nuevo tenga el MessageType TEXT_AND_NOTIFY en lugar de TEXT.
Ejemplo de solicitud JSON para agregar un mensaje y notificar en una clase de pases
… "id": ISSUER_ID.CLASS_ID", "message": { "header":"My Class message header", "body": "My Class message body with a <a href="https://wallet.google">Hyperlink<\a>", "id": "message_id", "message_type": "TEXT_AND_NOTIFY" }, …
Ejemplo de solicitud JSON para agregar un mensaje y notificar en un objeto de pases
… "id": OBJECT_ID", "classId": "ISSUER_ID.CLASS_ID", "message": { "header":"My Object message header", "body": "My Object message body with a <a href="http://play.google.com/store/apps/details?id=com.google.android.apps.maps">Hyperlink<\a>", "id": "message_id", "message_type": "TEXT_AND_NOTIFY" }, …
Respuesta de ejemplo para agregar un mensaje y notificar a una clase Pass
// The updated resource … { "kind": "walletobjects#walletObjectMessage", "header": "My Object message header", "body": "My Object message body with a <a href="http://play.google.com/store/apps/details?id=com.google.android.apps.maps">Hyperlink<\a>", "id": "message_id", "messageType": "textAndNotify" }, …
Manejo de excepciones
Cualquier intento de notificar más de 3 veces generará una respuesta QuotaExceededException. Cualquier otra actualización del pase se puede configurar con "TEXT" en lugar de "TEXT_AND_NOTIFY", como se explica en los Pasos de integración.
Actualiza el campo y notifica
Segundo plano
Después de que un usuario agrega un pase, es posible que desees activar una notificación push cuando actualices ciertos campos. La notificación aparecerá en la pantalla de bloqueo del usuario y le informará que hay una actualización en su pase. Esta notificación solo se activará para un subconjunto específico de campos definidos a continuación con los métodos de la API UPDATE y PATCH. Una vez que se realiza una llamada a la API para actualizar el pase, ocurre lo siguiente:
- Se activa una notificación push y se muestra en la pantalla de bloqueo del usuario para informarle sobre una actualización de pase.
- Una vez que el usuario presiona la notificación, se abre la Billetera de Google en la parte frontal del pase (también conocida como vista de tarjeta) y el usuario verá un texto destacado en la parte superior de la pantalla con el botón “Revisar actualización”.
- Si hace clic en el botón, el usuario llega a una pantalla en la que puede ver los campos que cambió la actualización.
Algunas consideraciones para enviar notificaciones de actualización de campo
- Los usuarios deben tener habilitadas las notificaciones para que sus pases reciban las notificaciones push relacionadas con las actualizaciones.
- Puedes enviar un máximo de 3 actualizaciones que activen una notificación push en un período de 24 horas. Google puede reducir la cuota de entrega de notificaciones push si considera que estás enviando spam a los usuarios.
- La notificación push que los usuarios ven en la pantalla de bloqueo está controlada por la Billetera de Google.
- El campo
notifyPreference
es un campo transitorio que solo existe en esta solicitud. Para solicitudes futuras, cuando desees activar una notificación, deberás restablecer este campo en la solicitud de objeto o clase.
Pasos para la integración
Para activar estas notificaciones, deberás usar las llamadas UPDATE o PATCH existentes y especificar notifyPreference. Cuando actualizas un campo en una clase o un objeto, puedes agregar un campo nuevo, notifyPreference
, a la solicitud de la clase o el objeto para activar la notificación.
Ejemplo de solicitud JSON para actualizar y notificar en una clase
… "dateTime": { "kind": "walletobjects#eventDateTime", "doorsOpen": "2024-09-23T19:20:50.00" }, "multipleDevicesAndHoldersAllowedStatus": "multipleHolders", "notifyPreference": "notifyOnUpdate", …
Si estableces notifyPreference
como notifyOnUpdate
, se activará una notificación, siempre que se admita el campo actualizado.
Campos disponibles
EventTicketClass
- eventName
- eventVenue.name
- eventvenue.address
- eventDateTime.doorsOpen
- eventDateTime.start
EventTicketObject
- eventSeat.seat
- eventSeat.row
- eventSeat.section
- eventSeat.gate