
Imagem mostrando botões de ação no iOS
Este guia aplica-se apenas a notificações push. Para mensagens no aplicativo, consulte Mensagens no Aplicativo: Como adicionar Ações de Clique.
Adicionar botões de ação
Você pode configurar Botões de Ação em Modelos, diretamente ao compor uma mensagem no painel ou via API.Configuração do painel e modelo
Ao criar um push, abra Opções Avançadas > Botões de Ação.
Imagem mostrando botões de ação a serem adicionados para iOS e Android
Configuração da API
- Aplicativos Móveis: Use o parâmetro
buttons. Passe um array de até 3 objetos comid,texteicon. - Web (Chrome): Use
web_buttons, passando até 2 objetos comid,text,iconeurl.
Propriedades do botão de ação
-
ID da Ação: Um identificador único para a ação específica do botão. O ID do botão clicado é passado para você para que possa identificar qual botão foi clicado. (ex: ‘accept-button’)
- Deve ser único por botão.
- Disponível no Payload OSNotification e pode ser acessado dentro do Manipulador de Eventos de Notificação Aberta do SDK.
- API: propriedade
id
-
Rótulo: O texto que o botão deve exibir aos seus usuários. (ex: ‘Aceitar’)
- API: propriedade
text
- API: propriedade
-
Ícone: Ícone opcional exibido com o rótulo do botão. Não disponível em todas as plataformas e sistemas operacionais. Consulte as Perguntas Frequentes abaixo para detalhes.
- Aplicativos móveis devem incluir o botão dentro de seus recursos de imagem. Consulte Ícones de Botão de Ação abaixo para detalhes.
- Sites podem usar uma URL publicamente acessível válida para um ícone. Mantenha-o pequeno porque é baixado em cada exibição de notificação. (ex:
http://site.com/icon.png) - API: propriedade
icon
-
URL do Botão: A URL a ser aberta quando a notificação for clicada. Passe
'do_not_open'para evitar abrir qualquer URL. (ex: ‘do_not_open’)- Apenas Web
- API: propriedade
url
Ícones de botão de ação
- iOS suporta ícones de botão de ação para iOS 15+
- Android parou de suportar ícones de botão de ação para Android N (também conhecido como 7)
Lidar com cliques no botão de ação
Quando um usuário toca em um botão, o OneSignal entrega o ID da Ação ao seu aplicativo/site. Você pode usar o comportamento padrão (abrir seu aplicativo/site) ou substituí-lo.Comportamento padrão (Abrir App/Site, Depois Manipular)
- O aplicativo/site abre (ou recebe foco na web).
- Seu ouvinte de clique/abertura recebe o evento com o ID da Ação. (Consulte referência do SDK móvel ou referência do SDK web para detalhes do ouvinte de clique.)
Evitar inicialização do aplicativo a partir de cliques no botão de ação
- Android: Siga Configuração do SDK Android > Desabilitar comportamento de abertura padrão. Isso permite interceptar cliques em uma Extensão de Serviço e executar lógica personalizada (ex: chamar uma API) sem abrir o aplicativo.
- iOS: Inclua um
ios_categoryna notificação para associar ações via Objeto UNNotificationCategory. Consulte Declarando Seus Tipos de Notificação Acionáveis da Apple para mais detalhes. - Web (Chrome): Use a string mágica
_osp=do_not_openpara evitar abrir qualquer URL. Isso é suportado no Chrome e Firefox, mas não é suportado no navegador Safari.
Plataformas suportadas e limites
| Plataforma | Botões Suportados | Notas |
|---|---|---|
| iOS | Até 4 | Ícones no iOS 15+. Requer categorias para manipulação em segundo plano. |
| Android / Amazon / Huawei | Até 3 | Sem ícones de botão a partir do Android 7+. |
| Web – Chrome | Até 2 | Botões e ícones suportados. _osp=do_not_open suportado. |
| Web – Firefox | Sem botões | _osp=do_not_open funciona apenas para a URL de inicialização. |
| Web – Safari | Sem botões | _osp=do_not_open não suportado. Forneça uma URL real. |
Os usuários geralmente precisam expandir a notificação para ver os botões (ex: pressão longa no iOS, deslizar + Visualizar em alguns OEMs Android).
Solução de problemas
Os botões não aparecem
- Expanda a notificação (pressão longa, deslizar + Visualizar ou expandir).
- Verifique se você adicionou ID da Ação e Rótulo para cada botão.
- Verifique os limites da plataforma (ex: apenas 2 botões no Chrome).
Clicar em um botão não abre o navegador na web móvel
Se o navegador estiver em segundo plano ou totalmente fechado, a maioria dos navegadores móveis (incluindo o Chrome) não virá para o primeiro plano ou abrirá a URL, mesmo que os eventos de clique ainda sejam acionados no service worker. Este é um comportamento intencional do navegador para evitar que aplicativos em segundo plano interrompam o usuário.- A maioria dos navegadores móveis não se trazem para o primeiro plano a partir de um service worker em segundo plano. Os cliques ainda são disparados no worker, mas a aba não abre. Isso é intencional.
- Certifique-se de que a URL de inicialização e a URL do botão sejam exatamente idênticas (incluindo barras finais) se você espera que a aba receba foco em vez de abrir uma nova.
Os ícones não aparecem
- iOS deve ser 15+ para ícones de botão.
- Android 7+ não renderiza ícones de botão de ação.
- Na web, confirme que a URL do ícone é publicamente acessível e pequena (rápida de baixar).
Por que há um botão de ação de fechar?
Por padrão, as notificações push da web no Windows 10 incluem o botão Fechar. No entanto, se você adicionar seu próprio botão de ação, este botão de fechar é removido. Portanto, em qualquer caso, a notificação permanecerá na tela até que o usuário interaja com ela. Isso foi projetado pelo Google para dar aos usuários a chance de interagir com a notificação.Precisa de ajuda?Converse com nossa equipe de Suporte ou envie email para
support@onesignal.comPor favor inclua:- Detalhes do problema que você está enfrentando e passos para reproduzir se disponível
- Seu OneSignal App ID
- O External ID ou Subscription ID se aplicável
- A URL para a mensagem que você testou no Dashboard OneSignal se aplicável
- Quaisquer logs ou mensagens de erro relevantes