Visão geral
Notificações push do iOS são essenciais para impulsionar o engajamento e retenção sustentados do usuário no seu aplicativo iOS. Elas permitem que você entregue atualizações em tempo real, lembretes e mensagens personalizadas diretamente aos seus usuários, melhorando a experiência geral do usuário e a aderência do seu aplicativo. Ao integrar o SDK do OneSignal com seu aplicativo, você pode aproveitar o Apple Push Notification Service (APNS) para garantir que suas notificações sejam entregues perfeitamente em dispositivos iOS. Este guia irá orientá-lo na integração do nosso SDK ao seu aplicativo iOS.Requisitos
- macOS com Xcode 14+ (instruções de configuração usam Xcode 16.2)
- Dispositivo com iOS 12+, iPadOS 12+, ou simulador Xcode rodando iOS 16.2+
- Aplicativo e plataforma OneSignal configurados
Configure your OneSignal app and platform
Required setup for push notifications To start sending push notifications with OneSignal, you must first configure your OneSignal app with all the platforms your support—Apple (APNs), Google (FCM), Huawei (HMS), and/or Amazon (ADM).Step-by-step instructions for configuring your OneSignal app.
Step-by-step instructions for configuring your OneSignal app.
Create or select your app
- To add platforms to an existing app, go to Settings > Push & In-App in the OneSignal dashboard.
- To start fresh, click New App/Website and follow the prompts.

Example shows creating a new app.
Set up and activate a platform
- Choose a clear and recognizable name for your app and organization.
- Select the platform(s) you want to configure (iOS, Android, etc.).
- Click Next: Configure Your Platform.

Example setting up your first OneSignal app, org, and channel.
Configure platform credentials
- Android: Set up Firebase Credentials
- iOS: p8 Token (Recommended) or p12 Certificate
- Amazon: Generate API Key
- Huawei: Authorize OneSignal
Choose target SDK

Select which SDK you are using to be navigated to the docs.
Install SDK and save your App ID

Save your App ID and invite additional team members.
Configuração do iOS
Siga estes passos para adicionar notificações push ao seu aplicativo iOS, incluindo suporte para Badges, Confirmed Delivery e imagens.1. Adicionar Push Notifications capability ao app target
A Push Notifications capability permite que seu aplicativo registre um token push e receba notificações.- Abra o arquivo
.xcworkspacedo seu aplicativo no Xcode. - Selecione seu app target > Signing & Capabilities
- Clique em + Capability e adicione a capability Push Notifications

O app target recebe a capability Push Notifications.
2. Adicionar Background Modes capability ao app target
Isso permite que seu aplicativo desperte em segundo plano quando notificações push chegarem.- Adicione a capability Background Modes
- Habilite Remote notifications

O app target recebe o modo de execução em segundo plano Remote Notifications.
3. Adicionar app target ao App Group
App Groups permitem compartilhamento de dados entre seu aplicativo e a Notification Service Extension. Necessário para Confirmed Delivery e Badges.- Se você NÃO tem um App Group configurado
- Se você TEM um App Group
- Adicione a capability App Groups
- Na capability App Groups clique em +
- Adicione um novo container ID no formato:
group.your_bundle_id.onesignal
- Mantenha o prefixo group. e sufixo .onesignal. Substitua
your_bundle_idpelo identificador de bundle do seu aplicativo. - Por exemplo, o identificador de bundle
com.onesignal.MyApp, terá o nome de containergroup.com.onesignal.MyApp.onesignal.

O app target faz parte do App Group.
4. Adicionar Notification Service Extension
A Notification Service Extension (NSE) habilita notificações ricas e análises de Confirmed Delivery.- No Xcode: File > New > Target…
- Selecione Notification Service Extension, depois Next.
- Defina o nome do produto como
OneSignalNotificationServiceExtensione pressione Finish. - Pressione Don’t Activate no prompt de Activate scheme.

Selecione o target Notification Service Extension.

Nomeie a Notification Service Extension.

Cancele a ativação para continuar depurando seu app target.

Defina o mesmo deployment target do aplicativo principal.
5. Adicionar NSE target ao app group
Use o mesmo App Group ID que você adicionou no passo 3.- Vá para OneSignalNotificationServiceExtension > Signing & Capabilities
- Adicione App Groups
- Adicione o mesmo group ID exato
group.your_bundle_id.onesignal, então certifique-se de adicionar seu App Group ID ao Info.plist tanto do App Target quanto do OneSignalNotificationServiceExtension Target! Veja o passo 3 para mais informações.
O NSE agora pertence ao mesmo app group do seu app target.
6. Atualizar código do NSE
- Navegue até a pasta OneSignalNotificationServiceExtension
- Substitua o conteúdo do arquivo
NotificationService.swiftouNotificationService.mpelo seguinte:

Navegue até seu arquivo NotificationService.

Este arquivo mostra um erro até você instalar o pacote no próximo passo.
Configuração do SDK
Esta seção irá guiá-lo na integração dos recursos principais do OneSignal. Ao final desta seção, você terá uma integração básica com nosso SDK permitindo que você acione mensagens no aplicativo e receba notificações push.1. Adicionar SDK
Adicione nosso SDK usando o Xcode Package Dependencies Manager ou CocoaPods. Existem 4 bibliotecas disponíveis. Se você não quer Mensagens no aplicativo e/ou rastreamento de localização, você pode omitir esses pacotes.| Biblioteca | Target | Necessário |
|---|---|---|
| OneSignalExtension | OneSignalNotificationServiceExtension | ✅ |
| OneSignalFramework | App | ✅ |
| OneSignalInAppMessages | App | Recomendado |
| OneSignalLocation | App | Opcional |
- Xcode Package Dependencies
- CocoaPods
https://github.com/OneSignal/OneSignal-iOS-SDKSelecione o pacote onesignal-ios-sdk e clique em Add Package.Escolha Package Products para OneSignal-iOS-SDK.- Importante: Adicione o OneSignalExtension ao OneSignalNotificationServiceExtension Target.
- Adicione o OneSignalFramework ao seu App Target.
- Se você planeja usar mensagens no aplicativo (recomendado) e/ou rastreamento de localização, então adicione esses pacotes ao seu App Target também.

Se seu aplicativo não requer rastreamento de localização, você pode remover o pacote conforme mostrado neste exemplo.
2. Inicializar SDK
Dependendo da configuração de interface do seu Xcode, inicialize o OneSignal seguindo estas opções.- SwiftUI
- Storyboard
<APP_NAME>App.swift e inicialize o OneSignal com os métodos fornecidos.Substitua YOUR_APP_ID pelo seu App ID do OneSignal encontrado no painel do OneSignal Settings > Keys & IDs. Se você não tem acesso ao aplicativo OneSignal, peça aos seus Team Members para convidá-lo.Testando a integração do OneSignal SDK
Este guia ajuda você a verificar se a integração do OneSignal SDK está funcionando corretamente testando notificações push, registro de assinatura e mensagens no aplicativo.Verificar assinaturas mobile
Inicie seu aplicativo em um dispositivo de teste.
requestPermission durante a inicialização.
Prompts de permissão push do iOS e Android
Verifique seu painel do OneSignal
- Vá para Audience > Subscriptions.
- Você deve ver uma nova entrada com o status “Never Subscribed”.

Painel mostrando assinatura com status 'Never Subscribed'
Retorne ao aplicativo e toque em Allow no prompt.
Atualize a página de Subscriptions do painel OneSignal.

Painel mostrando assinatura com status 'Subscribed'
Configurar assinaturas de teste
Assinaturas de teste são úteis para testar uma notificação push antes de enviar uma mensagem.Adicionar a Test Subscriptions.

Adicionando um dispositivo a Test Subscriptions
Nomeie sua assinatura.

Painel mostrando o campo 'Name your subscription'
Crie um segmento de usuários de teste.
Nomeie o segmento.
Test Users (o nome é importante porque será usado mais tarde).Adicione o filtro Test Users e clique em Create Segment.

Criando um segmento 'Test Users' com o filtro Test Users
Enviar push de teste via API
Obtenha sua App API Key e App ID.
Atualize o código fornecido.
YOUR_APP_API_KEY e YOUR_APP_ID no código abaixo pelas suas chaves reais. Este código usa o segmento Test Users que criamos anteriormente.Execute o código.
Verifique imagens e confirmed delivery.

Notificação push com imagem no iOS e Android
Verifique confirmed delivery.

Estatísticas de entrega mostrando confirmed delivery

Confirmed delivery no nível do dispositivo em Audience Activity
- Não recebeu imagem? Sua Notification Service Extension pode estar faltando.
- Não recebeu confirmed delivery? Revise o guia de solução de problemas aqui.
- Tendo problemas? Copie e cole a requisição api e um log do início ao fim do lançamento do aplicativo em um arquivo
.txt. Então compartilhe ambos comsupport@onesignal.com.
Enviar uma mensagem no aplicativo
Mensagens no aplicativo permitem que você se comunique com usuários enquanto eles estão usando seu aplicativo.Feche ou coloque seu aplicativo em segundo plano no dispositivo.
Crie uma mensagem no aplicativo.
- No seu painel OneSignal, navegue até Messages > In-App > New In-App.
- Encontre e selecione a mensagem Welcome.
- Defina seu Audience como o segmento Test Users que usamos anteriormente.

Segmentando o segmento 'Test Users' com uma mensagem no aplicativo
Personalize o conteúdo da mensagem se desejar.

Exemplo de personalização da mensagem Welcome no aplicativo
Defina Trigger como 'On app open'.
Agende a frequência.

Opções de agendamento de mensagem no aplicativo
Torne a mensagem ativa.
Abra o aplicativo e veja a mensagem.

Mensagem Welcome no aplicativo mostrada em dispositivos
- Inicie uma nova sessão
- Você deve fechar ou colocar o aplicativo em segundo plano por pelo menos 30 segundos antes de reabrir. Isso garante que uma nova sessão seja iniciada.
- Para mais informações, consulte como mensagens no aplicativo são exibidas.
- Ainda no segmento
Test Users?- Se você reinstalou ou trocou de dispositivo, adicione novamente o dispositivo às Test Subscriptions e confirme que ele faz parte do segmento Test Users.
- Tendo problemas?
- Siga Obtendo um Debug Log enquanto reproduz os passos acima. Isso gerará logging adicional que você pode compartilhar com
support@onesignal.come nós ajudaremos a investigar o que está acontecendo.
- Siga Obtendo um Debug Log enquanto reproduz os passos acima. Isso gerará logging adicional que você pode compartilhar com
- Coletar Assinaturas, definir Assinaturas de teste e criar Segmentos.
- Enviar Push com imagens e Confirmed Delivery usando Segmentos e nossa API Create message.
- Enviar Mensagens no aplicativo.
Identificação de usuário
Anteriormente, demonstramos como criar Assinaturas mobile. Agora vamos expandir para identificar Usuários através de todas as suas assinaturas (incluindo push, email e SMS) usando o OneSignal SDK. Vamos cobrir External IDs, tags, assinaturas multicanal, privacidade e rastreamento de eventos para ajudá-lo a unificar e engajar usuários através de plataformas.Atribuir External ID
Use um External ID para identificar usuários consistentemente através de dispositivos, endereços de email e números de telefone usando o identificador de usuário do seu backend. Isso garante que suas mensagens permaneçam unificadas através de canais e sistemas de terceiros (especialmente importante para Integrações). Defina o External ID com o métodologin do nosso SDK cada vez que eles forem identificados pelo seu aplicativo.
Adicionar tags de dados
Tags são pares chave-valor de dados string que você pode usar para armazenar propriedades de usuário (comousername, role ou preferências) e eventos (como purchase_date, game_level ou interações do usuário). Tags alimentam Personalização de mensagens e Segmentação avançadas permitindo casos de uso mais avançados.
Defina tags com os métodos addTag e addTags do nosso SDK conforme eventos ocorrem no seu aplicativo.
Neste exemplo, o usuário alcançou o nível 6 identificável pela tag chamada current_level definida com um valor de 6.

Um perfil de usuário no OneSignal com uma tag chamada "current_level" definida como "6"

Editor de segmento mostrando um segmento direcionando usuários com um valor de current_level maior que 4 e menor que 10

Captura de tela mostrando uma notificação push direcionando o segmento Level 5-10 com uma mensagem personalizada

A notificação push é recebida em um dispositivo iOS e Android com o conteúdo personalizado
Adicionar assinaturas de email e/ou SMS
Anteriormente vimos como nosso SDK cria assinaturas mobile para enviar mensagens push e no aplicativo. Você também pode alcançar usuários através de canais de email e SMS criando as assinaturas correspondentes.- Use o método
addEmailpara criar assinaturas de email. - Use o método
addSmspara criar assinaturas de SMS.

Um perfil de usuário com assinaturas push, email e SMS unificadas por External ID
- Obtenha consentimento explícito antes de adicionar assinaturas de email ou SMS.
- Explique os benefícios de cada canal de comunicação aos usuários.
- Forneça preferências de canal para que os usuários possam selecionar quais canais eles preferem.
Privacidade e consentimento do usuário
Para controlar quando o OneSignal coleta dados do usuário, use os métodos de controle de consentimento do SDK:setConsentRequired(true): Previne coleta de dados até que o consentimento seja dado.setConsentGiven(true): Habilita coleta de dados uma vez que o consentimento seja concedido.
Solicitar permissões push
Em vez de chamarrequestPermission() imediatamente ao abrir o aplicativo, adote uma abordagem mais estratégica. Use uma mensagem no aplicativo para explicar o valor das notificações push antes de solicitar permissão.
Para melhores práticas e detalhes de implementação, consulte nosso guia Solicitar permissões push.
Ouvir eventos de push, usuário e mensagens no aplicativo
Use os listeners do SDK para reagir a ações do usuário e mudanças de estado. O SDK fornece vários event listeners para você se conectar. Consulte nosso guia de referência do SDK para mais detalhes.Eventos de notificação push
addClickListener(): Detecta quando uma notificação é tocada. Útil para Deep Linking.addForegroundLifecycleListener(): Controla como notificações se comportam em primeiro plano.
Mudanças de estado do usuário
addObserver()para estado do usuário: Detecta quando o External ID é definido.addPermissionObserver(): Rastreia a interação específica do usuário com o prompt de permissão push nativo.addObserver()para assinatura push: Rastreia quando o status da assinatura push muda.
Eventos de mensagens no aplicativo
addClickListener(): Manipula ações de clique em mensagens no aplicativo. Ideal para deep linking ou rastreamento de eventos.addLifecycleListener(): Rastreia o ciclo de vida completo de mensagens no aplicativo (mostradas, clicadas, dispensadas, etc.).
Configuração avançada e capacidades
Explore mais capacidades para aprimorar sua integração:- 🔁 Migrando para o OneSignal de outro serviço
- 🌍 Rastreamento de localização
- 🔗 Deep Linking
- 🔌 Integrações
- 🧩 Mobile Service Extensions
- 🛎️ Botões de ação
- 🌐 Mensagens em vários idiomas
- 🛡️ Verificação de identidade
- 📊 Outcomes customizados
- 📲 Live Activities
Configuração e referência do Mobile SDK
Certifique-se de ter habilitado todos os recursos principais revisando o guia de Configuração de push mobile. Para detalhes completos sobre métodos disponíveis e opções de configuração, visite a Referência do Mobile SDK.support@onesignal.comPlease include:- Details of the issue you’re experiencing and steps to reproduce if available
- Your OneSignal App ID
- The External ID or Subscription ID if applicable
- The URL to the message you tested in the OneSignal Dashboard if applicable
- Any relevant logs or error messages