Acionar notificações push

Notificações acionadas pelo parceiro

Adicionar mensagem e notificar

Contexto

Depois que um usuário adiciona um cartão, você pode enviar uma mensagem relacionada a ele e garantir que ele seja notificado. Ao usar a solicitação da API Add Message com um message_type igual a TEXT_AND_NOTIFY, o seguinte ocorre:

  1. Um item Mensagem é adicionado à "parte de trás do cartão" (também conhecida como Modelo de detalhes) e uma notificação push é enviada aos usuários com o cartão salvo.
  2. Quando o usuário toca na notificação, a Carteira do Google é aberta na parte frontal do cartão (também conhecida como visualização de cartão), e o usuário vê um ícone de destaque na parte de cima da tela com um botão "Ver mensagem".
  3. Ao clicar no destaque, os usuários vão acessar a parte de trás do cartão, onde as novas mensagens não lidas são destacadas.

Algumas considerações ao enviar mensagens com notificações aos usuários

  • Os usuários precisam ter as notificações ativadas para que os cartões recebam as notificações push relacionadas a mensagens.
  • As mensagens podem conter URIs para seu site ou app. Os hiperlinks precisam ser um site ou app relacionado ao cartão. É uma violação da Política de uso aceitável direcionar os usuários a links não relacionados ao cartão.
  • Você pode enviar no máximo três mensagens que acionam uma notificação push em um período de 24 horas. O Google pode limitar a cota de envio de notificações push se considerar que você está enviando spam para os usuários.
  • A notificação push que os usuários veem na tela de bloqueio é controlada pelo Google Wallet.
  • É possível usar os métodos UPDATE ou PATCH para editar ou remover dados de mensagens usando o endpoint de classe ou objeto regular.

Etapas de integração

Quando você quiser notificar os usuários sobre uma nova mensagem do emissor adicionada usando a API AddMessage, será necessário atualizar a AddMessageRequest para que a Message que contém o novo texto tenha o MessageType TEXT_AND_NOTIFY em vez de TEXT.

Exemplo de solicitação JSON para adicionar mensagem e notificar em uma classe de passes

  
  "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"
    },
  

Exemplo de solicitação JSON para adicionar mensagem e notificar em um objeto de cartões

  
  "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"
    },
  

Exemplo de resposta para adicionar uma mensagem e notificar uma classe de cartão

  // 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"
    },
  

Como processar exceções

Qualquer tentativa de notificar mais de três vezes vai gerar uma resposta QuotaExceededException . Todas as outras atualizações do cartão podem ser definidas usando "TEXT" em vez de "TEXT_AND_NOTIFY", conforme discutido nas etapas de integração.

Atualizar campo e notificar

Contexto

Depois que um usuário adiciona um cartão, talvez você queira acionar uma notificação push ao atualizar determinados campos. A notificação vai aparecer na tela de bloqueio do usuário e informar que há uma atualização no cartão. Essa notificação só será acionada para um subconjunto específico de campos definidos abaixo usando os métodos de API UPDATE e PATCH. Quando uma chamada de API para atualizar o cartão é feita, o seguinte ocorre:

  1. Uma notificação push é acionada e exibida na tela de bloqueio do usuário, informando sobre uma atualização do cartão.
  2. Quando o usuário toca na notificação, a Carteira do Google é aberta na parte frontal do cartão (visualização de cartão), e o usuário recebe uma chamada na parte de cima da tela com um botão "Revisar atualização".
  3. Clicar no botão leva o usuário a uma tela em que ele pode conferir os campos que foram alterados pela atualização.

Considerações ao enviar notificações de atualização de campo

  • Os usuários precisam ter as notificações ativadas para receber as notificações push relacionadas às atualizações.
  • Você pode enviar no máximo três atualizações que acionam uma notificação push em um período de 24 horas. O Google pode limitar a cota de envio de notificações push se considerar que você está enviando spam para os usuários.
  • A notificação push que os usuários veem na tela de bloqueio é controlada pela Carteira do Google.
  • O campo notifyPreference é um campo temporário que só existe nesta solicitação. Para solicitações futuras, quando você quiser acionar uma notificação, será necessário redefinir esse campo na solicitação de classe ou objeto.

Etapas de integração

Para acionar essas notificações, use as chamadas UPDATE ou PATCH atuais e especifique a notifyPreference. Ao atualizar um campo em uma classe ou um objeto, é possível adicionar um novo campo, notifyPreference, à solicitação de classe ou objeto para acionar a notificação.

Exemplo de solicitação JSON para atualizar e notificar em uma classe

    …
    "dateTime":
        {
            "kind": "walletobjects#eventDateTime",
            "doorsOpen": "2024-09-23T19:20:50.00"
        },
    "multipleDevicesAndHoldersAllowedStatus": "multipleHolders",
    "notifyPreference": "notifyOnUpdate",
    …
  

A configuração de notifyPreference como notifyOnUpdate vai acionar uma notificação, desde que o campo atualizado seja compatível.

Campos aceitos

FlightObject
  • boardingAndSeatingInfo.seatNumber
  • boardingAndSeatingInfo.seatAssignment

Notificações automáticas acionadas pela Carteira do Google

Notificação próxima

A Carteira do Google envia uma notificação ao usuário três horas antes do voo. O tempo de voo é definido por class.localScheduledDepartureDateTime.

Para receber essa mensagem, o usuário precisa ter as notificações ativadas. Para verificar isso, ele pode acessar Configurações > Notificações e conferir se a opção Atualizações sobre seus cartões está ativada.

A mensagem será exibida na área de notificações e também na tela de bloqueio se o usuário tiver ativado notificações nessa tela.

A notificação tem o seguinte formato não modificável:

  Boarding pass for your flight to class.destination.airportIataCode
  

Se ele tocar na notificação e desbloquear o dispositivo, o cartão vai aparecer no app Carteira do Google.

Se o usuário tiver vários cartões, somente será mostrado o próximo que poderá ser utilizado. Se os cartões agrupados tiverem sido salvos de acordo com as instruções em Agrupar vários cartões de embarque, a notificação mostrará apenas um dos cartões do grupo. No entanto, depois de tocar na notificação, o usuário pode deslizar para a esquerda ou direita para ver os outros cartões nesse grupo.

A notificação é fixada e não é dispensada automaticamente depois que um usuário a abre. A dispensa automática ocorrerá 60 minutos após class.localScheduledDepartureDateTime.

Notificação de atualização de voo

Quando determinados campos de um voo são alterados, os usuários com um ou mais cartões de embarque adicionados recebem uma notificação push no dispositivo. Isso acontece somente se condições específicas forem atendidas.

Terminal de origem e portão

Se você alterar class.origin.terminal ou class.origin.gate e a condição a seguir for atendida, uma notificação será enviada informando que o campo foi alterado.

  • Faltam menos de três horas para class.localScheduledDepartureDateTime.

A notificação é exibida no seguinte formato: "A companhia aérea X atualizou o portão para A1". Não é possível alterar o formato.

Horário de embarque e de partida

Se você alterar class.localBoardingDateTime ou class.localEstimatedOrActualDepartureDateTime e as condições abaixo forem atendidas, uma notificação será enviada informando que o campo foi alterado.

  • Faltam menos de 24 horas para class.localScheduledDepartureDateTime.
  • O horário em questão é alterado em pelo menos 10 minutos.

A notificação é exibida no seguinte formato: "_A companhia aérea X atualizou o horário de embarque para 18h._" O formato ou idioma não pode ser personalizado.