Acionar notificações push

Notificações acionadas por parceiros

Adicionar mensagem e notificar

Contexto

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

  1. Um item "Mensagem" é adicionado à parte de trás do cartão (também conhecido 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 (ou seja, na visualização de card), e o usuário vê um balão na parte de cima da tela com um botão "Ver mensagem".
  3. Ao clicar no balão, os usuários são levados à 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 os cartões para receber 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 enviar aos usuários 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 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 de classe ou objeto normal.

Etapas de integração

Quando quiser notificar os usuários sobre uma nova mensagem do emissor adicionada usando a API AddMessage, atualize o AddMessageRequest para que a mensagem 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 mensagem e notificar para uma classe de cartões

  // 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 QuotaExceededException resposta. 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 UPDATE e PATCH da API. Quando uma chamada de API para atualizar o cartão é feita, o seguinte acontece:

  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 frente do cartão (ou seja, na visualização de card), e o usuário vê um balão 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 os cartões para receber as notificações push relacionadas a atualizações.
  • Uma notificação só é acionada se o horário de início do evento ou voo estiver em três horas ou menos para evitar o envio de spam aos usuários.
  • 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 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.
  • O campo notifyPreference é um campo temporário que só existe nessa solicitação. Para solicitações futuras em que você quiser acionar uma notificação, você terá que 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 o notifyPreference. Ao atualizar um campo em uma classe ou objeto, você pode 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, desde que o campo atualizado seja compatível.

Campos aceitos

EventTicketClass
  • eventName
  • eventVenue.name
  • eventvenue.address
  • eventDateTime.doorsOpen
  • eventDateTime.start
EventTicketObject
  • eventSeat.seat
  • eventSeat.row
  • eventSeat.section
  • eventSeat.gate

Notificações próximas

Esse recurso vai mostrar aos usuários que ativaram as notificações e concederam acesso preciso e sempre ativado à localização do app Carteira do Google uma notificação push lembrando que eles salvaram um cartão relevante para a localização atual.

Etapas de integração

Como usar

Para usar esse recurso, adicione locais às suas classes e objetos. É possível adicionar até 10 locais por classe e 10 por objeto. Use MerchantLocations na definição de classe ou objeto. Você pode adicionar esses locais ao usar os métodos insert, patch ou update.

Depois de adicionar locais a uma classe ou objeto, o Google vai enviar notificações aos usuários quando eles estiverem por perto. O Google decide a distância que um usuário precisa estar e por quanto tempo ele precisa permanecer na área antes que a notificação seja enviada. O Google também controla o texto da notificação.

Um exemplo de LoyaltyClass com o MerchantLocations definido:
{
  "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
    },
  ]
}

Comportamento esperado

Os usuários vão receber notificações fixas sobre os cartões quando estiverem em um dos MerchantLocations especificados. Se eles clicarem na notificação, o cartão será aberto na Carteira do Google. Os usuários podem dispensar a notificação com o gesto de deslizar. Quando um usuário sai do local, a notificação desaparece.

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

Próxima notificação

A Carteira do Google envia uma notificação ao usuário três horas antes do evento. O horário do evento é definido por class.dateTime.start.

Para receber essa notificação, o usuário precisa ter as notificações ativadas. Ele pode verificar isso ao navegar até Configurações > Notificações para ver 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 notificações ativadas nessa tela.

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

  class.eventName
  

Se ele tocar na notificação e desbloquear o dispositivo, o cartão será exibido 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 adicionados de acordo com as instruções em Agrupar vários ingressos de eventos, a notificação mostrará apenas um dos cartões do grupo. No entanto, depois de tocar na notificação, o usuário pode ver os outros cartões nesse grupo ao deslizar para a esquerda ou direita em.

A notificação é fixada e não será dispensada automaticamente depois que um usuário a abrir. Isso ocorrerá 60 minutos após class.dateTime.start.