- Registrar tokens VoIP em seu aplicativo usando o Apple PushKit
- Criar um aplicativo OneSignal dedicado com um certificado VoIP Services
- Registrar tokens e enviar pushs pela API REST do OneSignal
Diferenças de plataforma
| Plataforma | Push VoIP suportado? | Como funciona |
|---|---|---|
| iOS | Yes | Usa Apple PushKit e um certificado APNs VoIP |
| Android | No | Usa pushs somente de dados para simular comportamento de chamada |
iOS: enviar notificações push VoIP
No iOS, as notificações VoIP usam o Apple PushKit e seguem regras especiais de entrega que diferem das notificações push padrão. Como a Apple trata os pushs VoIP de forma diferente, o OneSignal requer uma configuração de aplicativo separada para VoIP.Registrar um token VoIP usando PushKit
Use o framework PushKit da Apple para se registrar para notificações VoIP e receber um token VoIP.
Recursos da Apple:
- Implemente o PushKit em seu aplicativo
- Armazene e atualize o token VoIP conforme a Apple o alterna
- Siga atentamente as políticas de VoIP da Apple
Exemplo: implementação do delegate PushKit
Exemplo: implementação do delegate PushKit
Este é o código padrão do Apple PushKit. O OneSignal não fornece um SDK para PushKit — você registra o token você mesmo e o passa para o OneSignal na Etapa 4.
Criar um aplicativo OneSignal separado para VoIP
Os pushs VoIP do iOS requerem um tipo de certificado diferente das notificações push padrão. Um único aplicativo OneSignal pode usar apenas um tipo de certificado, portanto você deve criar dois aplicativos OneSignal separados:
- Aplicativo Push Principal: Usa seu certificado APNs para notificações push padrão
- Aplicativo Push VoIP: Usa um certificado VoIP Services para notificações exclusivamente VoIP
O bundle ID (ex.:
com.suaempresa.nomedoapp) é encontrado no Xcode na aba General do seu target.Fazer upload de um certificado VoIP Services
No seu aplicativo VoIP do OneSignal, faça upload de um Certificado VoIP Services (.p12). Este é um tipo de certificado diferente do certificado APNs push padrão usado para notificações regulares.Para criar um:

- Acesse o Portal do Desenvolvedor Apple
- Selecione VoIP Services Certificate
- Siga as instruções para gerar e baixar o certificado
- Abra-o no Keychain Access e exporte-o como arquivo
.p12 - Faça upload do arquivo
.p12nas configurações de iOS do seu aplicativo VoIP do OneSignal


Registrar o token VoIP com o OneSignal
Use a API Create User para registrar o token VoIP com seu aplicativo VoIP do OneSignal.Para atualizar o token posteriormente, use a API Update Subscription.
Um token VoIP válido é uma string hexadecimal minúscula de 64 caracteres (ex.:
a1b2c3d4e5f6...). O PushKit não funciona no Simulador do iOS — você deve usar um dispositivo real para obter um token válido.Enviar notificações VoIP
Use a API Create Notification com os seguintes parâmetros:
"apns_push_type_override": "voip"— informa à Apple que este é um push VoIPapp_id— o ID do seu aplicativo VoIPinclude_subscription_ids— o ID de assinatura VoIP que você registroucontentsoucontent_availableé obrigatório
Verificar sua configuração VoIP
Sua integração VoIP do iOS está funcionando corretamente se:
- O token VoIP aparece como uma assinatura de push do iOS no seu aplicativo VoIP
- Um push VoIP aciona
pushRegistry(_:didReceiveIncomingPushWith:for:completion:)em seu aplicativo - O aplicativo desperta mesmo quando está encerrado ou em segundo plano
Android: simular comportamento estilo VoIP
O Android não oferece suporte a notificações push VoIP. Não há equivalente ao Apple PushKit. Em vez disso, os aplicativos de chamadas do Android simulam o comportamento VoIP usando:- Notificações push somente de dados
- Serviços em primeiro plano
- Interface de usuário personalizada estilo chamada
- Enviar notificações somente de dados
- Tratá-las em seu aplicativo para:
- Iniciar um serviço em primeiro plano
- Iniciar uma atividade de interface de chamada
- Exibir uma notificação personalizada de chamada recebida
A configuração do Android não é específica do OneSignal. O OneSignal apenas entrega a carga do push; seu aplicativo lida com o comportamento da chamada.
Perguntas frequentes
As entregas confirmadas funcionam com VoIP?
Não. As Entregas Confirmadas não são rastreadas para pushs VoIP. As Entregas Confirmadas dependem da Notification Service Extension, que não é acionada para notificações VoIP. Em vez disso, rastreie o recebimento por meio do evento nativo PushKit do iOS:Posso enviar notificações VoIP pelo painel do OneSignal?
Não. As notificações VoIP devem ser enviadas pela API Create Notification com"apns_push_type_override": "voip". O painel não oferece suporte a este parâmetro.
Por que meu push VoIP está falhando silenciosamente?
Os pushs VoIP podem falhar sem nenhum erro da API do OneSignal. Passe por esta lista de verificação:- Você está usando uma compilação sandbox/desenvolvimento? Você deve incluir
"test_type": 1ao registrar o token pela API Create User. Sem isso, o token é registrado como produção, a Apple rejeita o push e ele falha silenciosamente. - Você fez upload do certificado correto? O aplicativo VoIP do OneSignal deve usar um Certificado VoIP Services (.p12), não um certificado APNs push padrão. Ambos parecem semelhantes no Keychain Access — verifique se o nome do certificado começa com “VoIP Services”.
- Você está enviando para o aplicativo OneSignal correto? O
app_idna sua solicitação de envio deve ser o seu aplicativo VoIP, não o seu aplicativo de push principal. AREST API Keytambém deve vir do aplicativo VoIP. - O token VoIP é válido? Os tokens expiram quando o aplicativo é reinstalado ou o dispositivo é restaurado. Verifique se o token é uma string hexadecimal minúscula de 64 caracteres e foi registrado recentemente.
- Seu aplicativo chama
reportNewIncomingVoIPPushPayload? A partir do iOS 13, a Apple encerra aplicativos que recebem um push VoIP, mas não reportam uma chamada ao CallKit. Este é um requisito da Apple, não uma limitação do OneSignal.
Páginas relacionadas
API Create message
Envie notificações push programaticamente usando a API REST.
Entregas confirmadas
Rastreie a confirmação de entrega de notificações push em plataformas compatíveis.
Extensões de serviço
Personalize o tratamento de notificações com Notification Service Extensions.
API Create User
Registre usuários e assinaturas com a API do OneSignal.