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. Ao usar a solicitação Add Message API com um message_type igual a TEXT_AND_NOTIFY, ocorre o seguinte:

  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 frente do cartão (também conhecida como visualização de cartão), e o usuário vê uma frase de destaque na parte superior 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. Enviar os usuários para links não relacionados ao cartão é uma violação da Política de Uso aceitável.
  • É possível enviar no máximo três mensagens que acionam uma notificação push em um período de 24 horas. O Google pode limitar sua cota de entrega de notificações push se considerar que você está enviando spam aos 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 mensagens 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. Ao clicar no botão, o usuário é levado a uma tela em que pode ver os campos que foram alterados pela atualização.

Algumas 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 publishPreference. 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

LoyaltyClass
  • rewardsTier
  • secondaryRewardsTier
  • programName
LoyaltyObject
  • loyaltyPoints.balance
  • secondaryLoyaltyPoints.balance