Acionar notificações push

Tipos de notificação

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 sobre isso. 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 ativar as notificações dos cartões para receber as notificações push relacionadas às 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 pela Carteira do Google.
  • É possível usar os métodos UPDATE ou PATCH para editar ou remover dados de mensagens usando o endpoint normal de classe ou objeto.

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 cartões

  
  "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. 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 um destaque 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 que os cartões deles recebam 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",
    …
  

Definir notifyPreference como notifyOnUpdate vai acionar uma notificação caso o campo atualizado seja compatível no momento.

Campos aceitos

FlightObject
  • boardingAndSeatingInfo.seatNumber
  • boardingAndSeatingInfo.seatAssignment