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:
- 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.
- 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".
- 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 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.