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