Envoyez des notifications push VoIP sur iOS avec OneSignal via l’enregistrement de jetons PushKit et un certificat VoIP, ainsi que des alternatives Android pour un comportement de type appel.
Les notifications push VoIP permettent à votre application de recevoir des alertes d’appel entrant même lorsqu’elle est en arrière-plan ou terminée. Apple gère les pushs VoIP différemment des notifications push standard — ils utilisent un type de certificat distinct, un jeton distinct (via PushKit) et des règles de livraison différentes.OneSignal prend en charge l’envoi de pushs VoIP, mais le SDK OneSignal ne gère pas l’enregistrement des jetons VoIP. Vous êtes responsable de :
L’enregistrement des jetons VoIP dans votre application avec Apple PushKit
La création d’une application OneSignal dédiée avec un certificat VoIP Services
L’enregistrement des jetons et l’envoi des pushs via l’API REST OneSignal
Sur iOS, les notifications VoIP utilisent Apple PushKit et suivent des règles de livraison spéciales qui diffèrent des notifications push standard. Parce qu’Apple traite les pushs VoIP différemment, OneSignal nécessite une configuration d’application distincte pour VoIP.
Avant de commencer — voici les erreurs de configuration VoIP les plus courantes :
Ne pas créer d’application OneSignal distincte pour VoIP. Apple exige un type de certificat différent pour VoIP, OneSignal a donc besoin d’une application dédiée pour envoyer des pushs VoIP. Votre application push existante ne peut pas être utilisée pour les deux.
Télécharger le mauvais certificat. Vous avez besoin d’un certificat VoIP Services (.p12), pas de votre certificat push APNs standard. Utiliser le mauvais entraîne des échecs de livraison silencieux.
Oublier test_type en sandbox. Lors des tests avec un build de développement, vous devez inclure "test_type": 1 lors de l’enregistrement du jeton. Sans cela, l’appel API réussit mais les pushs n’arrivent jamais.
1
Enregistrer un jeton VoIP avec PushKit
Utilisez le framework PushKit d’Apple pour vous enregistrer aux notifications VoIP et recevoir un jeton VoIP.
Implémentez PushKit dans votre application
Stockez et rafraîchissez le jeton VoIP lorsqu’Apple le fait tourner
Il s’agit de code Apple PushKit standard. OneSignal ne fournit pas de SDK PushKit — vous enregistrez le jeton vous-même et le transmettez à OneSignal à l’étape 4.
Créer une application OneSignal distincte pour VoIP
Les pushs VoIP Apple nécessitent un type de certificat différent des notifications push standard. Une seule application OneSignal ne peut utiliser qu’un seul type de certificat, vous devez donc créer deux applications OneSignal distinctes :
Application Push Principale : Utilise votre certificat APNs pour les notifications push standard
Application Push VoIP : Utilise un certificat VoIP Services pour les notifications VoIP uniquement
Les deux applications doivent utiliser le même ID de bundle iOS et être associées à la même application iOS native. Vous n’avez pas besoin d’initialiser le SDK OneSignal deux fois — l’application VoIP est uniquement utilisée côté serveur pour envoyer des pushs VoIP via l’API.
L’ID de bundle (par ex. com.yourcompany.appname) se trouve dans Xcode sous l’onglet General de votre cible.
3
Télécharger un certificat VoIP Services
Dans votre application VoIP OneSignal, téléchargez un certificat VoIP Services (.p12). Il s’agit d’un type de certificat différent du certificat push APNs standard que vous utilisez pour les notifications ordinaires.Pour en créer un :
Suivez les instructions pour générer et télécharger le certificat
Ouvrez-le dans Trousseau d’accès et exportez-le en fichier .p12
Téléchargez le fichier .p12 dans les paramètres iOS de votre application VoIP OneSignal
Ne téléchargez pas votre certificat push APNs standard dans l’application VoIP. Si vous utilisez le mauvais type de certificat, l’API acceptera votre requête push mais Apple la rejettera et la notification n’arrivera jamais.
Certificat VoIP dans Trousseau d'accès
Certificat VoIP téléchargé dans le tableau de bord OneSignal
4
Enregistrer le jeton VoIP avec OneSignal
Utilisez l’API Create User pour enregistrer le jeton VoIP avec votre application VoIP OneSignal.
Les builds sandbox/développement nécessitent "test_type": 1. Si vous omettez ce champ, l’appel API réussit et ne renvoie aucune erreur, mais Apple traite le jeton comme production et rejette silencieusement chaque push qui lui est envoyé.
Un jeton VoIP valide est une chaîne hexadécimale minuscule de 64 caractères (par ex. a1b2c3d4e5f6...). PushKit ne fonctionne pas sur le simulateur iOS — vous devez utiliser un appareil réel pour obtenir un jeton valide.
Pour mettre à jour le jeton ultérieurement, utilisez l’API Update Subscription.
Android ne prend pas en charge les notifications push VoIP. Il n’existe pas d’équivalent à Apple PushKit.Au lieu de cela, les applications d’appel Android simulent le comportement VoIP en utilisant :
Des notifications push de données uniquement
Des services de premier plan
Une interface utilisateur d’appel personnalisée
Vous pouvez utiliser la prise en charge push Android normale de OneSignal combinée avec des API Android natives pour y parvenir.Approche recommandée :
Envoyer des notifications de données uniquement
Les gérer dans votre application pour :
Démarrer un service de premier plan
Lancer une activité d’interface d’appel
Afficher une notification d’appel entrant personnalisée
Si vous souhaitez intercepter et contrôler entièrement le rendu des notifications, utilisez l’Extension de Service de Notification d’Android.Ressources utiles :
La configuration Android n’est pas spécifique à OneSignal. OneSignal ne fait que livrer la charge utile push ; votre application gère le comportement d’appel.
Les livraisons confirmées fonctionnent-elles avec VoIP ?
Non. Les Livraisons Confirmées ne sont pas suivies pour les pushs VoIP. Les livraisons confirmées reposent sur l’Extension de Service de Notification, qui ne se déclenche pas pour les notifications VoIP.Au lieu de cela, suivez la réception via l’événement PushKit iOS natif :
Cet événement fait partie de votre cible d’application principale et ne nécessite pas d’extension séparée. Consultez la documentation VoIP d’Apple pour plus de détails.
Puis-je envoyer des notifications VoIP depuis le tableau de bord OneSignal ?
Non. Les notifications VoIP doivent être envoyées via l’API Create Notification avec "apns_push_type_override": "voip". Le tableau de bord ne prend pas en charge ce paramètre.
Pourquoi mon push VoIP échoue-t-il silencieusement ?
Les pushs VoIP peuvent échouer sans aucune erreur de l’API OneSignal. Parcourez cette liste de vérification :
Utilisez-vous un build sandbox/développement ? Vous devez inclure "test_type": 1 lors de l’enregistrement du jeton via l’API Create User. Sans cela, le jeton s’enregistre comme production, Apple rejette le push et il échoue silencieusement.
Avez-vous téléchargé le bon certificat ? L’application VoIP OneSignal doit utiliser un certificat VoIP Services (.p12), pas un certificat push APNs standard. Les deux se ressemblent dans Trousseau d’accès — vérifiez que le nom du certificat commence par “VoIP Services”.
Envoyez-vous vers la bonne application OneSignal ? Le app_id dans votre requête d’envoi doit être votre application VoIP, pas votre application push principale. La REST API Key doit également provenir de l’application VoIP.
Le jeton VoIP est-il valide ? Les jetons expirent lors de la réinstallation de l’application ou de la restauration de l’appareil. Vérifiez que le jeton est une chaîne hexadécimale minuscule de 64 caractères et qu’il a été enregistré récemment.
Votre application appelle-t-elle reportNewIncomingVoIPPushPayload ? Depuis iOS 13, Apple termine les applications qui reçoivent un push VoIP mais ne signalent pas un appel à CallKit. Il s’agit d’une exigence Apple, pas d’une limitation OneSignal.
Envoyez des notifications push par programme en utilisant l’API REST.
Livraisons confirmées
Suivez la confirmation de livraison des notifications push sur les plateformes prises en charge.
Extensions de service
Personnalisez la gestion des notifications avec les Extensions de Service de Notification.
API Create User
Enregistrez des utilisateurs et des abonnements avec l’API OneSignal.
Cette page vous a-t-elle été utile ?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"OneSignal Documentation","description":"OneSignal is a platform for sending push notifications, emails, in-app messages, and SMS campaigns via a single API, Journey Builder, and a dashboard.","colors":{"primary":"#3A3DB3","light":"#E54B4D","dark":"#3A3DB3"},"logo":{"light":"https://mintcdn.com/onesignal/yJcueeDCO7UpHnnY/logo/OneSignal-Logo.svg?fit=max\u0026auto=format\u0026n=yJcueeDCO7UpHnnY\u0026q=85\u0026s=1fcfb6fef6d820fd9d99c74850711107","dark":"https://mintcdn.com/onesignal/s4WC_KzLxf8ornqq/logo/OneSignal-Logo-White.svg?fit=max\u0026auto=format\u0026n=s4WC_KzLxf8ornqq\u0026q=85\u0026s=2573a53b5aea961e18c82b3af8f31925"},"favicon":"https://mintcdn.com/onesignal/SGduBFHpiRdg5l6h/favicon.ico?fit=max\u0026auto=format\u0026n=SGduBFHpiRdg5l6h\u0026q=85\u0026s=c0a99fadc0553c658a83741c5611cef4","api":{"examples":{"languages":["curl","typescript","python","php","go","ruby","java","csharp","rust"],"autogenerate":true}},"navbar":{"links":[{"href":"mailto:support@onesignal.com","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://dashboard.onesignal.com"}},"footer":{"socials":{"github":"https://github.com/OneSignal","linkedin":"https://linkedin.com/company/onesignal","youtube":"https://www.youtube.com/@onesignalofficial/playlists"}},"seo":{"metatags":{"apple-mobile-web-app-title":"OneSignal Docs"}},"fonts":{"family":"Nunito Sans"},"styling":{"eyebrows":"breadcrumbs","latex":true},"integrations":{"ga4":{"measurementId":"G-2DGWL0VYP5"},"posthog":{"apiKey":"phc_vZpvE0f5eyzcOt30FHer34yddVmNdo9kmlMVRBzLMtn","apiHost":"https://eu.i.posthog.com","sessionRecording":true}},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"navigation":{"languages":[{"language":"en","href":"docs/en/home"},{"language":"cn","href":"docs/cn/home"},{"language":"ko","href":"docs/ko/home"},{"language":"ja","href":"docs/ja/home"},{"language":"tr","href":"docs/tr/home"},{"language":"pt-BR","href":"docs/pt-BR/home"},{"language":"es","href":"docs/es/home"},{"language":"fr","href":"docs/fr/home"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"onesignal","hasAudioNarration":false,"actualSubdomain":"onesignal","customDomains":["documentation.onesignal.com"],"gitSource":{"type":"github","owner":"onesignal","repo":"mintlify-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aee76d2161a823262d5e93f","clientVersion":"0.0.4076","searchFilterCounts":[{"language":"en","tag":"User Guides","count":203},{"language":"es","tag":"Guías del Usuario","count":178},{"language":"fr","tag":"Guides utilisateur","count":178},{"language":"ja","tag":"ユーザーガイド","count":178},{"language":"ko","tag":"사용자 가이드","count":178},{"language":"pt-BR","tag":"Guia do Usuário","count":178},{"language":"tr","tag":"Kullanıcı Kılavuzları","count":178},{"language":"cn","tag":"用户指南","count":176},{"language":"en","tag":"Message channels","count":90},{"language":"es","tag":"Canales de mensajería","count":84},{"language":"fr","tag":"Canaux de messagerie","count":84},{"language":"ja","tag":"メッセージングチャネル","count":84},{"language":"ko","tag":"메시지 채널","count":84},{"language":"pt-BR","tag":"Canais de mensagem","count":84},{"language":"tr","tag":"Mesaj kanalları","count":84},{"language":"cn","tag":"消息渠道","count":83},{"language":"default","tag":"API Reference","count":68},{"language":"default","tag":"API reference","count":64},{"language":"en","tag":"Analytics \u0026 Integrations","count":53},{"language":"es","tag":"Analítica \u0026 Integraciones","count":52},{"language":"fr","tag":"Analyses et intégrations","count":52},{"language":"ja","tag":"分析 \u0026 統合","count":52},{"language":"ko","tag":"분석 \u0026 통합","count":52},{"language":"pt-BR","tag":"Análises \u0026 Integrações","count":52},{"language":"tr","tag":"Analitik ve Entegrasyonlar","count":52},{"language":"cn","tag":"分析和集成","count":51},{"language":"cn","tag":"开发者指南","count":48},{"language":"es","tag":"Guías del desarrollador","count":48},{"language":"fr","tag":"Guides développeur","count":48},{"language":"ja","tag":"開発者ガイド","count":48},{"language":"ko","tag":"개발자 가이드","count":48},{"language":"tr","tag":"Geliştirici Kılavuzları","count":48},{"language":"en","tag":"Developer Guides","count":47},{"language":"pt-BR","tag":"Guia de desenvolvedor","count":47},{"language":"en","tag":"Integrations","count":37},{"language":"es","tag":"Integraciones","count":37},{"language":"fr","tag":"Intégrations","count":37},{"language":"ja","tag":"統合","count":37},{"language":"ko","tag":"통합","count":37},{"language":"pt-BR","tag":"Integrações","count":37},{"language":"tr","tag":"Entegrasyonlar","count":37},{"language":"cn","tag":"集成","count":36},{"language":"en","tag":"Tutorials","count":35},{"language":"cn","tag":"推送通知","count":31},{"language":"cn","tag":"OneSignal 作为目的地","count":31},{"language":"en","tag":"Push","count":31},{"language":"en","tag":"OneSignal as destination","count":31},{"language":"es","tag":"Push notificaciones","count":31},{"language":"es","tag":"OneSignal como destino","count":31},{"language":"fr","tag":"Push","count":31},{"language":"fr","tag":"OneSignal comme destination","count":31},{"language":"ja","tag":"プッシュ通知","count":31},{"language":"ja","tag":"OneSignal as 宛先","count":31},{"language":"ko","tag":"푸시","count":31},{"language":"ko","tag":"OneSignal을 데이터 목적지로 사용","count":31},{"language":"pt-BR","tag":"Push notificações","count":31},{"language":"pt-BR","tag":"OneSignal como destino","count":31},{"language":"tr","tag":"Anlık bildirimler","count":31},{"language":"tr","tag":"OneSignal hedef","count":31},{"language":"en","tag":"Mobile SDKs","count":26},{"language":"cn","tag":"移动SDK","count":25},{"language":"es","tag":"SDKs móviles","count":25},{"language":"fr","tag":"SDK mobiles","count":25},{"language":"ja","tag":"モバイルSDK","count":25},{"language":"ko","tag":"모바일 SDKs","count":25},{"language":"pt-BR","tag":"SDKs móveis","count":25},{"language":"tr","tag":"Mobil SDK'lar","count":25},{"language":"cn","tag":"教程","count":24},{"language":"es","tag":"Tutoriales","count":24},{"language":"fr","tag":"Tutoriels","count":24},{"language":"ja","tag":"チュートリアル","count":24},{"language":"ko","tag":"튜토리얼","count":24},{"language":"pt-BR","tag":"Tutoriais","count":24},{"language":"tr","tag":"Eğitimler","count":24},{"language":"en","tag":"Mobile SDK setup","count":19},{"language":"cn","tag":"移动SDK设置","count":18},{"language":"es","tag":"Configuración del SDK móvil","count":18},{"language":"fr","tag":"Configuration SDK mobile","count":18},{"language":"ja","tag":"モバイルSDKセットアップ","count":18},{"language":"ko","tag":"모바일 SDK 설정","count":18},{"language":"pt-BR","tag":"Configuração do SDK móvel","count":18},{"language":"tr","tag":"Mobil SDK kurulumu","count":18},{"language":"default","tag":"Messages","count":9},{"language":"default","tag":"Users","count":9},{"language":"default","tag":"Organization","count":9},{"language":"default","tag":"Journeys","count":8},{"language":"default","tag":"Deprecated","count":6},{"language":"default","tag":"Templates","count":6},{"language":"default","tag":"Subscriptions","count":6},{"language":"default","tag":"Segments","count":5}]},"assistantConfig":{"enableStarterQuestions":false,"deflection":{"enabled":true,"email":"support@onesignal.com","showHelpButton":true}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[],"page":{"pagePath":"docs/fr/voip-notifications","slug":"/docs/fr/voip-notifications","pageMetadata":{"title":"Notifications push VoIP","description":"Envoyez des notifications push VoIP sur iOS avec OneSignal via l'enregistrement de jetons PushKit et un certificat VoIP, ainsi que des alternatives Android pour un comportement de type appel.","keywords":["VoIP push notifications","iOS VoIP","PushKit","VoIP token","VoIP Services Certificate","android call notification"],"href":"/docs/fr/voip-notifications"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Envoyez des notifications push VoIP sur iOS avec OneSignal via l’enregistrement de jetons PushKit et un certificat VoIP, ainsi que des alternatives Android pour un comportement de type appel.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,hr:`hr`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,Card,CodeBlock,Columns,Frame,Heading,Info,Note,OptimizedImage,Step,Steps,Table,Warning}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!Card)_missingMdxReference(`Card`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Columns)_missingMdxReference(`Columns`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!Note)_missingMdxReference(`Note`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Les notifications push VoIP permettent à votre application de recevoir des alertes d’appel entrant même lorsqu’elle est en arrière-plan ou terminée. Apple gère les pushs VoIP différemment des notifications push standard — ils utilisent un type de certificat distinct, un jeton distinct (via PushKit) et des règles de livraison différentes.`}),`\n`,_jsxs(_components.p,{children:[`OneSignal prend en charge l’`,_jsx(_components.strong,{children:`envoi`}),` de pushs VoIP, mais le SDK OneSignal ne gère `,_jsx(_components.strong,{children:`pas`}),` l’enregistrement des jetons VoIP. Vous êtes responsable de :`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`L’enregistrement des jetons VoIP dans votre application avec Apple PushKit`}),`\n`,_jsx(_components.li,{children:`La création d’une application OneSignal dédiée avec un certificat VoIP Services`}),`\n`,_jsx(_components.li,{children:`L’enregistrement des jetons et l’envoi des pushs via l’API REST OneSignal`}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`différences-entre-plateformes`,children:`Différences entre plateformes`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Plateforme`}),_jsx(_components.th,{children:`Push VoIP supporté ?`}),_jsx(_components.th,{children:`Fonctionnement`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`iOS`})}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`Utilise Apple PushKit et un certificat APNs VoIP`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Android`})}),_jsx(_components.td,{children:`No`}),_jsx(_components.td,{children:`Utilise des pushs de données uniquement pour simuler un comportement d’appel`})]})]})]}),`\n`,_jsx(_components.p,{children:`Si vous créez une application d’appel multiplateforme, vous utiliserez des approches différentes par plateforme.`}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`ios--envoyer-des-notifications-push-voip`,children:`iOS : envoyer des notifications push VoIP`}),`\n`,_jsx(_components.p,{children:`Sur iOS, les notifications VoIP utilisent Apple PushKit et suivent des règles de livraison spéciales qui diffèrent des notifications push standard. Parce qu’Apple traite les pushs VoIP différemment, OneSignal nécessite une configuration d’application distincte pour VoIP.`}),`\n`,_jsxs(Warning,{children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Avant de commencer`}),` — voici les erreurs de configuration VoIP les plus courantes :`]}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Ne pas créer d’application OneSignal distincte pour VoIP.`}),` Apple exige un type de certificat différent pour VoIP, OneSignal a donc besoin d’une application dédiée pour envoyer des pushs VoIP. Votre application push existante ne peut pas être utilisée pour les deux.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Télécharger le mauvais certificat.`}),` Vous avez besoin d’un `,_jsx(_components.strong,{children:`certificat VoIP Services (.p12)`}),`, pas de votre certificat push APNs standard. Utiliser le mauvais entraîne des échecs de livraison silencieux.`]}),`\n`,_jsxs(_components.li,{children:[_jsxs(_components.strong,{children:[`Oublier `,_jsx(_components.code,{children:`test_type`}),` en sandbox.`]}),` Lors des tests avec un build de développement, vous devez inclure `,_jsx(_components.code,{children:`\"test_type\": 1`}),` lors de l’enregistrement du jeton. Sans cela, l’appel API réussit mais les pushs n’arrivent jamais.`]}),`\n`]})]}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Enregistrer un jeton VoIP avec PushKit`,children:[_jsx(_components.p,{children:`Utilisez le framework PushKit d’Apple pour vous enregistrer aux notifications VoIP et recevoir un jeton VoIP.`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Implémentez PushKit dans votre application`}),`\n`,_jsx(_components.li,{children:`Stockez et rafraîchissez le jeton VoIP lorsqu’Apple le fait tourner`}),`\n`,_jsx(_components.li,{children:`Suivez de près les politiques VoIP d’Apple`}),`\n`]}),_jsxs(Accordion,{title:`Exemple : implémentation du délégué PushKit`,id:`exemple-implementation-du-delegue-pushkit`,children:[_jsx(CodeBlock,{filename:``,numberOfLines:`14`,language:`swift`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`swift`,children:_jsxs(_components.code,{language:`swift`,numberOfLines:`14`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` PushKit`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`class`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` AppDelegate`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`NSObject`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`PKPushRegistryDelegate `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` func`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` registerForVoIPPushes`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`() {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` let`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` registry `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` PKPushRegistry`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`queue`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: .`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`main`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` registry.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`delegate`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` self`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` registry.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`desiredPushTypes`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` [.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`voIP`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`]`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` func`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` pushRegistry`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`_`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` registry`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: PKPushRegistry, `}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`didUpdatePushCredentials`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` credentials`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: PKPushCredentials, `}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`for`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` type`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: PKPushType) {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` let`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` token `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` credentials.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`token`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`map`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`String`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`format`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"%02x\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`$0`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) }.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`joined`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`()`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // Transmettez ce jeton à OneSignal — voir l'étape 4`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),_jsx(Note,{children:`Il s’agit de code Apple PushKit standard. OneSignal ne fournit pas de SDK PushKit — vous enregistrez le jeton vous-même et le transmettez à OneSignal à l’étape 4.`})]}),_jsx(_components.p,{children:`Ressources Apple :`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://developer.apple.com/documentation/pushkit`,children:`Documentation PushKit`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://developer.apple.com/documentation/pushkit/responding_to_voip_notifications_from_pushkit`,children:`Répondre aux pushs VoIP`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://developer.apple.com/library/content/documentation/Performance/Conceptual/EnergyGuide-iOS/OptimizeVoIP.html`,children:`Meilleures pratiques VoIP d’Apple`})}),`\n`]})]}),_jsxs(Step,{title:`Créer une application OneSignal distincte pour VoIP`,children:[_jsxs(_components.p,{children:[`Les pushs VoIP Apple nécessitent un type de certificat différent des notifications push standard. Une seule application OneSignal ne peut utiliser qu’un seul type de certificat, vous devez donc créer `,_jsx(_components.strong,{children:`deux applications OneSignal distinctes`}),` :`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Application Push Principale`}),` : Utilise votre certificat APNs pour les notifications push standard`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Application Push VoIP`}),` : Utilise un certificat VoIP Services pour les notifications VoIP uniquement`]}),`\n`]}),_jsxs(_components.p,{children:[`Les deux applications doivent utiliser le même ID de bundle iOS et être associées à la même application iOS native. Vous n’avez `,_jsx(_components.strong,{children:`pas`}),` besoin d’initialiser le SDK OneSignal deux fois — l’application VoIP est uniquement utilisée côté serveur pour envoyer des pushs VoIP via l’API.`]}),_jsxs(Note,{children:[`L’ID de bundle (par ex. `,_jsx(_components.code,{children:`com.yourcompany.appname`}),`) se trouve dans Xcode sous l’onglet `,_jsx(_components.strong,{children:`General`}),` de votre cible.`]})]}),_jsxs(Step,{title:`Télécharger un certificat VoIP Services`,children:[_jsxs(_components.p,{children:[`Dans votre application VoIP OneSignal, téléchargez un `,_jsx(_components.strong,{children:`certificat VoIP Services (.p12)`}),`. Il s’agit d’un type de certificat différent du certificat push APNs standard que vous utilisez pour les notifications ordinaires.`]}),_jsx(_components.p,{children:`Pour en créer un :`}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Accédez au `,_jsx(_components.a,{href:`https://developer.apple.com/account/resources/certificates/add`,children:`Portail Développeur Apple`})]}),`\n`,_jsxs(_components.li,{children:[`Sélectionnez `,_jsx(_components.strong,{children:`VoIP Services Certificate`})]}),`\n`,_jsx(_components.li,{children:`Suivez les instructions pour générer et télécharger le certificat`}),`\n`,_jsxs(_components.li,{children:[`Ouvrez-le dans Trousseau d’accès et exportez-le en fichier `,_jsx(_components.code,{children:`.p12`})]}),`\n`,_jsxs(_components.li,{children:[`Téléchargez le fichier `,_jsx(_components.code,{children:`.p12`}),` dans les paramètres iOS de votre application VoIP OneSignal`]}),`\n`]}),_jsx(Warning,{children:_jsxs(_components.p,{children:[`Ne téléchargez `,_jsx(_components.strong,{children:`pas`}),` votre certificat push APNs standard dans l’application VoIP. Si vous utilisez le mauvais type de certificat, l’API acceptera votre requête push mais Apple la rejettera et la notification n’arrivera jamais.`]})}),_jsx(Frame,{caption:`Certificat VoIP dans Trousseau d'accès`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/onesignal/jFWn5xzleD8du3j6/images/docs/6101554-Screen_Shot_2020-04-26_at_1.07.52_PM.png?fit=max\u0026auto=format\u0026n=jFWn5xzleD8du3j6\u0026q=85\u0026s=5d19f1262fdf67d5185ed8d8b4743493`,alt:`Certificat VoIP Services affiché dans Trousseau d'accès macOS`,\"data-og-width\":`1868`,width:`1868`,\"data-og-height\":`1624`,height:`1624`,\"data-path\":`images/docs/6101554-Screen_Shot_2020-04-26_at_1.07.52_PM.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/onesignal/jFWn5xzleD8du3j6/images/docs/6101554-Screen_Shot_2020-04-26_at_1.07.52_PM.png?w=280\u0026fit=max\u0026auto=format\u0026n=jFWn5xzleD8du3j6\u0026q=85\u0026s=d57f41b5d7d08a261686c42154275181 280w, https://mintcdn.com/onesignal/jFWn5xzleD8du3j6/images/docs/6101554-Screen_Shot_2020-04-26_at_1.07.52_PM.png?w=560\u0026fit=max\u0026auto=format\u0026n=jFWn5xzleD8du3j6\u0026q=85\u0026s=8dba61a8e30c0c831fdb26dda2c3dcdb 560w, https://mintcdn.com/onesignal/jFWn5xzleD8du3j6/images/docs/6101554-Screen_Shot_2020-04-26_at_1.07.52_PM.png?w=840\u0026fit=max\u0026auto=format\u0026n=jFWn5xzleD8du3j6\u0026q=85\u0026s=d4d822861982c4795b5346fc84100991 840w, https://mintcdn.com/onesignal/jFWn5xzleD8du3j6/images/docs/6101554-Screen_Shot_2020-04-26_at_1.07.52_PM.png?w=1100\u0026fit=max\u0026auto=format\u0026n=jFWn5xzleD8du3j6\u0026q=85\u0026s=be2dfa06d3400d8c94275769fcdc15b9 1100w, https://mintcdn.com/onesignal/jFWn5xzleD8du3j6/images/docs/6101554-Screen_Shot_2020-04-26_at_1.07.52_PM.png?w=1650\u0026fit=max\u0026auto=format\u0026n=jFWn5xzleD8du3j6\u0026q=85\u0026s=fe3e85e100a8040fe7c8c1c4171358cc 1650w, https://mintcdn.com/onesignal/jFWn5xzleD8du3j6/images/docs/6101554-Screen_Shot_2020-04-26_at_1.07.52_PM.png?w=2500\u0026fit=max\u0026auto=format\u0026n=jFWn5xzleD8du3j6\u0026q=85\u0026s=7070b593a6f3809aca32feee7054c22d 2500w`})}),_jsx(Frame,{caption:`Certificat VoIP téléchargé dans le tableau de bord OneSignal`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/onesignal/0qspEXXeJ8zJbkJ-/images/docs/81a2fea-a2a2e71-Screenshot_2024-02-23_at_1.32.08_PM.png?fit=max\u0026auto=format\u0026n=0qspEXXeJ8zJbkJ-\u0026q=85\u0026s=6ee92a10fc3473c644880fa7517eb46b`,alt:`Certificat VoIP Services téléchargé dans le tableau de bord OneSignal`,\"data-og-width\":`466`,width:`466`,\"data-og-height\":`130`,height:`130`,\"data-path\":`images/docs/81a2fea-a2a2e71-Screenshot_2024-02-23_at_1.32.08_PM.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/onesignal/0qspEXXeJ8zJbkJ-/images/docs/81a2fea-a2a2e71-Screenshot_2024-02-23_at_1.32.08_PM.png?w=280\u0026fit=max\u0026auto=format\u0026n=0qspEXXeJ8zJbkJ-\u0026q=85\u0026s=95a3a2c83752c51d43c1716a35ea5fe0 280w, https://mintcdn.com/onesignal/0qspEXXeJ8zJbkJ-/images/docs/81a2fea-a2a2e71-Screenshot_2024-02-23_at_1.32.08_PM.png?w=560\u0026fit=max\u0026auto=format\u0026n=0qspEXXeJ8zJbkJ-\u0026q=85\u0026s=bd44dde96a3d94780e6506beb6c7f4c0 560w, https://mintcdn.com/onesignal/0qspEXXeJ8zJbkJ-/images/docs/81a2fea-a2a2e71-Screenshot_2024-02-23_at_1.32.08_PM.png?w=840\u0026fit=max\u0026auto=format\u0026n=0qspEXXeJ8zJbkJ-\u0026q=85\u0026s=6de341e128c37fee7dc4d1829068b574 840w, https://mintcdn.com/onesignal/0qspEXXeJ8zJbkJ-/images/docs/81a2fea-a2a2e71-Screenshot_2024-02-23_at_1.32.08_PM.png?w=1100\u0026fit=max\u0026auto=format\u0026n=0qspEXXeJ8zJbkJ-\u0026q=85\u0026s=522fd6e38125b3223a941e37bc46811a 1100w, https://mintcdn.com/onesignal/0qspEXXeJ8zJbkJ-/images/docs/81a2fea-a2a2e71-Screenshot_2024-02-23_at_1.32.08_PM.png?w=1650\u0026fit=max\u0026auto=format\u0026n=0qspEXXeJ8zJbkJ-\u0026q=85\u0026s=50555ec34cfc42ed15fb1babc9b78267 1650w, https://mintcdn.com/onesignal/0qspEXXeJ8zJbkJ-/images/docs/81a2fea-a2a2e71-Screenshot_2024-02-23_at_1.32.08_PM.png?w=2500\u0026fit=max\u0026auto=format\u0026n=0qspEXXeJ8zJbkJ-\u0026q=85\u0026s=f492c4b3f1b74155ccb741eb94d9d6dc 2500w`})})]}),_jsxs(Step,{title:`Enregistrer le jeton VoIP avec OneSignal`,children:[_jsxs(_components.p,{children:[`Utilisez l’API `,_jsx(_components.a,{href:`/reference/create-user`,children:`Create User`}),` pour enregistrer le jeton VoIP avec votre application VoIP OneSignal.`]}),_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsxs(_components.strong,{children:[`Les builds sandbox/développement nécessitent `,_jsx(_components.code,{children:`\"test_type\": 1`}),`.`]}),` Si vous omettez ce champ, l’appel API réussit et ne renvoie aucune erreur, mais Apple traite le jeton comme production et rejette silencieusement chaque push qui lui est envoyé.`]})}),_jsx(CodeBlock,{filename:``,numberOfLines:`16`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`16`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`curl --request POST \\\\`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` --url https://api.onesignal.com/apps/YOUR_VOIP_APP_ID/users \\\\`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` --header 'accept: application/json' \\\\`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` --header 'content-type: application/json' \\\\`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` --data '`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`{`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` \"subscriptions\": [`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` \"type\": \"iOSPush\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` \"token\": \"YOUR_VOIP_TOKEN\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` \"test_type\": 1`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`'`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsxs(Note,{children:[`Un jeton VoIP valide est une chaîne hexadécimale minuscule de 64 caractères (par ex. `,_jsx(_components.code,{children:`a1b2c3d4e5f6...`}),`). PushKit ne fonctionne pas sur le simulateur iOS — vous devez utiliser un appareil réel pour obtenir un jeton valide.`]}),_jsxs(_components.p,{children:[`Pour mettre à jour le jeton ultérieurement, utilisez l’API `,_jsx(_components.a,{href:`/reference/update-subscription`,children:`Update Subscription`}),`.`]})]}),_jsxs(Step,{title:`Envoyer des notifications VoIP`,children:[_jsxs(_components.p,{children:[`Utilisez l’API `,_jsx(_components.a,{href:`/reference/create-message`,children:`Create Notification`}),` avec les paramètres suivants :`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`\"apns_push_type_override\": \"voip\"`}),` — indique à Apple qu’il s’agit d’un push VoIP`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`app_id`}),` — l’ID de votre application VoIP`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`include_subscription_ids`}),` — l’ID d’abonnement VoIP que vous avez enregistré`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`contents`}),` ou `,_jsx(_components.code,{children:`content_available`}),` est requis`]}),`\n`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`15`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`15`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`curl --include \\\\`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` --request POST \\\\`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` --header \"Content-Type: application/json; charset=utf-8\" \\\\`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` --header \"Authorization: key YOUR_REST_API_KEY\" \\\\`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` --data-binary '{`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` \"app_id\": \"YOUR_VOIP_APP_ID\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` \"content_available\": true,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` \"data\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` \"your_custom_data\": \"your_custom_value\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` \"apns_push_type_override\": \"voip\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` \"include_subscription_ids\": [\"YOUR_VOIP_SUBSCRIPTION_ID\"]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`}' \\\\`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`https://api.onesignal.com/notifications`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})})]}),_jsxs(Step,{title:`Vérifier votre configuration VoIP`,children:[_jsx(_components.p,{children:`Votre intégration VoIP iOS fonctionne correctement si :`}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Le jeton VoIP apparaît comme un abonnement push iOS dans votre `,_jsx(_components.strong,{children:`application VoIP`})]}),`\n`,_jsxs(_components.li,{children:[`Un push VoIP déclenche `,_jsx(_components.a,{href:`https://developer.apple.com/documentation/pushkit/responding_to_voip_notifications_from_pushkit`,children:_jsx(_components.code,{children:`pushRegistry(_:didReceiveIncomingPushWith:for:completion:)`})}),` dans votre application`]}),`\n`,_jsx(_components.li,{children:`L’application se réveille même lorsqu’elle est terminée ou en arrière-plan`}),`\n`]})]})]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`android--simuler-un-comportement-de-type-voip`,children:`Android : simuler un comportement de type VoIP`}),`\n`,_jsx(_components.p,{children:`Android ne prend pas en charge les notifications push VoIP. Il n’existe pas d’équivalent à Apple PushKit.`}),`\n`,_jsx(_components.p,{children:`Au lieu de cela, les applications d’appel Android simulent le comportement VoIP en utilisant :`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Des notifications push de données uniquement`}),`\n`,_jsx(_components.li,{children:`Des services de premier plan`}),`\n`,_jsx(_components.li,{children:`Une interface utilisateur d’appel personnalisée`}),`\n`]}),`\n`,_jsx(_components.p,{children:`Vous pouvez utiliser la prise en charge push Android normale de OneSignal combinée avec des API Android natives pour y parvenir.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Approche recommandée :`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Envoyer des notifications de données uniquement`}),`\n`,_jsxs(_components.li,{children:[`Les gérer dans votre application pour :`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Démarrer un service de premier plan`}),`\n`,_jsx(_components.li,{children:`Lancer une activité d’interface d’appel`}),`\n`,_jsx(_components.li,{children:`Afficher une notification d’appel entrant personnalisée`}),`\n`]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Si vous souhaitez intercepter et contrôler entièrement le rendu des notifications, utilisez l’`,_jsx(_components.a,{href:`/docs/fr/service-extensions#notification-service-extension`,children:`Extension de Service de Notification`}),` d’Android.`]}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Ressources utiles :`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://developer.android.com/guide/topics/connectivity/telecom/selfManaged`,children:`Guide d’application d’appel Android`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://medium.com/@dcostalloyd90/show-incoming-voip-call-notification-and-open-activity-for-android-os-10-5aada2d4c1e4`,children:`Exemple d’interface d’appel entrant`})}),`\n`]}),`\n`,_jsxs(Info,{children:[`La configuration Android `,_jsx(_components.strong,{children:`n’est pas spécifique à OneSignal`}),`. OneSignal ne fait que livrer la charge utile push ; votre application gère le comportement d’appel.`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`faq`,children:`FAQ`}),`\n`,_jsx(Heading,{level:`3`,id:`les-livraisons-confirmées-fonctionnent-elles-avec-voip-`,children:`Les livraisons confirmées fonctionnent-elles avec VoIP ?`}),`\n`,_jsxs(_components.p,{children:[`Non. Les `,_jsx(_components.a,{href:`/docs/fr/confirmed-delivery`,children:`Livraisons Confirmées`}),` ne sont `,_jsx(_components.strong,{children:`pas suivies`}),` pour les pushs VoIP. Les livraisons confirmées reposent sur l’Extension de Service de Notification, qui ne se déclenche pas pour les notifications VoIP.`]}),`\n`,_jsx(_components.p,{children:`Au lieu de cela, suivez la réception via l’événement PushKit iOS natif :`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`swift`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`swift`,children:_jsxs(_components.code,{language:`swift`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`pushRegistry`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(_:`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`didReceiveIncomingPushWith:for:completion:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Cet événement fait partie de votre cible d’application principale et ne nécessite pas d’extension séparée. Consultez la `,_jsx(_components.a,{href:`https://developer.apple.com/documentation/pushkit/responding_to_voip_notifications_from_pushkit#3377587`,children:`documentation VoIP d’Apple`}),` pour plus de détails.`]}),`\n`,_jsx(Heading,{level:`3`,id:`puis-je-envoyer-des-notifications-voip-depuis-le-tableau-de-bord-onesignal-`,children:`Puis-je envoyer des notifications VoIP depuis le tableau de bord OneSignal ?`}),`\n`,_jsxs(_components.p,{children:[`Non. Les notifications VoIP doivent être envoyées via l’API `,_jsx(_components.a,{href:`/reference/create-message`,children:`Create Notification`}),` avec `,_jsx(_components.code,{children:`\"apns_push_type_override\": \"voip\"`}),`. Le tableau de bord ne prend pas en charge ce paramètre.`]}),`\n`,_jsx(Heading,{level:`3`,id:`pourquoi-mon-push-voip-échouet-il-silencieusement-`,children:`Pourquoi mon push VoIP échoue-t-il silencieusement ?`}),`\n`,_jsx(_components.p,{children:`Les pushs VoIP peuvent échouer sans aucune erreur de l’API OneSignal. Parcourez cette liste de vérification :`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Utilisez-vous un build sandbox/développement ?`}),` Vous devez inclure `,_jsx(_components.code,{children:`\"test_type\": 1`}),` lors de l’enregistrement du jeton via l’API Create User. Sans cela, le jeton s’enregistre comme production, Apple rejette le push et il échoue silencieusement.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Avez-vous téléchargé le bon certificat ?`}),` L’application VoIP OneSignal doit utiliser un `,_jsx(_components.strong,{children:`certificat VoIP Services (.p12)`}),`, pas un certificat push APNs standard. Les deux se ressemblent dans Trousseau d’accès — vérifiez que le nom du certificat commence par “VoIP Services”.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Envoyez-vous vers la bonne application OneSignal ?`}),` Le `,_jsx(_components.code,{children:`app_id`}),` dans votre requête d’envoi doit être votre `,_jsx(_components.strong,{children:`application VoIP`}),`, pas votre application push principale. La `,_jsx(_components.code,{children:`REST API Key`}),` doit également provenir de l’application VoIP.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Le jeton VoIP est-il valide ?`}),` Les jetons expirent lors de la réinstallation de l’application ou de la restauration de l’appareil. Vérifiez que le jeton est une chaîne hexadécimale minuscule de 64 caractères et qu’il a été enregistré récemment.`]}),`\n`,_jsxs(_components.li,{children:[_jsxs(_components.strong,{children:[`Votre application appelle-t-elle `,_jsx(_components.code,{children:`reportNewIncomingVoIPPushPayload`}),` ?`]}),` Depuis iOS 13, Apple `,_jsx(_components.strong,{children:`termine`}),` les applications qui reçoivent un push VoIP mais ne signalent pas un appel à CallKit. Il s’agit d’une exigence Apple, pas d’une limitation OneSignal.`]}),`\n`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`pages-associées`,children:`Pages associées`}),`\n`,_jsxs(Columns,{cols:2,children:[_jsx(Card,{title:`API Create message`,icon:`code`,href:`/reference/create-message`,children:_jsx(_components.p,{children:`Envoyez des notifications push par programme en utilisant l’API REST.`})}),_jsx(Card,{title:`Livraisons confirmées`,icon:`circle-check`,href:`/docs/fr/confirmed-delivery`,children:_jsx(_components.p,{children:`Suivez la confirmation de livraison des notifications push sur les plateformes prises en charge.`})}),_jsx(Card,{title:`Extensions de service`,icon:`puzzle-piece`,href:`/docs/fr/service-extensions`,children:_jsx(_components.p,{children:`Personnalisez la gestion des notifications avec les Extensions de Service de Notification.`})}),_jsx(Card,{title:`API Create User`,icon:`user-plus`,href:`/reference/create-user`,children:_jsx(_components.p,{children:`Enregistrez des utilisateurs et des abonnements avec l’API OneSignal.`})})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Notifications push VoIP","description":"Envoyez des notifications push VoIP sur iOS avec OneSignal via l'enregistrement de jetons PushKit et un certificat VoIP, ainsi que des alternatives Android pour un comportement de type appel.","keywords":["VoIP push notifications","iOS VoIP","PushKit","VoIP token","VoIP Services Certificate","android call notification"],"href":"/docs/fr/voip-notifications"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Différences entre plateformes","slug":"différences-entre-plateformes","depth":3,"children":[]},{"title":"iOS : envoyer des notifications push VoIP","slug":"ios--envoyer-des-notifications-push-voip","depth":2,"children":[]},{"title":"Android : simuler un comportement de type VoIP","slug":"android--simuler-un-comportement-de-type-voip","depth":2,"children":[]},{"title":"FAQ","slug":"faq","depth":2,"children":[{"title":"Les livraisons confirmées fonctionnent-elles avec VoIP ?","slug":"les-livraisons-confirmées-fonctionnent-elles-avec-voip-","depth":3,"children":[]},{"title":"Puis-je envoyer des notifications VoIP depuis le tableau de bord OneSignal ?","slug":"puis-je-envoyer-des-notifications-voip-depuis-le-tableau-de-bord-onesignal-","depth":3,"children":[]},{"title":"Pourquoi mon push VoIP échoue-t-il silencieusement ?","slug":"pourquoi-mon-push-voip-échouet-il-silencieusement-","depth":3,"children":[]}]},{"title":"Pages associées","slug":"pages-associées","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/onesignal/e069c1b9f3157e14/hotjar-koala.js","/_mintlify/custom/onesignal/3e5d03885ab32f49/intercom.js","/_mintlify/custom/onesignal/dbb7af4794d1b586/munchkin-marketo.js"],"subdomain":"onesignal","siteName":"OneSignal Documentation","title":"Notifications push VoIP - OneSignal Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/docs/en/voip-notifications","matchLevel":1},"cn":{"href":"/docs/cn/voip-notifications","matchLevel":1},"ko":{"href":"/docs/ko/voip-notifications","matchLevel":1},"ja":{"href":"/docs/ja/voip-notifications","matchLevel":1},"tr":{"href":"/docs/tr/voip-notifications","matchLevel":1},"pt-BR":{"href":"/docs/pt-BR/voip-notifications","matchLevel":1},"es":{"href":"/docs/es/voip-notifications","matchLevel":1},"fr":{"href":"/docs/fr/voip-notifications","matchLevel":0}}},"lastModified":"2026-03-13T20:50:04.503Z","originalFileLocation":"docs/fr/voip-notifications.mdx","locale":"fr"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Envoyez des notifications push VoIP sur iOS avec OneSignal via l\u0026#x27;enregistrement de jetons PushKit et un certificat VoIP, ainsi que des alternatives Android pour un comportement de type appel.\">\u003cmeta data-mint-head name=\"application-name\" content=\"OneSignal Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Notifications push VoIP - OneSignal Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Envoyez des notifications push VoIP sur iOS avec OneSignal via l\u0026#x27;enregistrement de jetons PushKit et un certificat VoIP, ainsi que des alternatives Android pour un comportement de type appel.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"OneSignal Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://documentation.onesignal.com/docs/fr/voip-notifications\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://onesignal.mintlify.site/_mintlify/api/og/v2?division=Push+mobile\u0026amp;title=Notifications+push+VoIP\u0026amp;description=Envoyez+des+notifications+push+VoIP+sur+iOS+avec+OneSignal+via+l%27enregistrement+de+jetons+PushKit+et+un+certificat+VoIP%2C+ainsi+que+des+alternatives+Android+pour\u0026amp;theme=8d648f04f85028b307bd669b\u0026amp;signature=46bf9dc12b1abdecce361e19de90f83a625542a11b456a3cbc272a4dbbb2fce4\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Notifications push VoIP - OneSignal Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Envoyez des notifications push VoIP sur iOS avec OneSignal via l\u0026#x27;enregistrement de jetons PushKit et un certificat VoIP, ainsi que des alternatives Android pour un comportement de type appel.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://onesignal.mintlify.site/_mintlify/api/og/v2?division=Push+mobile\u0026amp;title=Notifications+push+VoIP\u0026amp;description=Envoyez+des+notifications+push+VoIP+sur+iOS+avec+OneSignal+via+l%27enregistrement+de+jetons+PushKit+et+un+certificat+VoIP%2C+ainsi+que+des+alternatives+Android+pour\u0026amp;theme=8d648f04f85028b307bd669b\u0026amp;signature=46bf9dc12b1abdecce361e19de90f83a625542a11b456a3cbc272a4dbbb2fce4\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"OneSignal Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#3A3DB3\">\u003clink data-mint-head rel=\"canonical\" href=\"https://documentation.onesignal.com/docs/fr/voip-notifications\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/fr/voip-notifications.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"fr\" href=\"https://documentation.onesignal.com/docs/fr/voip-notifications\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://documentation.onesignal.com/docs/en/voip-notifications\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"zh\" href=\"https://documentation.onesignal.com/docs/cn/voip-notifications\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ko\" href=\"https://documentation.onesignal.com/docs/ko/voip-notifications\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ja\" href=\"https://documentation.onesignal.com/docs/ja/voip-notifications\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"tr\" href=\"https://documentation.onesignal.com/docs/tr/voip-notifications\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://documentation.onesignal.com/docs/pt-BR/voip-notifications\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"es\" href=\"https://documentation.onesignal.com/docs/es/voip-notifications\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://documentation.onesignal.com/docs/en/voip-notifications\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://documentation.onesignal.com/#organization\",\"name\":\"OneSignal Documentation\",\"url\":\"https://documentation.onesignal.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/onesignal/yJcueeDCO7UpHnnY/logo/OneSignal-Logo.svg?fit=max\u0026auto=format\u0026n=yJcueeDCO7UpHnnY\u0026q=85\u0026s=1fcfb6fef6d820fd9d99c74850711107\"}},{\"@type\":\"WebSite\",\"@id\":\"https://documentation.onesignal.com#website\",\"name\":\"OneSignal Documentation\",\"url\":\"https://documentation.onesignal.com\",\"publisher\":{\"@id\":\"https://documentation.onesignal.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://documentation.onesignal.com/docs/fr/voip-notifications#webpage\",\"url\":\"https://documentation.onesignal.com/docs/fr/voip-notifications\",\"name\":\"Notifications push VoIP\",\"description\":\"Envoyez des notifications push VoIP sur iOS avec OneSignal via l'enregistrement de jetons PushKit et un certificat VoIP, ainsi que des alternatives Android pour un comportement de type appel.\",\"dateModified\":\"2026-03-13T20:50:04.503Z\",\"isPartOf\":{\"@id\":\"https://documentation.onesignal.com#website\"},\"breadcrumb\":{\"@id\":\"https://documentation.onesignal.com/docs/fr/voip-notifications#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://documentation.onesignal.com/docs/fr/voip-notifications#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Canaux de messagerie\",\"item\":\"https://documentation.onesignal.com/docs/fr/channel-setup\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Push\",\"item\":\"https://documentation.onesignal.com/docs/fr/push\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Push mobile\",\"item\":\"https://documentation.onesignal.com/docs/fr/mobile-push-setup\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Notifications push VoIP\",\"item\":\"https://documentation.onesignal.com/docs/fr/voip-notifications\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://documentation.onesignal.com/docs/fr/voip-notifications#article\",\"headline\":\"Notifications push VoIP\",\"name\":\"Notifications push VoIP\",\"description\":\"Envoyez des notifications push VoIP sur iOS avec OneSignal via l'enregistrement de jetons PushKit et un certificat VoIP, ainsi que des alternatives Android pour un comportement de type appel.\",\"url\":\"https://documentation.onesignal.com/docs/fr/voip-notifications\",\"mainEntityOfPage\":{\"@id\":\"https://documentation.onesignal.com/docs/fr/voip-notifications#webpage\"},\"dateModified\":\"2026-03-13T20:50:04.503Z\",\"keywords\":\"VoIP push notifications, iOS VoIP, PushKit, VoIP token, VoIP Services Certificate, android call notification\",\"publisher\":{\"@id\":\"https://documentation.onesignal.com/#organization\"},\"isPartOf\":{\"@id\":\"https://documentation.onesignal.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"OneSignal Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"OneSignal Documentation","nav":{"global":null,"languages":[{"language":"en","pages":[{"title":"en","href":"/docs/en/voip-notifications"}]},{"language":"cn","pages":[{"title":"cn","href":"/docs/cn/voip-notifications"}]},{"language":"ko","pages":[{"title":"ko","href":"/docs/ko/voip-notifications"}]},{"language":"ja","pages":[{"title":"ja","href":"/docs/ja/voip-notifications"}]},{"language":"tr","pages":[{"title":"tr","href":"/docs/tr/voip-notifications"}]},{"language":"pt-BR","pages":[{"title":"pt-BR","href":"/docs/pt-BR/voip-notifications"}]},{"language":"es","pages":[{"title":"es","href":"/docs/es/voip-notifications"}]},{"language":"fr","tabs":[{"tab":"Accueil","pages":[{"title":"Accueil","href":"/docs/fr/home"}]},{"tab":"Guides utilisateur","groups":[{"group":"Premiers pas et paramètres","pages":[{"title":"Guide de démarrage rapide","href":"/docs/fr/quickstart-guide"},{"group":"Tableau de bord OneSignal","pages":[{"title":"Applications, organisations et comptes","href":"/docs/fr/apps-organizations"},{"title":"Membres de l'équipe","href":"/docs/fr/manage-team-members"},{"title":"Clés et IDs","href":"/docs/fr/keys-and-ids"},{"title":"Journaux d'audit","href":"/docs/fr/audit-logs"},{"title":"Utilisation et facturation","href":"/docs/fr/billing-faq"},{"title":"Applications et organisations désactivées","href":"/docs/fr/disabled-apps"}]},{"title":"Migration vers OneSignal","href":"/docs/fr/migrating-to-onesignal"}]},{"group":"Canaux de messagerie","pages":[{"title":"Configuration des canaux","href":"/docs/fr/channel-setup"},{"group":"Push","pages":[{"title":"Vue d'ensemble du push","href":"/docs/fr/push"},{"group":"Push mobile","pages":[{"title":"Configuration du push mobile","href":"/docs/fr/mobile-push-setup"},{"title":"Inviter pour les permissions push","href":"/docs/fr/prompt-for-push-permissions"},{"title":"Notifications push provisoires iOS","href":"/docs/fr/ios-provisional-push-notifications"},{"title":"Catégories de notification Android","href":"/docs/fr/android-notification-categories"},{"title":"Notifications de données et en arrière-plan","description":"Envoyez des notifications push silencieuses pour synchroniser des données ou déclencher des tâches en arrière-plan sur iOS et Android sans afficher de message visible.","href":"/docs/fr/data-notifications"},{"title":"Notifications push VoIP","href":"/docs/fr/voip-notifications"}]},{"group":"Push web","pages":[{"title":"Configuration du push web","description":"Activez les notifications push web avec OneSignal pour réengager les utilisateurs sur Chrome, Firefox, Safari et Edge : site, invites et service worker.","href":"/docs/fr/web-push-setup"},{"title":"Invites de permission web","href":"/docs/fr/permission-requests"},{"title":"FAQ push web","href":"/docs/fr/web-push-setup-faq"},{"title":"Comportement du navigateur pour les notifications web push","href":"/docs/fr/browser-behavior-and-unsubscribes"},{"title":"Configuration du plugin OneSignal WordPress pour le push web","href":"/docs/fr/wordpress"},{"title":"Dépannage WordPress","href":"/docs/fr/troubleshooting-wordpress-web-push"},{"title":"Intégration Shopify pour le push web","href":"/docs/fr/shopify"}]},{"group":"Fonctionnalités push","pages":[{"title":"Icônes de notification","href":"/docs/fr/notification-icons"},{"title":"Images de notifications et médias enrichis","href":"/docs/fr/rich-media"},{"title":"Sons de notification","href":"/docs/fr/notification-sounds"},{"title":"Badges d'icône d'application pour les notifications push","href":"/docs/fr/badges"},{"title":"Boutons d'action pour les notifications push","href":"/docs/fr/action-buttons"},{"title":"Limitation de fréquence des push","href":"/docs/fr/frequency-capping"},{"title":"Limitation du débit des push","href":"/docs/fr/throttling"},{"title":"iOS : Modes Focus et niveaux d'interruption","href":"/docs/fr/ios-focus-modes-and-interruption-levels"},{"title":"iOS : Score de pertinence","href":"/docs/fr/ios-relevance-score"}]},{"group":"Analyses et dépannage push","pages":[{"title":"Rapports de messages push","href":"/docs/fr/push-notification-message-reports"},{"title":"Livraison confirmée","href":"/docs/fr/confirmed-delivery"},{"title":"CTR des notifications","href":"/docs/fr/notification-ctr"},{"title":"Mobile push : Notifications non affichées ou retardées","href":"/docs/fr/notifications-show-successful-but-are-not-being-shown"},{"title":"Push web : Notifications non affichées","href":"/docs/fr/notifications-not-shown-web-push"},{"title":"Images de notification non affichées","href":"/docs/fr/notification-images-not-showing"},{"title":"Notifications en double","href":"/docs/fr/duplicated-notifications"},{"title":"FAQ sur les jetons FCM expirés","href":"/docs/fr/fcm-expired-token-faq"}]}]},{"group":"Messages in-app","pages":[{"title":"Aperçu des messages intégrés","href":"/docs/fr/in-app-messages-setup"},{"title":"Déclencheurs de messages intégrés","href":"/docs/fr/iam-triggers"},{"title":"Actions de clic dans les messages intégrés","href":"/docs/fr/iam-click-actions"},{"group":"Design in-app","pages":[{"title":"Concevoir des messages in-app avec glisser-déposer","href":"/docs/fr/design-your-in-app-message"},{"title":"Concevoir des messages in-app avec HTML","href":"/docs/fr/design-your-in-app-message-with-html"},{"title":"Modèles de messages in-app et quickstarts","href":"/docs/fr/in-app-html-templates"},{"title":"Référence de l'API JavaScript des messages intégrés","href":"/docs/fr/in-app-message-api"}]},{"title":"Rapports de messages intégrés","href":"/docs/fr/in-app-message-reports"},{"title":"Dépannage des messages intégrés","href":"/docs/fr/in-app-message-troubleshooting"}]},{"group":"Email","pages":[{"title":"Aperçu des e-mails","href":"/docs/fr/email-messaging"},{"group":"Configuration email","pages":[{"title":"Configuration e-mail","href":"/docs/fr/email-setup"},{"title":"Configuration DNS des e-mails","href":"/docs/fr/email-dns-configuration"},{"title":"Expéditeurs","href":"/docs/fr/senders"},{"title":"E-mails transactionnels","href":"/docs/fr/setup-transactional-emails"},{"title":"Créer une page de désabonnement email personnalisée","href":"/docs/fr/create-custom-unsubscribe-page"}]},{"group":"Délivrabilité email","pages":[{"title":"Rapports de messages e-mail","href":"/docs/fr/email-message-reports"},{"title":"Délivrabilité des e-mails","href":"/docs/fr/email-deliverability"},{"title":"Meilleures pratiques de réputation e-mail","href":"/docs/fr/email-reputation-best-practices"},{"title":"Validation d'adresse e-mail","href":"/docs/fr/email-address-validation"},{"title":"Guide de préchauffage e-mail","href":"/docs/fr/email-warm-up"},{"title":"Google Postmaster Tools","href":"/docs/fr/google-postmaster-tools"},{"title":"Suppressions","href":"/docs/fr/suppressions"},{"title":"Dépannage e-mail","href":"/docs/fr/email-troubleshooting"}]},{"group":"Messagerie email","pages":[{"title":"Concevoir des e-mails avec glisser-déposer","href":"/docs/fr/design-emails-with-drag-and-drop"},{"title":"Concevoir des e-mails avec HTML","href":"/docs/fr/design-emails-with-html"},{"title":"Liens de désabonnement e-mail et en-têtes","href":"/docs/fr/unsubscribe-links-email-subscriptions"},{"title":"Transfert de modèles e-mail","href":"/docs/fr/email-template-forwarding"}]}]},{"group":"SMS \u0026 RCS","pages":[{"title":"Aperçu SMS, MMS et RCS","href":"/docs/fr/sms-messaging"},{"title":"Services de communication enrichis (RCS)","href":"/docs/fr/rcs-messaging"},{"group":"Configuration SMS","pages":[{"title":"Configuration SMS","href":"/docs/fr/sms-setup"},{"title":"Demandes de ressources d'expéditeur et exigences par pays","sidebarTitle":"Demandes de ressources d'expéditeur","href":"/docs/fr/sms-registration-requirements"},{"title":"Opt-in et collecte SMS","href":"/docs/fr/sms-opt-in-and-collection"},{"title":"Gestion des mots-clés de consentement SMS","href":"/docs/fr/sms-consent-keyword-management"},{"title":"Mots-clés SMS","href":"/docs/fr/keywords"}]},{"group":"Messagerie SMS","pages":[{"title":"Rapports de messages SMS","href":"/docs/fr/sms-message-reports"},{"title":"Mots de passe à usage unique (OTP)","sidebarTitle":"Mots de passe à usage unique","href":"/docs/fr/sms-verify"}]}]},{"group":"Activités en direct","pages":[{"title":"Live Activities","href":"/docs/fr/live-activities"},{"title":"Analyses des Live Activities","href":"/docs/fr/live-activities-analytics"}]},{"group":"Fonctionnalités","pages":[{"title":"Tests A/B","href":"/docs/fr/ab-testing"},{"title":"Messagerie multilingue","href":"/docs/fr/multi-language-messaging"},{"group":"Personnalisation","pages":[{"title":"Personnalisation","href":"/docs/fr/message-personalization"},{"title":"Utilisation de la syntaxe Liquid","href":"/docs/fr/using-liquid-syntax"},{"title":"Flux de données","href":"/docs/fr/data-feeds"},{"title":"Personnaliser avec les Custom Events","href":"/docs/fr/personalization-custom-event"},{"title":"Personnaliser avec les propriétés","href":"/docs/fr/personalization-properties-and-tags"},{"title":"Personnaliser les messages avec l'API custom_data","href":"/docs/fr/personalization-api-custom-data"},{"title":"Contenu dynamique avec CSV","href":"/docs/fr/dynamic-content"}]},{"group":"URLs, liens et liens profonds","pages":[{"title":"URLs, liens et liens profonds","href":"/docs/fr/links"},{"title":"Liens profonds","href":"/docs/fr/deep-linking"},{"title":"Liens de désabonnement e-mail et en-têtes","href":"/docs/fr/unsubscribe-links-email-subscriptions"}]},{"title":"Messages de reciblage","href":"/docs/fr/retargeting"},{"title":"Templates","href":"/docs/fr/templates"},{"title":"Étiquettes","href":"/docs/fr/labels"}]}]},{"group":"Journeys","pages":[{"title":"Aperçu des Journeys","href":"/docs/fr/journeys-overview"},{"group":"Fonctionnalités Journey","pages":[{"title":"Paramètres de Journey","href":"/docs/fr/journeys-settings"},{"title":"Messages Journey","href":"/docs/fr/journeys-messages"},{"title":"Actions de Journey","href":"/docs/fr/journeys-actions"},{"title":"Webhooks de Journey","href":"/docs/fr/journeys-webhook"},{"title":"Envoyer des messages WhatsApp via les webhooks Journey","href":"/docs/fr/sending-whatsapp-messages-via-journey-webhooks"},{"title":"Gestion des Journeys","href":"/docs/fr/managing-journeys"},{"title":"Analyses des Journeys","href":"/docs/fr/journeys-analytics"}]},{"title":"Exemples de Journey","href":"/docs/fr/journeys-examples"}]},{"group":"Audience et événements personnalisés","pages":[{"title":"Segments","href":"/docs/fr/segmentation"},{"group":"Utilisateurs \u0026 Abonnements","pages":[{"title":"Utilisateurs","href":"/docs/fr/users"},{"title":"Abonnements","href":"/docs/fr/subscriptions"},{"title":"Alias","href":"/docs/fr/aliases"},{"title":"Utilisateurs test","href":"/docs/fr/test-users"},{"title":"Supprimer des utilisateurs","href":"/docs/fr/delete-users"}]},{"group":"Événements personnalisés","pages":[{"title":"Événements personnalisés","href":"/docs/fr/custom-events"},{"title":"Stockage et rétention des événements personnalisés","href":"/docs/fr/custom-event-storage"}]},{"group":"Tags","pages":[{"title":"Tags","href":"/docs/fr/add-user-data-tags"},{"title":"Tags : Opérateurs temporels","href":"/docs/fr/time-operators"}]},{"title":"Importer","href":"/docs/fr/import"}]},{"group":"Analyses et intégrations","pages":[{"group":"Analyses","pages":[{"title":"Présentation des analyses","href":"/docs/fr/analytics-overview"},{"title":"Objectifs","sidebarTitle":"Objectifs","href":"/docs/fr/goals"},{"title":"Analytique des templates","href":"/docs/fr/template-analytics"},{"title":"Exportation de données","href":"/docs/fr/exporting-data"},{"title":"Résultats personnalisés","href":"/docs/fr/custom-outcomes"},{"title":"Métriques de conversion","href":"/docs/fr/conversion-metrics"},{"title":"Tendances d'engagement","href":"/docs/fr/engagement-analytics"},{"title":"Tendances d'abonnements","href":"/docs/fr/subscription-trends"},{"group":"Métriques de rétention","pages":[{"title":"Métriques de rétention","href":"/docs/fr/retention-metrics"},{"title":"Interpréter les courbes de rétention","href":"/docs/fr/interpreting-retention-curves"}]},{"title":"Glossaire des métriques","href":"/docs/fr/analytics-metrics-glossary"}]},{"group":"Event Streams","pages":[{"title":"Event Streams","href":"/docs/fr/event-streams"},{"title":"Référence des données Event Stream","sidebarTitle":"Données Event Stream","href":"/docs/fr/event-streams-data"},{"title":"Flux d'événements des messages intégrés","href":"/docs/fr/iam-event-streams"},{"title":"Intégration Google Sheets avec Event Streams","href":"/docs/fr/google-sheets-integration-with-event-streams"}]},{"group":"Intégrations","pages":[{"title":"Aperçu des intégrations","href":"/docs/fr/integrations"},{"title":"Intégration d'entrepôt de données, DMP et CRM","href":"/docs/fr/database-dmp-crm-integration"},{"group":"OneSignal comme source de données","pages":[{"title":"Amplitude","href":"/docs/fr/amplitude"},{"title":"Databricks","href":"/docs/fr/databricks"},{"title":"Google BigQuery","href":"/docs/fr/bigquery"},{"title":"Mixpanel","href":"/docs/fr/mixpanel"},{"title":"Snowflake","href":"/docs/fr/snowflake"},{"title":"Segment (Twilio)","href":"/docs/fr/segment-onesignal-integration"}]},{"group":"OneSignal comme destination","pages":[{"title":"Adobe Audience Manager","href":"/docs/fr/adobe-audience-manager"},{"title":"AlloyDB","href":"/docs/fr/alloydb"},{"title":"Amazon Athena","href":"/docs/fr/amazon-athena"},{"title":"Amazon S3","href":"/docs/fr/s3"},{"title":"Amplitude","href":"/docs/fr/amplitude"},{"title":"Apache Kafka","href":"/docs/fr/kafka"},{"title":"Amazon Redshift","href":"/docs/fr/amazon-redshift"},{"title":"Azure Synapse","href":"/docs/fr/azure-synapse"},{"title":"ClickHouse","href":"/docs/fr/clickhouse"},{"title":"Confluent Cloud","href":"/docs/fr/confluent-cloud"},{"title":"Databricks","href":"/docs/fr/databricks"},{"title":"Elasticsearch","href":"/docs/fr/elasticsearch"},{"title":"Google BigQuery","href":"/docs/fr/bigquery"},{"title":"Google Cloud SQL","href":"/docs/fr/google-cloud-sql"},{"title":"Google Sheets","href":"/docs/fr/google-sheets"},{"title":"Greenplum","href":"/docs/fr/greenplum"},{"title":"HubSpot","href":"/docs/fr/hubspot"},{"title":"Materialize","href":"/docs/fr/materialize"},{"title":"Microsoft Fabric","href":"/docs/fr/microsoft-fabric"},{"title":"Mixpanel","href":"/docs/fr/mixpanel"},{"title":"MotherDuck","href":"/docs/fr/motherduck"},{"title":"MySQL","href":"/docs/fr/mysql"},{"title":"PostgreSQL","href":"/docs/fr/postgresql"},{"title":"Pub/Sub","href":"/docs/fr/google-pubsub"},{"title":"SingleStore","href":"/docs/fr/singlestore"},{"title":"Snowflake","href":"/docs/fr/snowflake"},{"title":"SQL Server","href":"/docs/fr/sql-server"},{"title":"Starburst Enterprise","href":"/docs/fr/starburst-enterprise"},{"title":"Starburst Galaxy","href":"/docs/fr/starburst-galaxy"},{"title":"Trino","href":"/docs/fr/trino"},{"title":"Segment (Twilio)","href":"/docs/fr/segment-onesignal-integration"}]},{"group":"Attribution","pages":[{"title":"RevenueCat","href":"/docs/fr/revenuecat"},{"title":"Adjust","href":"/docs/fr/adjust"},{"title":"BlueConic","href":"/docs/fr/blueconic"}]},{"title":"Créer une intégration avec OneSignal : Guide partenaire","href":"/docs/fr/building-an-integration-with-onesignal-partner-guide"}]}]},{"group":"Confidentialité et sécurité","pages":[{"group":"Informations d'identification de sécurité","pages":[{"title":"SOC 2 Type II","href":"/docs/fr/soc-2-type-ii"},{"title":"ISO 27001","href":"/docs/fr/iso27001"},{"title":"HIPAA","href":"/docs/fr/hipaa"}]},{"group":"Confidentialité des données et conformité réglementaire","pages":[{"title":"RGPD et droits individuels","href":"/docs/fr/gdpr-compliance"},{"title":"Cadre de confidentialité des données UE-États-Unis","href":"/docs/fr/eu-us-data-privacy-framework"},{"title":"Conformité réglementaire des e-mails","href":"/docs/fr/email-compliance"},{"title":"Conformité réglementaire SMS","href":"/docs/fr/sms-regulatory-compliance"},{"title":"Exigences de confidentialité des applications Apple","href":"/docs/fr/apple-app-privacy-requirements"},{"title":"Exigences de sécurité des données Google Play","href":"/docs/fr/google-play-data-safety-requirements"},{"title":"FAQ sur la collecte et la sécurité des données","href":"/docs/fr/data-questions"},{"title":"Données collectées par le SDK OneSignal","href":"/docs/fr/data-collected-by-the-onesignal-sdk"},{"title":"Gestion des données personnelles","href":"/docs/fr/handling-personal-data"}]},{"group":"Authentification","pages":[{"title":"Authentification à 2 étapes","href":"/docs/fr/2-step-authentication"},{"title":"Authentification unique (SSO)","href":"/docs/fr/sso"}]}]}]},{"tab":"Guides développeur","pages":[{"title":"Guides développeur","href":"/docs/fr/developers"}]},{"tab":"Tutoriels","pages":[{"title":"Tutoriels","href":"/docs/fr/tutorials"}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/reference/rest-api-overview"}]},{"tab":"Release Notes","pages":[{"title":"Release Notes","href":"/release-notes/changelog"}]}],"global":{"anchors":[{"anchor":"Blog","icon":"newspaper","href":"https://onesignal.com/blog"},{"anchor":"GitHub","icon":"github","href":"https://github.com/OneSignal"},{"anchor":"YouTube","icon":"youtube","href":"https://www.youtube.com/@onesignalofficial/playlists"}]}}]},"basePath":"","title":"Notifications push VoIP - OneSignal Documentation","buildId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","deploymentId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-NdetNziF.js","DynamicMarkdown-CD8713Yy.js","zoom-image-lightbox-DMoL6lHz.js","lightbox-handle-r17bVUz3.js"]}