Pular para o conteúdo principal
Os modos de foco ajudam os usuários do iOS a controlar quando e como eles recebem notificações permitindo modos separados como Trabalho, Sono e Pessoal. Cada modo ajusta a visibilidade e o comportamento de entrega da notificação. Para suportar casos de uso importantes como alertas de emergência ou segurança de conta, a Apple introduziu Níveis de interrupção para controlar como e quando as notificações aparecem—mesmo quando os modos de foco estão ativos.

Níveis de interrupção

Os níveis de interrupção determinam a urgência e o comportamento de entrega das notificações. Existem quatro níveis:

Active (padrão)

Notificações de prioridade padrão. Estas incluem som, vibração e comportamento de despertar a tela. Elas não contornam os modos de foco.

Time Sensitive

Comporta-se como Active mas inclui um banner especial. Notificações Time Sensitive podem romper os modos de foco e entrega agendada. Use apenas quando atenção urgente do usuário for necessária.

Passive

Notificações de baixa prioridade. Sem som ou vibração. Elas não interrompem o usuário e não rompem os modos de foco.

Critical

Notificações de prioridade mais alta. Contornam todos os controles do dispositivo e modos de foco. Usadas para emergências como clima severo ou alertas de saúde. Requer aprovação prévia da Apple para habilitar. Veja Configuração de alertas críticos para mais detalhes.

Exemplo. Imagem mostrando notificações que são time-sensitive.


Como definir o nível de interrupção no OneSignal

Ao enviar um push do painel do OneSignal, você encontrará Notification Interruption Level em Apple iOS Settings. O padrão é Active. Se estiver usando a Create notification API, use estes parâmetros:
  • ios_interruption_level: Defina como "active", "time-sensitive", "passive" ou "critical"
  • ios_relevance_score: Valor numérico opcional de 0 a 1 para indicar importância para ordenação de entrega.

Configuração de alertas críticos

Alertas críticos:
  • Ignoram o Não Perturbe e o interruptor de silencioso.
  • São reservados para casos de alta prioridade (por exemplo, saúde, segurança).
  • Requerem aprovação explícita da Apple, e os usuários devem fazer opt-in separadamente mesmo se tiverem habilitado notificações push normais.

Solicitar autorização da Apple para alertas críticos

  1. Revise a documentação da Apple e clique em fill out the request form.
  2. Escolha a solicitação de autorização de alertas críticos.
  3. Preencha o formulário e envie a solicitação.
  4. Aguarde a revisão e aprovação da Apple.

Adicionar a autorização de alertas críticos ao seu aplicativo

Assim que a Apple aprovar sua solicitação:
  1. Abra seu arquivo .entitlements no Xcode (ou crie um se você não tiver).
  2. Adicione:
<key>com.apple.developer.usernotifications.critical-alerts</key>
<true/>
  1. Certifique-se de que seu perfil de provisionamento inclui esta autorização:
  • Regenere seu perfil de provisionamento no portal Apple Developer se necessário.
  • Baixe e adicione-o novamente ao Xcode.

Solicitar permissão de alerta crítico no código do seu aplicativo

A permissão de alerta crítico é separada da permissão push padrão e deve ser solicitada assim (usando Swift):
import UserNotifications

UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .sound, .badge, .criticalAlert]) { granted, error in
    if let error = error {
        print("Authorization error: \(error)")
    } else {
        print("Critical alert permission granted: \(granted)")
    }
}
Você deve solicitar isso após obter a permissão push padrão, idealmente no seu fluxo de onboarding.

Testar alertas críticos

  1. Compile e execute seu aplicativo.
  2. Envie um push de teste seguindo os passos acima em Como definir o nível de interrupção no OneSignal.

Documentos relacionados