Notificaciones activadas por el socio
Agregar mensaje y notificar
Fondo
Después de que un usuario agrega un pase, es posible que quieras enviarle un mensaje relacionado con el pase y asegurarte de que reciba una notificación al respecto. Cuando se usa la solicitud de la API de Add Message con un message_type
igual a TEXT_AND_NOTIFY
, sucede lo siguiente:
- Se agrega un elemento "Mensaje" al "dorso del pase" (también conocido como Plantilla de detalles) y se envía una notificación push a los usuarios que guardaron el pase.
- Una vez que el usuario presione la notificación, se abrirá la Billetera de Google en la parte frontal del pase (es decir, la vista de tarjeta) y verá una llamada en la parte superior de la pantalla con un botón "Ver mensaje".
- Si hacen clic en la llamada, los usuarios irán al reverso del pase, donde se resaltarán los mensajes nuevos no leídos.
Consideraciones para enviar mensajes con notificaciones a los usuarios
- Los usuarios deben tener habilitadas las notificaciones para sus pases si quieren recibir las notificaciones push relacionadas con los mensajes.
- Los mensajes pueden contener URIs a tu sitio web o aplicación. Los hipervínculos deben ser a un sitio web o una aplicación relacionados con el pase. Enviar a los usuarios a vínculos que no estén relacionados con el pase constituye 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. Es posible que Google limite tu cuota de entrega de notificaciones push si considera que estás enviando spam a tus 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 de objeto normal.
Pasos de 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 MessageType TEXT_AND_NOTIFY en lugar de TEXT.
Ejemplo de solicitud en formato JSON para agregar un mensaje y enviar una notificación 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 enviar una notificación en un objeto de Passes
… "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" }, …
Ejemplo de Response para agregar un mensaje y notificar una clase de pase
// 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 enviar notificaciones más de 3 veces generará una respuesta de 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.
Actualizar campo y notificar
Fondo
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 de UPDATE y PATCH. Una vez que se realiza una llamada a la API para actualizar el pase, sucede lo siguiente:
- Se activa una notificación push y se muestra en la pantalla de bloqueo del usuario, lo que le informa sobre una actualización del pase.
- Una vez que el usuario presione la notificación, se abrirá la Billetera de Google en la parte frontal del pase (también conocida como vista de tarjeta) y el usuario verá una llamada en la parte superior de la pantalla con un botón "Revisar actualización".
- Si hace clic en el botón, el usuario accederá a una pantalla en la que podrá ver los campos que se modificaron con la actualización.
Algunas consideraciones para enviar notificaciones de actualización de campos
- Los usuarios deben tener habilitadas las notificaciones para sus pases si desean recibir 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. Es posible que Google limite tu cuota de entrega de notificaciones push si considera que estás enviando spam a tus usuarios.
- La notificación push que los usuarios ven en la pantalla de bloqueo la controla la Billetera de Google.
- El campo
notifyPreference
es un campo transitorio que solo existe en esta solicitud. Para solicitudes futuras en las que desees activar una notificación, deberás restablecer este campo en la solicitud de clase o de objeto.
Pasos de 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 clase o de objeto para activar la notificación.
Ejemplo de solicitud en formato JSON para actualizar y enviar notificaciones en una clase
… "dateTime": { "kind": "walletobjects#eventDateTime", "doorsOpen": "2024-09-23T19:20:50.00" }, "multipleDevicesAndHoldersAllowedStatus": "multipleHolders", "notifyPreference": "notifyOnUpdate", …
Si se configura notifyPreference
como notifyOnUpdate
, se activará una notificación, siempre que el campo actualizado sea compatible en ese momento.
Campos disponibles
FlightObject
- boardingAndSeatingInfo.seatNumber
- boardingAndSeatingInfo.seatAssignment
Notificaciones de Nearby
Esta función mostrará una notificación push a los usuarios que hayan habilitado las notificaciones y otorgado acceso preciso y permanente a la ubicación en la app de la Billetera de Google para recordarles que guardaron un pase relevante para su ubicación actual.Pasos de integración
Modo de uso
Para usar esta función, debes agregar ubicaciones a tus clases y objetos. Puedes agregar hasta 10 ubicaciones por clase y 10 por objeto. Usa MerchantLocations
en la definición de tu clase o tu objeto. Puedes agregar estas ubicaciones cuando usas los métodos insert
, patch
o update
.
Después de agregar ubicaciones a una clase o un objeto, Google enviará notificaciones a los usuarios cuando estén cerca. Google decide qué tan cerca debe estar un usuario y cuánto tiempo debe permanecer en el área antes de que se envíe la notificación. Google también controla el texto de la notificación.
Ejemplo de un objeto LoyaltyClass con el campo MerchantLocations establecido:{ "kind": "walletobjects#loyaltyClass", "programLogo": { "kind": "walletobjects#image", "sourceUri": { "uri": ... } }, "localizedProgramName": { "kind": "walletobjects#localizedString", "defaultValue": { "kind": "walletobjects#translatedString", "language": "en", "value": "Program Name", } }, "id": Id1234, "version": "1", "allowMultipleUsersPerObject": true, "reviewStatus": "underReview", "enableSmartTap": false, "localizedIssuerName": { "kind": "walletobjects#localizedString", "defaultValue": { "kind": "walletobjects#translatedString", "language": "en", "value": "Issuer Name" } }, "multipleDevicesAndHoldersAllowedStatus": "multipleHolders", "merchantLocations": [ { "latitude": 37.79020867928078, "longitude": -122.39004 }, { "latitude": 37.42587, "longitude": -122.08620 }, ] }
Comportamiento esperado
Los usuarios deben recibir notificaciones fijas sobre sus pases cuando se encuentren en una de las MerchantLocations especificadas. Si hace clic en la notificación, se abrirá el pase en la Billetera de Google. Los usuarios pueden descartar la notificación con el gesto de deslizamiento. Cuando un usuario salga de la ubicación, la notificación desaparecerá.
Notificaciones automáticas activadas por la Billetera de Google
Próxima notificación
La Billetera de Google envía una notificación al usuario tres horas antes del vuelo. La duración del vuelo se define en class.localScheduledDepartureDateTime
.
Para recibir esta notificación, el usuario debe tener habilitadas las notificaciones. Para verificarlo, pueden navegar a Configuración > Notificaciones y ver si Actualizaciones sobre tus pases está activado.
La notificación aparece en el área de notificaciones y en la pantalla de bloqueo, si el usuario tiene notificaciones habilitadas para la pantalla de bloqueo.
La notificación tiene el siguiente formato no modificable:
Boarding pass for your flight to class.destination.airportIataCode
Si presionan la notificación y desbloquean el dispositivo, el pase aparecerá en la app de la Billetera de Google.
Si el usuario tiene varios pases, solo se muestra el que se puede usar más pronto. Si agregó pases agrupados según Cómo agrupar varios pases de abordar, la notificación solo mostrará uno de los pases del grupo. Sin embargo, cuando lo presionan, pueden deslizar el dedo hacia la izquierda y la derecha para ver los otros pases de ese grupo.
La notificación se fijará y no se descartará automáticamente después de que el usuario la abra. El cierre automático se produce 60 minutos después de class.localScheduledDepartureDateTime
.
Notificación de actualización de vuelo
Cuando se cambian ciertos campos de un vuelo, los usuarios que tienen una o más tarjetas de embarque agregadas reciben una notificación push en sus dispositivos. Esto solo sucede si se cumplen ciertas condiciones.
Terminal y puerta de origen
Si cambias class.origin.terminal
o class.origin.gate
y se cumple la siguiente condición, se envía una notificación que indica que el campo cambió.
- Faltan menos de tres horas para
class.localScheduledDepartureDateTime
.
La notificación tiene el siguiente formato: "Sample Airlines actualizó tu puerta a A1". El formato no se puede cambiar.
Hora de embarque y hora de salida
Si cambias class.localBoardingDateTime
o class.localEstimatedOrActualDepartureDateTime
, y se cumplen las condiciones que se indican a continuación, se envía una notificación que indica que el campo cambió.
- Faltan menos de 24 horas para
class.localScheduledDepartureDateTime
. - El horario respectivo cambia en al menos 10 minutos o más.
La notificación tiene el siguiente formato: "_Sample Airlines actualizó la hora de embarque a las 6:00 p.m._". No se puede personalizar el formato ni el idioma.