- Registrar tokens VoIP en tu app usando Apple PushKit
- Crear una app de OneSignal dedicada con un Certificado de Servicios VoIP
- Registrar tokens y enviar pushes a través de la API REST de OneSignal
Diferencias de plataforma
| Plataforma | ¿Push VoIP admitido? | Cómo funciona |
|---|---|---|
| iOS | Yes | Usa Apple PushKit y un certificado APNs VoIP |
| Android | No | Usa pushes de solo datos para simular comportamiento de llamada |
iOS: enviar notificaciones push VoIP
En iOS, las notificaciones VoIP usan Apple PushKit y siguen reglas de entrega especiales que difieren de las notificaciones push estándar. Dado que Apple trata los pushes VoIP de manera diferente, OneSignal requiere una configuración de app separada para VoIP.Registrar un token VoIP usando PushKit
Usa el framework PushKit de Apple para registrarte en notificaciones VoIP y recibir un token VoIP.
Recursos de Apple:
- Implementa PushKit en tu app
- Almacena y actualiza el token VoIP a medida que Apple lo rota
- Sigue de cerca las políticas VoIP de Apple
Ejemplo: implementación del delegado PushKit
Ejemplo: implementación del delegado PushKit
Este es código estándar de Apple PushKit. OneSignal no proporciona un SDK de PushKit — tú registras el token por tu cuenta y lo pasas a OneSignal en el Paso 4.
Crear una app de OneSignal separada para VoIP
Los pushes VoIP de Apple requieren un tipo de certificado diferente al de las notificaciones push estándar. Una sola app de OneSignal solo puede usar un tipo de certificado, por lo que debes crear dos apps de OneSignal separadas:
- App Push Principal: Usa tu certificado APNs para notificaciones push estándar
- App Push VoIP: Usa un Certificado de Servicios VoIP exclusivamente para notificaciones VoIP
El bundle ID (por ejemplo,
com.yourcompany.appname) se encuentra en Xcode, en la pestaña General de tu target.Subir un Certificado de Servicios VoIP
En tu app VoIP de OneSignal, sube un Certificado de Servicios VoIP (.p12). Este es un tipo de certificado diferente al certificado push APNs estándar que usas para las notificaciones regulares.Para crearlo:

- Ve al Portal de Desarrolladores de Apple
- Selecciona VoIP Services Certificate
- Sigue los pasos para generar y descargar el certificado
- Ábrelo en Acceso a Llaveros y expórtalo como archivo
.p12 - Sube el archivo
.p12a la configuración de iOS de tu app VoIP en OneSignal


Registrar el token VoIP con OneSignal
Usa la API Create User para registrar el token VoIP con tu app VoIP de OneSignal.Para actualizar el token más tarde, usa la API Update Subscription.
Un token VoIP válido es una cadena hexadecimal en minúsculas de 64 caracteres (por ejemplo,
a1b2c3d4e5f6...). PushKit no funciona en el Simulador de iOS — debes usar un dispositivo real para obtener un token válido.Enviar notificaciones VoIP
Usa la API Create Notification con los siguientes parámetros:
"apns_push_type_override": "voip"— indica a Apple que este es un push VoIPapp_id— el ID de tu app VoIPinclude_subscription_ids— el ID de suscripción VoIP que registraste- Se requiere
contentsocontent_available
Verificar tu configuración VoIP
Tu integración VoIP de iOS funciona correctamente si:
- El token VoIP aparece como una suscripción push de iOS en tu app VoIP
- Un push VoIP activa
pushRegistry(_:didReceiveIncomingPushWith:for:completion:)en tu app - La app se activa incluso cuando está finalizada o en segundo plano
Android: simular comportamiento tipo VoIP
Android no admite notificaciones push VoIP. No existe un equivalente a Apple PushKit. En su lugar, las apps de llamadas en Android simulan el comportamiento VoIP usando:- Notificaciones push de solo datos
- Servicios en primer plano
- Interfaz de usuario de llamada personalizada
- Enviar notificaciones de solo datos
- Manejarlas en tu app para:
- Iniciar un servicio en primer plano
- Lanzar una actividad de interfaz de llamada
- Mostrar una notificación de llamada entrante personalizada
La configuración de Android no es específica de OneSignal. OneSignal solo entrega la carga útil del push; tu app gestiona el comportamiento de llamada.
Preguntas frecuentes
¿Las entregas confirmadas funcionan con VoIP?
No. Las Entregas Confirmadas no se rastrean para pushes VoIP. Las Entregas Confirmadas dependen de la Extensión de Servicio de Notificación, que no se activa para las notificaciones VoIP. En su lugar, rastrea la recepción a través del evento nativo PushKit de iOS:¿Puedo enviar notificaciones VoIP desde el panel de OneSignal?
No. Las notificaciones VoIP deben enviarse a través de la API Create Notification con"apns_push_type_override": "voip". El panel no admite este parámetro.
¿Por qué mi push VoIP falla silenciosamente?
Los pushes VoIP pueden fallar sin ningún error por parte de la API de OneSignal. Revisa esta lista de verificación:- ¿Estás usando una compilación sandbox/desarrollo? Debes incluir
"test_type": 1al registrar el token a través de la API Create User. Sin él, el token se registra como producción, Apple rechaza el push y falla silenciosamente. - ¿Subiste el certificado correcto? La app VoIP de OneSignal debe usar un Certificado de Servicios VoIP (.p12), no un certificado push APNs estándar. Ambos se ven similares en Acceso a Llaveros — verifica que el nombre del certificado comience con “VoIP Services”.
- ¿Estás enviando a la app de OneSignal correcta? El
app_iden tu solicitud de envío debe ser el de tu app VoIP, no el de tu app push principal. LaREST API Keytambién debe provenir de la app VoIP. - ¿El token VoIP es válido? Los tokens expiran cuando la app se reinstala o el dispositivo se restaura. Verifica que el token sea una cadena hexadecimal en minúsculas de 64 caracteres y que haya sido registrado recientemente.
- ¿Tu app llama a
reportNewIncomingVoIPPushPayload? A partir de iOS 13, Apple finaliza las apps que reciben un push VoIP pero no reportan una llamada a CallKit. Este es un requisito de Apple, no una limitación de OneSignal.
Páginas relacionadas
API de creación de mensajes
Envía notificaciones push mediante programación usando la API REST.
Entregas confirmadas
Rastrea la confirmación de entrega de notificaciones push en plataformas compatibles.
Extensiones de servicio
Personaliza el manejo de notificaciones con Extensiones de Servicio de Notificación.
API de creación de usuarios
Registra usuarios y suscripciones con la API de OneSignal.