Pular para o conteúdo principal
Badges são os pequenos pontos numerados que aparecem no ícone do seu aplicativo móvel. Eles ajudam a capturar a atenção do usuário e podem influenciar o comportamento de engajamento. No iOS em particular, badges requerem configuração adicional e oferecem controle flexível, conforme descrito abaixo.
Para notificações Android Web Push, o badge se refere ao pequeno ícone mostrado nas notificações—não no ícone do aplicativo—e pode ser personalizado. Veja Web Push Badges.

Badges do Android

O comportamento de badge do ícone de aplicativo Android pode ser gerenciado através de categorias de notificação do Android. Você pode controlar se uma categoria (canal) exibe um badge e definir o comportamento do badge por categoria.

Badges Huawei

Em dispositivos Huawei, um badge pode ser exibido como um número ou um ponto no ícone do aplicativo, dependendo das configurações do dispositivo do usuário. Badges ajudam a indicar mensagens não lidas ou ações pendentes, encorajando os usuários a abrir o aplicativo. O OneSignal permite que você controle as contagens de badges Huawei diretamente através do painel ou API.

Como os badges Huawei funcionam

O badge é exibido no ícone do aplicativo como uma contagem numérica ou um ponto, dependendo das configurações do dispositivo do usuário (Configurações > Notificações > Badges de ícone de aplicativo). Sua chamada de API controla a contagem subjacente; o dispositivo decide o estilo visual.

Parâmetros

ParâmetroTipoIntervaloDescrição
huawei_badge_classstring(Obrigatório) Nome de classe totalmente qualificado da Activity de lançamento do seu aplicativo (ex.: com.example.myapp.MainActivity). Informa ao sistema Huawei em qual ícone de aplicativo exibir o badge.
huawei_badge_set_numinteger0–99Define o badge para um número exato. 0 limpa o badge.
huawei_badge_add_numinteger1–99Incrementa a contagem de badge existente por esta quantidade.

Regras de comportamento

  • huawei_badge_class é obrigatório para qualquer operação de badge.
  • Se huawei_badge_set_num e huawei_badge_add_num forem fornecidos, huawei_badge_set_num tem prioridade.
  • Se nenhum for fornecido (mas huawei_badge_class estiver definido), a contagem de badge incrementa em 1 por padrão.

Enviar push Huawei com badges

  1. Vá para Messages > Push ou Templates
  2. Em Platform Settings > Send to Huawei Android > Badge
  3. Escolha uma das seguintes opções:
    • Não definir — o badge não é afetado por esta notificação
    • Definir para — define o badge para um número específico (0-99)
    • Aumentar em — incrementa a contagem de badge existente (1-99)

Limpando badges

A Huawei não limpa automaticamente o badge quando um usuário abre o aplicativo ou toca em uma notificação. Para limpar o badge, você tem duas opções:
  • Via API ou painel: Envie uma notificação com huawei_badge_set_num definido como 0 (ou use Definir para > 0 no painel). Pode ser uma notificação de dados/em segundo plano se você não quiser que uma notificação visível apareça.
  • Via código do lado do cliente: Seu aplicativo pode limpar o badge localmente usando a API de badge da Huawei. Isso requer a permissão com.huawei.android.launcher.permission.CHANGE_BADGE em seu AndroidManifest.xml. Consulte o guia de desenvolvimento de badges da Huawei para detalhes de implementação.
O parâmetro huawei_badge_set_num requer EMUI 10.0.0 ou posterior e Push SDK 10.1.0 ou posterior. Em dispositivos mais antigos, apenas huawei_badge_add_num é suportado.

Badges do iOS

Para garantir que as contagens de badge incrementem corretamente no iOS, você deve configurar:
  • O OneSignalNotificationServiceExtension
  • App Groups
Veja Configuração do SDK móvel para instruções completas. Por padrão, o SDK do OneSignal irá:
  1. Limpar o badge do ícone do aplicativo quando o aplicativo é aberto.
  2. Remover notificações da Central de Notificações.
Se você quiser manter as notificações e gerenciar a lógica de badge manualmente (por exemplo, usando seu próprio contador ou sincronizando o estado entre dispositivos), você pode desabilitar esse comportamento automático. Casos de uso comuns para controle manual de badge
  • Redefinir badge quando o aplicativo é iniciado ou retomado
  • Incrementar badge quando uma notificação é recebida em primeiro plano
  • Decrementar quando uma mensagem é lida ou descartada
  • Sincronizar estado de badge entre dispositivos ou extensões de aplicativo via App Groups ou seu backend

Desabilitar notificação automática e limpeza de badge

No info.plist do seu aplicativo, adicione a chave: OneSignal_disable_badge_clearing com tipo Boolean para o valor YES
Xcode Info.plist editor showing OneSignal_disable_badge_clearing set to YES
<key>OneSignal_disable_badge_clearing</key>
<true/>
Isso impede que o SDK remova automaticamente notificações ou redefina o badge quando o aplicativo abre.

Gerenciamento nativo de badge do iOS

Se você desabilitar a limpeza automática de badge do OneSignal, você pode usar as APIs nativas da Apple para controlar o comportamento do badge.
A Apple descontinuou UIApplication.shared.applicationIconBadgeNumber no iOS 17. Você deve agora usar os seguintes métodos do framework UserNotifications:
Definir contagem de badge Para definir o badge no ícone do aplicativo para um valor específico:
import UserNotifications
import UIKit

if #available(iOS 17.0, *) {
  UNUserNotificationCenter.current().setBadgeCount(5) { error in
    if let error = error {
      print("Failed to set badge count: \(error.localizedDescription)")
    } else {
      print("Badge count updated successfully.")
    }
  }
} else {
  UIApplication.shared.applicationIconBadgeNumber = 5
}
Obter contagem atual de badge O iOS não fornece um método para recuperar a contagem atual de badge do sistema. Você deve rastrear a contagem de badge no estado do seu aplicativo (por exemplo, usando UserDefaults, o modelo de dados do seu aplicativo ou sincronizando com seu backend).
// Example: Store and retrieve badge count using UserDefaults
let badgeCount = UserDefaults.standard.integer(forKey: "badgeCount")
// Update badge count as needed
UserDefaults.standard.set(badgeCount, forKey: "badgeCount")
Incrementar ou decrementar badge Você deve gerenciar a lógica de badge manualmente, pois mudanças relativas (como +1 ou -1) não são suportadas em payloads. Atualize sua contagem de badge armazenada e então defina-a:
// Example: Increment badge count and update system badge
let currentCount = UserDefaults.standard.integer(forKey: "badgeCount")
let updatedCount = max(0, currentCount + 1)
UserDefaults.standard.set(updatedCount, forKey: "badgeCount")

if #available(iOS 17.0, *) {
  UNUserNotificationCenter.current().setBadgeCount(updatedCount)
} else {
  UIApplication.shared.applicationIconBadgeNumber = updatedCount
}
Limpar badge Para remover o badge completamente:
if #available(iOS 17.0, *) {
  UNUserNotificationCenter.current().setBadgeCount(0)
} else {
  UIApplication.shared.applicationIconBadgeNumber = 0
}

Enviar push do iOS com badges

Você pode definir a contagem de badge no painel do OneSignal ou usando a API.
  1. Vá para Messages > Push ou Templates.
  2. Em Platform Settings > Send to Apple iOS > Badges.
  3. Escolha:
    • Definir para um número específico.
    • Aumentar por uma quantidade relativa.
OneSignal dashboard push message form showing iOS badge count options
Ao enviar notificações push do iOS, a contagem de badge muda com base nessas opções. Se o aplicativo estiver aberto, a contagem de badge será redefinida a menos que você desabilite a limpeza automática de badge.

FAQ

Por que a contagem de badge não está incrementando no iOS?

Certifique-se de ter configurado o OneSignalNotificationServiceExtension e os App Groups. Sem esses, as contagens de badge não podem incrementar corretamente. Veja Configuração do SDK móvel para instruções completas.

Como limpar badges no Huawei?

Envie uma notificação com huawei_badge_set_num definido como 0, ou use Definir para > 0 no painel. Você também pode usar uma notificação de dados/em segundo plano para limpar badges sem mostrar uma notificação visível. Alternativamente, limpe o badge do lado do cliente usando a API de badge da Huawei.

Posso definir badges para web push?

Não. Badges de ícone de aplicativo são suportados apenas no iOS, Android e Huawei. Para Android web push, o “badge” se refere ao pequeno ícone exibido na própria notificação — veja Web Push Badges.

Páginas relacionadas

Categorias de notificação do Android

Controle a exibição e o comportamento de badges por canal de notificação no Android.

Autorização Huawei

Configure o envio de mensagens push Huawei com o OneSignal.

Visão geral de push

Referência completa para recursos de notificação push, incluindo badges de web push.

Configuração do SDK móvel

Configure o SDK do OneSignal incluindo pré-requisitos de badge para iOS.