Guideline 4.5.4: notificações push rejeitadas pela Apple
Por Mehdi Azizi
Publicado em , 9 min
Guideline 4.5.4: notificação promocional exige consentimento explícito no app e uma forma de sair, e o app precisa funcionar sem notificações.
A guideline 4.5.4 regula as notificações push. Seu app precisa funcionar sem elas, nunca colocar informação sensível nelas e nunca usá-las para promoção sem consentimento. Uma notificação de marketing exige um consentimento escrito dentro do app e um botão para retirá-lo, além da permissão do iOS.
Eu publico meus próprios apps iOS com Expo. No TradaZen, meu simulador de trading, tirei uma notificação que anunciava um desconto e coloquei no lugar um lembrete sem oferta, informado ao reviewer. Este guia se baseia no texto da Apple, na licença de desenvolvedor, na documentação dela e nesse caso. Para ter a visão geral dos motivos de rejeição, leia por que a Apple rejeita um app.
O que diz a guideline 4.5.4?
A regra fica na seção 4 "Design", parte 4.5 "Apple Sites and Services", das App Review Guidelines. Daí o título da rejeição: "Guideline 4.5.4 - Design - Apple Sites and Services". O texto define três limites.
- Nada de notificação obrigatória. "Push Notifications must not be required for the app to function." Recusar a janela do iOS não pode bloquear nada.
- Nada de informação sensível. Elas "should not be used to send sensitive personal or confidential information". Uma notificação aparece na tela bloqueada, à vista de qualquer pessoa.
- Nada de promoção sem consentimento. O marketing é proibido "unless customers have explicitly opted in to receive them via consent language displayed in your app's UI", com "a method in your app for a user to opt out".
A última frase avisa que abusos podem custar o acesso ao serviço. Duas regras vizinhas completam o quadro. A 4.5.3 proíbe spam por notificação. A 5.1.2(i) proíbe exigir a ativação das notificações para acessar uma função, um conteúdo ou uma recompensa.
O que a licença de desenvolvedor acrescenta
As guidelines falam de notificações push. O anexo 1 do Apple Developer Program License Agreement, que você aceitou ao se inscrever, vai além em três pontos.
- As notificações locais também entram. O artigo 2.2 fala em "the APN or Local Notifications". Um lembrete agendado no app, sem servidor, segue a mesma regra.
- A promoção é definida de forma ampla. Ela inclui venda adicional e "sending any messages to promote the use of Your Application or advertise the availability of new features or versions".
- A janela do iOS é intocável. O artigo 1.3 proíbe contornar o painel de consentimento da Apple. Se o consentimento for recusado ou retirado, você não envia mais nada.
Minha leitura: uma mensagem "volte para o app" fica perto de promoção, mesmo sem preço. A Apple não decide esse caso, e é por isso que eu informo esse tipo de lembrete ao reviewer.
O que significa a mensagem de rejeição 4.5.4?
A rejeição mais bem documentada envolve um app que não funciona sem notificações. Num tópico do fórum B4X de 2018, a Apple escreve: "Push notifications must be optional and must obtain the user's consent to be used within the app." O desenvolvedor depois relata uma tela preta após recusar a permissão. A hipótese levantada no tópico: uma interface que esperava o token de notificação para aparecer.
Parta do princípio de que o reviewer recusa as permissões para ver o que acontece. Se o app trava, insiste ou tira uma função, cai a 4.5.4 ou a 5.1.2(i). Para marketing sem consentimento, não encontrei nenhuma mensagem de rejeição pública recente.
Qual consentimento para qual notificação?
Minha tabela cruza o texto da Apple, a licença e o guia de interface. As linhas "fim do teste" e "lembrete de retorno" são minha leitura, não uma posição escrita da Apple.
| Tipo de notificação | Consentimento exigido | Exemplo em conformidade |
|---|---|---|
| Resposta a uma ação | Janela do iOS | "Sua exportação está pronta" |
| Lembrete escolhido | Janela do iOS | Lição do dia às 19h |
| Fim do teste, renovação | Janela do iOS | "Seu teste termina no dia 12" |
| Lembrete de retorno | Janela do iOS + cautela | Sem preço, uma única vez |
| Oferta ou desconto | Janela do iOS + consentimento | Opção marcada no app |
| Novidades do app | Janela do iOS + consentimento | Envio só para inscritos |
| Mensagem privada, saúde | Nunca mostrar o conteúdo | "Nova mensagem" |
| Notificação provisória | Nenhuma janela no início | Chega sem som nem banner |
"Janela do iOS" é a permissão do sistema. "Consentimento" é uma escolha separada no seu app: uma frase que diz o que você vai enviar e um botão desligado por padrão.
Os lembretes de assinatura e as ofertas
A página Managing notifications do guia de interface da Apple cita a assinatura: uma pessoa pode gostar de "an offer to become a subscriber", se tiver aceitado notificações de marketing. Ela acrescenta duas obrigações: uma tela de ajustes no app para mudar de ideia, e nunca usar o nível "Time Sensitive" para marketing.
A fronteira que eu adoto: um lembrete que informa sobre uma compra já feita não é oferta, uma mensagem que incentiva a comprar é. "Seu teste termina no dia 12" informa. "50% de desconto por 24h" vende. A tela de compra que a notificação abre continua sujeita à regra 3.1.2.
As notificações suaves, ou provisórias
A Apple fala em "provisional authorization" na sua documentação sobre permissões. O app pode enviar sem mostrar a janela do iOS. As notificações chegam sem som nem banner, só no histórico da central de notificações, com botões para mantê-las ou desativá-las. Com Expo, é uma opção do requestPermissionsAsync:
import * as Notifications from "expo-notifications";
await Notifications.requestPermissionsAsync({
ios: {
allowAlert: true,
allowBadge: true,
allowSound: true,
allowProvisional: true,
},
});
O campo ios.status fica então em IosAuthorizationStatus.PROVISIONAL enquanto a pessoa não escolher. A notificação provisória substitui a janela do iOS, não o consentimento de marketing. Uma promoção enviada como provisória continua sendo promoção.
Cuidado com o vocabulário. No TradaZen, chamo de "notificação suave" um lembrete de tom tranquilo, enviado só se a janela do iOS foi aceita. Isso não é uma permissão provisória.
Implementar o consentimento explícito com Expo
- Peça a permissão do iOS no contexto certo. A Apple recomenda pedir depois de uma ação que mostre o valor dela, não na primeira abertura. No TradaZen, ela aparece por exemplo depois de uma recompensa do onboarding ou de uma lição concluída. Mesma lógica do pedido de avaliação.
- Adicione um consentimento de marketing separado. Um botão desligado por padrão, com uma frase clara, por exemplo: "Receber ofertas e novidades, no máximo uma vez por semana."
- Ofereça uma tela de ajustes. Lembretes e ofertas se desativam dentro do app, não só nos Ajustes do iOS.
- Filtre no envio. Seu servidor, ou seu agendador local, só envia promoção para quem aceitou.
- Deixe tudo funcionar sem. Recusar não bloqueia nenhuma tela, função ou recompensa.
TradaZen: a notificação que eu tirei
Em 12 de outubro de 2026, uma versão do TradaZen foi rejeitada com base na regra 5.6, que trata de compras obtidas por manipulação. A Apple não aponta o elemento em questão. Então reli todo o funil de compra, incluindo as notificações.
Uma notificação era problemática. Sair do app durante o onboarding ou na tela de assinatura agendava esta mensagem local: "Tenho um desconto exclusivo só pra você." Ela dependia só da permissão do iOS, sem consentimento de marketing separado. É a promoção sem consentimento explícito que a 4.5.4 e a licença descrevem. Apaguei a mensagem nos trinta idiomas do app.
No lugar dela, um lembrete único: "Sua jornada está te esperando. Volte quando quiser, sem pressa." Os limites dele:
- só é enviado se as notificações estiverem autorizadas;
- uma única vez por instalação, cinco minutos depois de sair do onboarding ou da tela de assinatura;
- é cancelado se a pessoa voltar antes;
- nenhum preço, nenhum desconto, nenhum cronômetro, nenhum som.
Esse lembrete continua na zona cinzenta descrita acima. Não escondi: ele está descrito nas notas de revisão e na minha resposta ao reviewer. Um lembrete declarado se discute, um lembrete escondido parece manobra.
Como responder a uma rejeição 4.5.4?
A conversa acontece no App Store Connect, onde você responde à mensagem do App Review. Corrija primeiro: tire a obrigatoriedade, adicione o consentimento de marketing ou limpe o texto, e gere um novo build. O modelo que eu usaria, para adaptar:
Hello,
Thank you for your feedback on Guideline 4.5.4.
In the new build:
- The app works fully if notifications are denied.
- Promotional notifications are sent only to users
who turn on "[toggle name]" in [screen]. It is off
by default and can be turned off at any time.
- Notifications never include [sensitive data].
How to test:
1. Deny notifications at the first prompt.
2. Open [feature]: it works without them.
3. Open [screen] to see both toggles.
Best regards,
A checklist 4.5.4 antes do envio
- O app pode ser usado por completo depois de recusar a permissão, sem tela travada nem recompensa retirada.
- A janela do iOS aparece depois de uma ação útil, nunca na primeira tela.
- Toda promoção, local ou remota, depende de um consentimento de marketing desligado por padrão.
- Uma tela de ajustes no app desativa lembretes e ofertas.
- Nenhum texto de notificação mostra dado de saúde, valor ou mensagem privada.
- Nenhuma promoção no nível "Time Sensitive".
- As notas de revisão listam as notificações enviadas nos primeiros dias.
- Você testou o fluxo recusando cada permissão. O guia do TestFlight mostra como instalar seu build para esse teste.
Revisar seu envio antes de mandar
O Review Kit reúne minha checklist pré-envio, modelos de notas para o testador e skills do Claude Code que revisam seu projeto. Se quiser um olhar humano, reserve uma hora comigo: revisamos juntos suas notificações e sua tela de ajustes, por videochamada. O processo completo está na página app rejeitado pela Apple.
Está preparando seu primeiro lançamento? Faça seu diagnóstico gratuito: ele coloca as etapas em ordem e te envia minha checklist contra rejeições da Apple.
Perguntas frequentes
O que significa "Guideline 4.5.4 - Design - Apple Sites and Services"?
É o título da rejeição quando a Apple considera suas notificações obrigatórias, indiscretas demais ou promocionais sem consentimento. Leia a frase que vem depois do título: ela diz o que o reviewer constatou.
Posso pedir as notificações durante o onboarding?
Sim, se recusar não bloquear nada e se o pedido vier depois de um momento que mostre o valor delas. Nunca condicione uma recompensa ao consentimento: a 5.1.2(i) proíbe isso.
Uma notificação de fim de teste é marketing?
Minha leitura: não, se ela só informa sobre o teste em andamento. Se oferecer um desconto ou outra assinatura, vira promoção e exige o consentimento de marketing.
As notificações locais entram na 4.5.4?
A guideline fala de notificações push, mas o anexo 1 da licença de desenvolvedor aplica a regra sobre promoção às notificações locais. Trate as duas do mesmo jeito.
Uma notificação provisória dispensa o consentimento de marketing?
Não. Ela evita a janela do iOS no início, mas promoção continua sendo promoção: precisa de um consentimento explícito no app e de uma forma de sair.

