Acionar notificações push

Notificações acionadas por parceiros

Adicionar mensagem e notificar

Contexto

Depois que um usuário adicionar um cartão, talvez você queira 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 acontece:

  1. Um item Mensagem é adicionado ao "verso 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 (também conhecido como visualização de cartão), e uma caixa de texto aparece na parte de cima da tela com um botão "Ver mensagem".
  3. Ao clicar no destaque, os usuários acessam 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 para os usuários

  • Os usuários precisam ativar as notificações para receber as notificações push relacionadas a mensagens.
  • As mensagens podem conter URIs para seu site ou app. Os hiperlinks precisam ser de um site ou app relacionado ao cartão. É uma violação da Política de uso aceitável enviar usuários para links não relacionados ao cartão.
  • É 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 reduzir sua cota de entrega de notificações push se considerar que você está enviando spam para seus 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 regular 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 o 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 uma 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 uma mensagem e notificar em um objeto de cartão

  
  "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 Response para adicionar uma mensagem e notificar sobre 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.

Notificações próximas

Esse recurso mostra aos usuários que ativaram as notificações e concederam acesso preciso e constante à localização no app Google Carteira 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. É possível adicionar esses locais ao usar os métodos insert, patch ou update.

Depois de adicionar locais a uma classe ou objeto, o Google envia notificações aos usuários quando eles estão por perto. O Google decide a proximidade e o tempo que um usuário precisa ficar na área para que a notificação seja enviada. O Google também controla o texto da notificação.

Exemplo de uma 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 a pessoa clicar 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 sair do local, a notificação vai desaparecer.