Skip to main content
O canal Push Notification (Mobile) envia notificações para o seu app iOS ou Android pelo Amazon SNS, com as credenciais da sua conta AWS. O custo de cada publicação é cobrado pela AWS. A OctaSend não registra aparelhos para este canal. O seu app e o seu backend cadastram cada aparelho no SNS e guardam o endpoint dele. Na hora do envio, você informa esse endpoint em recipient.push_token.
Canal opcional — fale com a OctaSend para ativar. Ele não faz parte dos canais incluídos nos planos. Enquanto não for liberado para a sua conta, Push Notification (Mobile) não aparece em Configurações → Canais nem nos canais das comunicações.

Como funciona

1

O app obtém o token do aparelho

O seu app pede a permissão de notificação e recebe o token de push da plataforma (APNs no iOS, FCM no Android).
2

O seu backend cadastra o aparelho no SNS

Com o token e o ARN da platform application do app, o seu backend cria um endpoint no SNS e recebe o Endpoint ARN daquele aparelho. Guarde esse valor junto do usuário no seu sistema.
3

Você dispara pela OctaSend

Chame o send-message com o Endpoint ARN em recipient.push_token. A OctaSend publica a notificação no SNS com as suas credenciais, e o SNS a entrega ao aparelho.

1. Preparar a conta AWS

1

Criar a platform application

No console do Amazon SNS, na área de push para mobile, crie uma platform application para cada plataforma do seu app (Apple/APNs para iOS, Firebase Cloud Messaging para Android), na região que você vai usar. Copie o ARN da platform application.
2

Criar a chave de acesso

No IAM, gere uma Access Key para um usuário com permissão de:
3

Registrar os aparelhos

Cada aparelho vira um endpoint na platform application, criado pelo seu backend (ação CreatePlatformEndpoint da API do SNS, com o token do aparelho). O resultado é um Endpoint ARN, por exemplo:
É esse valor que vai em recipient.push_token.

2. Configurar o canal

Em Configurações → Canais, clique em Configurar no cartão Push Notification (Mobile) e preencha:
  • Testar Conexão confere a região, a Access Key e o Secret direto no SNS, consultando a lista de platform applications da conta. Nada é enviado. Com tudo certo, a tela mostra “Conexão validada com sucesso!”.
  • Erros do teste: “Preencha todos os campos obrigatórios” (faltou região, Access Key ou Secret), “Access Key ID inválido” e “Secret Access Key incorreto”. Qualquer outra recusa mostra a mensagem da própria AWS — por exemplo, quando a chave não tem permissão para listar as platform applications.
  • Salvar Configuração grava e ativa o canal na hora, sem exigir o teste. A tela volta para a lista de canais, onde o cartão passa a mostrar Configurado.
  • Ao voltar à tela, a Access Key e o Secret aparecem mascarados. A região e o ARN aparecem como foram salvos. Deixe o campo mascarado como está para manter o valor guardado.
O Platform Application ARN fica salvo como referência do seu app, mas não é conferido pelo teste nem usado no envio: o destino de cada notificação é o endpoint informado em recipient.push_token. Por isso aparelhos iOS e Android podem receber pelo mesmo canal, desde que os endpoints estejam na região configurada e a chave tenha permissão para publicar neles.

3. Criar o template

Na tela da comunicação, adicione o canal Push Notification (Mobile) e crie a versão de cada idioma: Os dois campos aceitam variáveis {{var}}. O template não tem campos de imagem, link, som ou dados extras.
A OctaSend publica no SNS só o texto da mensagem e o título, sem um payload específico por plataforma (APNs ou FCM). Como a notificação aparece no aparelho — inclusive se o título é exibido — depende de como o SNS repassa esse texto a cada plataforma e de como o seu app trata a notificação. Valide num aparelho seu antes de usar em produção.
Para usar o Enviar teste do editor, preencha o campo Push token (Push Mobile) do Destinatário de Teste, em Configurações → Geral, com o Endpoint ARN de um aparelho seu. Sem ele, o editor avisa “Informe o push token do dispositivo no destinatário de teste, em Configurações, antes de testar o Push Mobile.” e não faz o envio. O teste usa o rascunho salvo da versão, se houver.

4. Enviar

  • O valor do canal em channels é push. O access token vem do fluxo descrito em Autenticação.
  • Sem recipient.push_token, o canal não é enviado. Se você não informou channels, ele é pulado em silêncio. Se pediu push em channels, o resultado vem como skipped com o erro “Destinatário sem os dados necessários para este canal — informe recipient.push_token”.
  • Canal não configurado na conta: o envio nem começa. O resultado vem como skipped com o erro Canal não configurado, e nada é registrado em Logs.
  • Recusa do SNS (endpoint desativado, endpoint de outra região ou chave sem permissão para publicar): o resultado vem como failed, e o error traz a resposta do SNS, com o código e a mensagem do erro.
  • Aceito pelo SNS: o resultado vem como sent, e o provider_message_id é o MessageId devolvido pelo SNS.
Idioma do template, variáveis, envio em lote e limite de envio por minuto seguem as mesmas regras dos outros canais. Veja Enviar mensagens.
Se a comunicação também tem o canal Push Notification (Navegador), o Web Push usa recipient.push_token como token do navegador sempre que recipient.fcm_token não é informado — mesmo quando o envio traz user_id. Num envio com user_id e push_token juntos, o Web Push falha em vez de usar o navegador registrado para aquele user_id. Nesse caso, faça duas chamadas: uma com "channels": ["push"] e o push_token, outra com "channels": ["web_push"] e o user_id.

Onde o canal funciona

O Push mobile depende do endpoint do aparelho, que só você tem. Por isso ele sai apenas quando o envio traz push_token:

5. Acompanhar

O envio aparece em Logs de mensagens com o canal Push Notification (Mobile):
  • Quando o envio não tem e-mail nem telefone, a coluna Destinatário mostra o endpoint. No detalhe do envio, ele aparece no campo Push token. Nos registros sem template no idioma, o endpoint não é gravado.
  • Enviada significa que o SNS aceitou a publicação. Este canal não recebe confirmação de entrega nem de clique: o status fica como Enviada.
  • Falhou traz o motivo, com a resposta do SNS quando foi ele que recusou.
Os mesmos registros podem ser consultados pela API em Consultar logs.

Enviar mensagens

Todos os parâmetros do send-message, respostas e erros.

Web Push

Para notificações no navegador, pelo Firebase, sem app.