PushKit token kaydı ve VoIP sertifikası kullanarak OneSignal ile iOS’ta VoIP push bildirimleri gönderin; arama tarzı davranış için Android alternatifleri de sunulmaktadır.
VoIP push bildirimleri, uygulamanızın arka planda veya sonlandırılmış olsa bile gelen arama uyarılarını almasını sağlar. Apple, VoIP pushlerini standart push bildirimlerinden farklı şekilde işler — bunlar ayrı bir sertifika türü, ayrı bir token (PushKit aracılığıyla) ve farklı teslimat kuralları kullanır.OneSignal VoIP pushlerini göndermeyi destekler, ancak OneSignal SDK’sı VoIP token kaydını gerçekleştirmez. Şunlardan siz sorumlusunuz:
Apple PushKit kullanarak uygulamanızda VoIP tokenlarını kaydetme
VoIP Services Certificate ile ayrı bir OneSignal uygulaması oluşturma
OneSignal REST API aracılığıyla tokenları kaydetme ve push gönderme
iOS’ta VoIP bildirimleri Apple PushKit kullanır ve standart push bildirimlerinden farklı özel teslimat kurallarına sahiptir. Apple VoIP pushlerini farklı şekilde ele aldığından, OneSignal’ın VoIP için ayrı bir uygulama yapılandırması gerekir.
Başlamadan önce — en sık yapılan VoIP kurulum hataları şunlardır:
VoIP için ayrı bir OneSignal uygulaması oluşturmamak. Apple VoIP için farklı bir sertifika türü gerektirdiğinden, OneSignal’ın VoIP pushlerini gönderebilmesi için ayrı bir uygulamaya ihtiyacı vardır. Mevcut push uygulamanız her ikisi için kullanılamaz.
Yanlış sertifika yüklemek. Standart APNs push sertifikanız değil, bir VoIP Services Certificate (.p12) gerekir. Yanlış sertifika kullanılması sessiz teslimat hatalarına neden olur.
Sandbox’ta test_type alanını unutmak. Geliştirme derlemesiyle test ederken, token kaydederken "test_type": 1 eklemeniz gerekir. Bu alan olmadan API çağrısı başarılı olur ancak pushler hiçbir zaman ulaşmaz.
1
PushKit kullanarak bir VoIP token kaydetme
VoIP bildirimleri için kaydolmak ve bir VoIP token almak üzere Apple’ın PushKit framework’ünü kullanın.
Uygulamanızda PushKit’i uygulayın
Apple token’ı yenilerken VoIP tokenını saklayın ve güncelleyin
Apple VoIP pushleri, standart push bildirimlerinden farklı bir sertifika türü gerektirir. Tek bir OneSignal uygulaması yalnızca bir sertifika türü kullanabildiğinden, iki ayrı OneSignal uygulaması oluşturmanız gerekir:
Ana Push Uygulaması: Standart push bildirimleri için APNs sertifikanızı kullanır
VoIP Push Uygulaması: Yalnızca VoIP bildirimleri için VoIP Services Certificate kullanır
Her iki uygulama da aynı iOS bundle ID’sini kullanmalı ve aynı yerel iOS uygulamasıyla ilişkilendirilmelidir. OneSignal SDK’sını iki kez başlatmanıza gerek yoktur — VoIP uygulaması yalnızca API aracılığıyla VoIP pushlerini göndermek için sunucu tarafında kullanılır.
Bundle ID (ör. com.yourcompany.appname), Xcode’da hedef uygulamanızın General sekmesinde bulunur.
3
VoIP Services Certificate yükleme
VoIP OneSignal uygulamanıza bir VoIP Services Certificate (.p12) yükleyin. Bu, normal bildirimler için kullandığınız standart APNs push sertifikasından farklı bir sertifika türüdür.Oluşturmak için:
Sertifikayı oluşturmak ve indirmek için yönergeleri izleyin
Keychain Access’te açıp .p12 dosyası olarak dışa aktarın
.p12 dosyasını VoIP OneSignal uygulamanızın iOS ayarlarına yükleyin
Standart APNs push sertifikanızı VoIP uygulamasına yüklemeyin. Yanlış sertifika türü kullanırsanız, API push isteğinizi kabul eder ancak Apple reddeder ve bildirim hiçbir zaman ulaşmaz.
Keychain Access'te VoIP sertifikası
OneSignal kontrol panelinde yüklenen VoIP sertifikası
4
VoIP tokenını OneSignal'a kaydetme
VoIP tokenını VoIP OneSignal uygulamanıza kaydetmek için Create User API’sini kullanın.
Sandbox/geliştirme derlemeleri "test_type": 1 gerektirir. Bu alanı atlarsanız, API çağrısı başarılı olur ve hata döndürmez, ancak Apple tokenı üretim olarak değerlendirir ve gönderilen her pushu sessizce reddeder.
Geçerli bir VoIP token, 64 karakterli küçük harfli bir onaltılık dizedir (ör. a1b2c3d4e5f6...). PushKit iOS Simülatör’de çalışmaz — geçerli bir token elde etmek için gerçek bir cihaz kullanmanız gerekir.
Android, VoIP push bildirimlerini desteklemez. Apple PushKit’e eşdeğer bir özellik yoktur.Bunun yerine, Android arama uygulamaları şunları kullanarak VoIP davranışını simüle eder:
Yalnızca veri push bildirimleri
Ön plan servisleri
Özel arama tarzı kullanıcı arayüzü
Bunu başarmak için OneSignal’ın normal Android push desteğini yerel Android API’leriyle birlikte kullanabilirsiniz.Önerilen yaklaşım:
Yalnızca veri bildirimleri gönderin
Bunları uygulamanızda şu şekilde işleyin:
Bir ön plan servisi başlatın
Bir arama kullanıcı arayüzü aktivitesi başlatın
Özel bir gelen arama bildirimi görüntüleyin
Bildirim işlemeyi engellemek ve tam olarak kontrol etmek istiyorsanız, Android’in Notification Service Extension özelliğini kullanın.Yararlı kaynaklar:
Hayır. Confirmed Deliveries, VoIP pushlerinde takip edilmez. Onaylanmış Teslimatlar, VoIP bildirimleri için tetiklenmeyen Notification Service Extension’a dayanır.Bunun yerine, alındı bilgisini yerel iOS PushKit olayı aracılığıyla takip edin:
VoIP bildirimlerini OneSignal kontrol panelinden gönderebilir miyim?
Hayır. VoIP bildirimleri, "apns_push_type_override": "voip" parametresiyle Create Notification API’si aracılığıyla gönderilmelidir. Kontrol paneli bu parametreyi desteklemez.
VoIP pushleri, OneSignal API’sinden herhangi bir hata almadan başarısız olabilir. Bu kontrol listesini takip edin:
Sandbox/geliştirme derlemesi mi kullanıyorsunuz? Create User API’si aracılığıyla token kaydederken "test_type": 1 eklemeniz gerekir. Bu alan olmadan token üretim olarak kaydedilir, Apple pushu reddeder ve sessizce başarısız olur.
Doğru sertifikayı yüklediniz mi? VoIP OneSignal uygulaması, standart bir APNs push sertifikası değil, VoIP Services Certificate (.p12) kullanmalıdır. Her ikisi de Keychain Access’te benzer görünür — sertifika adının “VoIP Services” ile başladığını doğrulayın.
Doğru OneSignal uygulamasına mı gönderiyorsunuz? Gönderme isteğinizdeki app_id, ana push uygulamanız değil VoIP uygulamanız olmalıdır. REST API Key de VoIP uygulamasından alınmış olmalıdır.
VoIP token geçerli mi? Tokenlar, uygulama yeniden yüklendiğinde veya cihaz sıfırlandığında sona erer. Token’ın 64 karakterli küçük harfli bir onaltılık dize olduğunu ve yakın zamanda kaydedildiğini doğrulayın.
Uygulamanız reportNewIncomingVoIPPushPayload çağırıyor mu? iOS 13’ten itibaren Apple, VoIP pushu alan ancak CallKit’e bir arama bildirmeyen uygulamaları sonlandırır. Bu bir Apple gereksinimi olup OneSignal’a özgü bir kısıtlama değildir.
REST API kullanarak push bildirimlerini programatik olarak gönderin.
Onaylanmış teslimatlar
Desteklenen platformlarda push bildirim teslimat onayını takip edin.
Servis uzantıları
Notification Service Extension ile bildirim işlemeyi özelleştirin.
Create User API
OneSignal API ile kullanıcıları ve abonelikleri kaydedin.
Bu sayfa yararlı mıydı?
{"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":"6af263cb6575a850b3cad407","clientVersion":"0.0.4094","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":"custom-rbac-roles","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}],"googleFontsInlined":true},"customCss":[],"page":{"pagePath":"docs/tr/voip-notifications","slug":"/docs/tr/voip-notifications","pageMetadata":{"title":"VoIP push bildirimleri","description":"PushKit token kaydı ve VoIP sertifikası kullanarak OneSignal ile iOS'ta VoIP push bildirimleri gönderin; arama tarzı davranış için Android alternatifleri de sunulmaktadır.","keywords":["VoIP push notifications","iOS VoIP","PushKit","VoIP token","VoIP Services Certificate","android call notification"],"href":"/docs/tr/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: \"PushKit token kaydı ve VoIP sertifikası kullanarak OneSignal ile iOS’ta VoIP push bildirimleri gönderin; arama tarzı davranış için Android alternatifleri de sunulmaktadır.\"\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:`VoIP push bildirimleri, uygulamanızın arka planda veya sonlandırılmış olsa bile gelen arama uyarılarını almasını sağlar. Apple, VoIP pushlerini standart push bildirimlerinden farklı şekilde işler — bunlar ayrı bir sertifika türü, ayrı bir token (PushKit aracılığıyla) ve farklı teslimat kuralları kullanır.`}),`\n`,_jsxs(_components.p,{children:[`OneSignal VoIP pushlerini `,_jsx(_components.strong,{children:`göndermeyi`}),` destekler, ancak OneSignal SDK’sı VoIP token kaydını `,_jsx(_components.strong,{children:`gerçekleştirmez`}),`. Şunlardan siz sorumlusunuz:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Apple PushKit kullanarak uygulamanızda VoIP tokenlarını kaydetme`}),`\n`,_jsx(_components.li,{children:`VoIP Services Certificate ile ayrı bir OneSignal uygulaması oluşturma`}),`\n`,_jsx(_components.li,{children:`OneSignal REST API aracılığıyla tokenları kaydetme ve push gönderme`}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`platform-farkları`,children:`Platform farkları`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Platform`}),_jsx(_components.th,{children:`VoIP push destekleniyor mu?`}),_jsx(_components.th,{children:`Nasıl çalışır`})]})}),_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:`Apple PushKit ve bir VoIP APNs sertifikası kullanır`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Android`})}),_jsx(_components.td,{children:`No`}),_jsx(_components.td,{children:`Arama tarzı davranışı simüle etmek için yalnızca veri pushleri kullanır`})]})]})]}),`\n`,_jsx(_components.p,{children:`Platformlar arası bir arama uygulaması oluşturuyorsanız, her platform için farklı yaklaşımlar kullanacaksınız.`}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`ios-voip-push-bildirimleri-gönderme`,children:`iOS: VoIP push bildirimleri gönderme`}),`\n`,_jsx(_components.p,{children:`iOS’ta VoIP bildirimleri Apple PushKit kullanır ve standart push bildirimlerinden farklı özel teslimat kurallarına sahiptir. Apple VoIP pushlerini farklı şekilde ele aldığından, OneSignal’ın VoIP için ayrı bir uygulama yapılandırması gerekir.`}),`\n`,_jsxs(Warning,{children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Başlamadan önce`}),` — en sık yapılan VoIP kurulum hataları şunlardır:`]}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`VoIP için ayrı bir OneSignal uygulaması oluşturmamak.`}),` Apple VoIP için farklı bir sertifika türü gerektirdiğinden, OneSignal’ın VoIP pushlerini gönderebilmesi için ayrı bir uygulamaya ihtiyacı vardır. Mevcut push uygulamanız her ikisi için kullanılamaz.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Yanlış sertifika yüklemek.`}),` Standart APNs push sertifikanız değil, bir `,_jsx(_components.strong,{children:`VoIP Services Certificate (.p12)`}),` gerekir. Yanlış sertifika kullanılması sessiz teslimat hatalarına neden olur.`]}),`\n`,_jsxs(_components.li,{children:[_jsxs(_components.strong,{children:[`Sandbox’ta `,_jsx(_components.code,{children:`test_type`}),` alanını unutmak.`]}),` Geliştirme derlemesiyle test ederken, token kaydederken `,_jsx(_components.code,{children:`\"test_type\": 1`}),` eklemeniz gerekir. Bu alan olmadan API çağrısı başarılı olur ancak pushler hiçbir zaman ulaşmaz.`]}),`\n`]})]}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`PushKit kullanarak bir VoIP token kaydetme`,children:[_jsx(_components.p,{children:`VoIP bildirimleri için kaydolmak ve bir VoIP token almak üzere Apple’ın PushKit framework’ünü kullanın.`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Uygulamanızda PushKit’i uygulayın`}),`\n`,_jsx(_components.li,{children:`Apple token’ı yenilerken VoIP tokenını saklayın ve güncelleyin`}),`\n`,_jsx(_components.li,{children:`Apple’ın VoIP politikalarını yakından takip edin`}),`\n`]}),_jsxs(Accordion,{title:`Örnek: PushKit delegate uygulaması`,id:`oernek-pushkit-delegate-uygulamasi`,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:` // Bu tokenı OneSignal'a iletin — bkz. Adım 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:`Bu standart Apple PushKit kodudur. OneSignal bir PushKit SDK’sı sunmaz — tokenı kendiniz kaydedip 4. Adımda OneSignal’a iletirsiniz.`})]}),_jsx(_components.p,{children:`Apple kaynakları:`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://developer.apple.com/documentation/pushkit`,children:`PushKit belgeleri`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://developer.apple.com/documentation/pushkit/responding_to_voip_notifications_from_pushkit`,children:`VoIP pushlerine yanıt verme`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://developer.apple.com/library/content/documentation/Performance/Conceptual/EnergyGuide-iOS/OptimizeVoIP.html`,children:`Apple’ın VoIP en iyi uygulamaları`})}),`\n`]})]}),_jsxs(Step,{title:`VoIP için ayrı bir OneSignal uygulaması oluşturma`,children:[_jsxs(_components.p,{children:[`Apple VoIP pushleri, standart push bildirimlerinden farklı bir sertifika türü gerektirir. Tek bir OneSignal uygulaması yalnızca bir sertifika türü kullanabildiğinden, `,_jsx(_components.strong,{children:`iki ayrı OneSignal uygulaması`}),` oluşturmanız gerekir:`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Ana Push Uygulaması`}),`: Standart push bildirimleri için APNs sertifikanızı kullanır`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`VoIP Push Uygulaması`}),`: Yalnızca VoIP bildirimleri için VoIP Services Certificate kullanır`]}),`\n`]}),_jsxs(_components.p,{children:[`Her iki uygulama da aynı iOS bundle ID’sini kullanmalı ve aynı yerel iOS uygulamasıyla ilişkilendirilmelidir. OneSignal SDK’sını iki kez başlatmanıza `,_jsx(_components.strong,{children:`gerek yoktur`}),` — VoIP uygulaması yalnızca API aracılığıyla VoIP pushlerini göndermek için sunucu tarafında kullanılır.`]}),_jsxs(Note,{children:[`Bundle ID (ör. `,_jsx(_components.code,{children:`com.yourcompany.appname`}),`), Xcode’da hedef uygulamanızın `,_jsx(_components.strong,{children:`General`}),` sekmesinde bulunur.`]})]}),_jsxs(Step,{title:`VoIP Services Certificate yükleme`,children:[_jsxs(_components.p,{children:[`VoIP OneSignal uygulamanıza bir `,_jsx(_components.strong,{children:`VoIP Services Certificate (.p12)`}),` yükleyin. Bu, normal bildirimler için kullandığınız standart APNs push sertifikasından farklı bir sertifika türüdür.`]}),_jsx(_components.p,{children:`Oluşturmak için:`}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`https://developer.apple.com/account/resources/certificates/add`,children:`Apple Developer Portal`}),` adresine gidin`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`VoIP Services Certificate`}),` seçeneğini belirleyin`]}),`\n`,_jsx(_components.li,{children:`Sertifikayı oluşturmak ve indirmek için yönergeleri izleyin`}),`\n`,_jsxs(_components.li,{children:[`Keychain Access’te açıp `,_jsx(_components.code,{children:`.p12`}),` dosyası olarak dışa aktarın`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`.p12`}),` dosyasını VoIP OneSignal uygulamanızın iOS ayarlarına yükleyin`]}),`\n`]}),_jsx(Warning,{children:_jsxs(_components.p,{children:[`Standart APNs push sertifikanızı VoIP uygulamasına `,_jsx(_components.strong,{children:`yüklemeyin`}),`. Yanlış sertifika türü kullanırsanız, API push isteğinizi kabul eder ancak Apple reddeder ve bildirim hiçbir zaman ulaşmaz.`]})}),_jsx(Frame,{caption:`Keychain Access'te VoIP sertifikası`,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:`macOS Keychain Access'te gösterilen VoIP Services Certificate`,\"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:`OneSignal kontrol panelinde yüklenen VoIP sertifikası`,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:`OneSignal kontrol paneline yüklenen VoIP Services Certificate`,\"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:`VoIP tokenını OneSignal'a kaydetme`,children:[_jsxs(_components.p,{children:[`VoIP tokenını VoIP OneSignal uygulamanıza kaydetmek için `,_jsx(_components.a,{href:`/reference/create-user`,children:`Create User`}),` API’sini kullanın.`]}),_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsxs(_components.strong,{children:[`Sandbox/geliştirme derlemeleri `,_jsx(_components.code,{children:`\"test_type\": 1`}),` gerektirir.`]}),` Bu alanı atlarsanız, API çağrısı başarılı olur ve hata döndürmez, ancak Apple tokenı üretim olarak değerlendirir ve gönderilen her pushu sessizce reddeder.`]})}),_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:[`Geçerli bir VoIP token, 64 karakterli küçük harfli bir onaltılık dizedir (ör. `,_jsx(_components.code,{children:`a1b2c3d4e5f6...`}),`). PushKit iOS Simülatör’de çalışmaz — geçerli bir token elde etmek için gerçek bir cihaz kullanmanız gerekir.`]}),_jsxs(_components.p,{children:[`Tokenı daha sonra güncellemek için `,_jsx(_components.a,{href:`/reference/update-subscription`,children:`Update Subscription`}),` API’sini kullanın.`]})]}),_jsxs(Step,{title:`VoIP bildirimleri gönderme`,children:[_jsxs(_components.p,{children:[_jsx(_components.a,{href:`/reference/create-message`,children:`Create Notification`}),` API’sini aşağıdaki parametrelerle kullanın:`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`\"apns_push_type_override\": \"voip\"`}),` — Apple’a bunun bir VoIP pushu olduğunu bildirir`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`app_id`}),` — VoIP uygulama kimliğiniz`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`include_subscription_ids`}),` — kaydettiğiniz VoIP abonelik kimliği`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`contents`}),` veya `,_jsx(_components.code,{children:`content_available`}),` alanlarından biri zorunludur`]}),`\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:`VoIP kurulumunuzu doğrulama`,children:[_jsx(_components.p,{children:`iOS VoIP entegrasyonunuz şu durumlarda doğru çalışıyordur:`}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`VoIP token, `,_jsx(_components.strong,{children:`VoIP uygulamanızda`}),` bir iOS push aboneliği olarak görünür`]}),`\n`,_jsxs(_components.li,{children:[`Bir VoIP push, uygulamanızda `,_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:)`})}),` metodunu tetikler`]}),`\n`,_jsx(_components.li,{children:`Uygulama sonlandırılmış veya arka planda olsa bile uyanır`}),`\n`]})]})]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`android-voip-tarzı-davranışı-simüle-etme`,children:`Android: VoIP tarzı davranışı simüle etme`}),`\n`,_jsx(_components.p,{children:`Android, VoIP push bildirimlerini desteklemez. Apple PushKit’e eşdeğer bir özellik yoktur.`}),`\n`,_jsx(_components.p,{children:`Bunun yerine, Android arama uygulamaları şunları kullanarak VoIP davranışını simüle eder:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Yalnızca veri push bildirimleri`}),`\n`,_jsx(_components.li,{children:`Ön plan servisleri`}),`\n`,_jsx(_components.li,{children:`Özel arama tarzı kullanıcı arayüzü`}),`\n`]}),`\n`,_jsx(_components.p,{children:`Bunu başarmak için OneSignal’ın normal Android push desteğini yerel Android API’leriyle birlikte kullanabilirsiniz.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Önerilen yaklaşım:`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Yalnızca veri bildirimleri gönderin`}),`\n`,_jsxs(_components.li,{children:[`Bunları uygulamanızda şu şekilde işleyin:`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Bir ön plan servisi başlatın`}),`\n`,_jsx(_components.li,{children:`Bir arama kullanıcı arayüzü aktivitesi başlatın`}),`\n`,_jsx(_components.li,{children:`Özel bir gelen arama bildirimi görüntüleyin`}),`\n`]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Bildirim işlemeyi engellemek ve tam olarak kontrol etmek istiyorsanız, Android’in `,_jsx(_components.a,{href:`/docs/tr/service-extensions#notification-service-extension`,children:`Notification Service Extension`}),` özelliğini kullanın.`]}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Yararlı kaynaklar:`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://developer.android.com/guide/topics/connectivity/telecom/selfManaged`,children:`Android arama uygulaması kılavuzu`})}),`\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:`Gelen arama kullanıcı arayüzü örneği`})}),`\n`]}),`\n`,_jsxs(Info,{children:[`Android kurulumu `,_jsx(_components.strong,{children:`OneSignal’a özgü değildir`}),`. OneSignal yalnızca push yükünü iletir; uygulamanız arama davranışını işler.`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`sss`,children:`SSS`}),`\n`,_jsx(Heading,{level:`3`,id:`onaylanmış-teslimatlar-voip-ile-çalışır-mı`,children:`Onaylanmış teslimatlar VoIP ile çalışır mı?`}),`\n`,_jsxs(_components.p,{children:[`Hayır. `,_jsx(_components.a,{href:`/docs/tr/confirmed-delivery`,children:`Confirmed Deliveries`}),`, VoIP pushlerinde `,_jsx(_components.strong,{children:`takip edilmez`}),`. Onaylanmış Teslimatlar, VoIP bildirimleri için tetiklenmeyen Notification Service Extension’a dayanır.`]}),`\n`,_jsx(_components.p,{children:`Bunun yerine, alındı bilgisini yerel iOS PushKit olayı aracılığıyla takip edin:`}),`\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:[`Bu olay, ana uygulama hedefinizin bir parçasıdır ve ayrı bir uzantı gerektirmez. Ayrıntılar için `,_jsx(_components.a,{href:`https://developer.apple.com/documentation/pushkit/responding_to_voip_notifications_from_pushkit#3377587`,children:`Apple’ın VoIP belgelerine`}),` bakın.`]}),`\n`,_jsx(Heading,{level:`3`,id:`voip-bildirimlerini-onesignal-kontrol-panelinden-gönderebilir-miyim`,children:`VoIP bildirimlerini OneSignal kontrol panelinden gönderebilir miyim?`}),`\n`,_jsxs(_components.p,{children:[`Hayır. VoIP bildirimleri, `,_jsx(_components.code,{children:`\"apns_push_type_override\": \"voip\"`}),` parametresiyle `,_jsx(_components.a,{href:`/reference/create-message`,children:`Create Notification`}),` API’si aracılığıyla gönderilmelidir. Kontrol paneli bu parametreyi desteklemez.`]}),`\n`,_jsx(Heading,{level:`3`,id:`voip-pushum-neden-sessizce-başarısız-oluyor`,children:`VoIP pushum neden sessizce başarısız oluyor?`}),`\n`,_jsx(_components.p,{children:`VoIP pushleri, OneSignal API’sinden herhangi bir hata almadan başarısız olabilir. Bu kontrol listesini takip edin:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Sandbox/geliştirme derlemesi mi kullanıyorsunuz?`}),` Create User API’si aracılığıyla token kaydederken `,_jsx(_components.code,{children:`\"test_type\": 1`}),` eklemeniz gerekir. Bu alan olmadan token üretim olarak kaydedilir, Apple pushu reddeder ve sessizce başarısız olur.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Doğru sertifikayı yüklediniz mi?`}),` VoIP OneSignal uygulaması, standart bir APNs push sertifikası değil, `,_jsx(_components.strong,{children:`VoIP Services Certificate (.p12)`}),` kullanmalıdır. Her ikisi de Keychain Access’te benzer görünür — sertifika adının “VoIP Services” ile başladığını doğrulayın.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Doğru OneSignal uygulamasına mı gönderiyorsunuz?`}),` Gönderme isteğinizdeki `,_jsx(_components.code,{children:`app_id`}),`, ana push uygulamanız değil `,_jsx(_components.strong,{children:`VoIP uygulamanız`}),` olmalıdır. `,_jsx(_components.code,{children:`REST API Key`}),` de VoIP uygulamasından alınmış olmalıdır.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`VoIP token geçerli mi?`}),` Tokenlar, uygulama yeniden yüklendiğinde veya cihaz sıfırlandığında sona erer. Token’ın 64 karakterli küçük harfli bir onaltılık dize olduğunu ve yakın zamanda kaydedildiğini doğrulayın.`]}),`\n`,_jsxs(_components.li,{children:[_jsxs(_components.strong,{children:[`Uygulamanız `,_jsx(_components.code,{children:`reportNewIncomingVoIPPushPayload`}),` çağırıyor mu?`]}),` iOS 13’ten itibaren Apple, VoIP pushu alan ancak CallKit’e bir arama bildirmeyen uygulamaları `,_jsx(_components.strong,{children:`sonlandırır`}),`. Bu bir Apple gereksinimi olup OneSignal’a özgü bir kısıtlama değildir.`]}),`\n`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`i̇lgili-sayfalar`,children:`İlgili sayfalar`}),`\n`,_jsxs(Columns,{cols:2,children:[_jsx(Card,{title:`Create message API`,icon:`code`,href:`/reference/create-message`,children:_jsx(_components.p,{children:`REST API kullanarak push bildirimlerini programatik olarak gönderin.`})}),_jsx(Card,{title:`Onaylanmış teslimatlar`,icon:`circle-check`,href:`/docs/tr/confirmed-delivery`,children:_jsx(_components.p,{children:`Desteklenen platformlarda push bildirim teslimat onayını takip edin.`})}),_jsx(Card,{title:`Servis uzantıları`,icon:`puzzle-piece`,href:`/docs/tr/service-extensions`,children:_jsx(_components.p,{children:`Notification Service Extension ile bildirim işlemeyi özelleştirin.`})}),_jsx(Card,{title:`Create User API`,icon:`user-plus`,href:`/reference/create-user`,children:_jsx(_components.p,{children:`OneSignal API ile kullanıcıları ve abonelikleri kaydedin.`})})]})]})}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":"VoIP push bildirimleri","description":"PushKit token kaydı ve VoIP sertifikası kullanarak OneSignal ile iOS'ta VoIP push bildirimleri gönderin; arama tarzı davranış için Android alternatifleri de sunulmaktadır.","keywords":["VoIP push notifications","iOS VoIP","PushKit","VoIP token","VoIP Services Certificate","android call notification"],"href":"/docs/tr/voip-notifications"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Platform farkları","slug":"platform-farkları","depth":3,"children":[]},{"title":"iOS: VoIP push bildirimleri gönderme","slug":"ios-voip-push-bildirimleri-gönderme","depth":2,"children":[]},{"title":"Android: VoIP tarzı davranışı simüle etme","slug":"android-voip-tarzı-davranışı-simüle-etme","depth":2,"children":[]},{"title":"SSS","slug":"sss","depth":2,"children":[{"title":"Onaylanmış teslimatlar VoIP ile çalışır mı?","slug":"onaylanmış-teslimatlar-voip-ile-çalışır-mı","depth":3,"children":[]},{"title":"VoIP bildirimlerini OneSignal kontrol panelinden gönderebilir miyim?","slug":"voip-bildirimlerini-onesignal-kontrol-panelinden-gönderebilir-miyim","depth":3,"children":[]},{"title":"VoIP pushum neden sessizce başarısız oluyor?","slug":"voip-pushum-neden-sessizce-başarısız-oluyor","depth":3,"children":[]}]},{"title":"İlgili sayfalar","slug":"i̇lgili-sayfalar","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":"VoIP push bildirimleri - 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":0},"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":1}}},"lastModified":"2026-03-13T20:50:07.489Z","originalFileLocation":"docs/tr/voip-notifications.mdx","locale":"tr"},"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=\"PushKit token kaydı ve VoIP sertifikası kullanarak OneSignal ile iOS\u0026#x27;ta VoIP push bildirimleri gönderin; arama tarzı davranış için Android alternatifleri de sunulmaktadır.\">\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=\"VoIP push bildirimleri - OneSignal Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"PushKit token kaydı ve VoIP sertifikası kullanarak OneSignal ile iOS\u0026#x27;ta VoIP push bildirimleri gönderin; arama tarzı davranış için Android alternatifleri de sunulmaktadır.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"OneSignal Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://documentation.onesignal.com/docs/tr/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=Mobil+anl%C4%B1k+bildirimler\u0026amp;title=VoIP+push+bildirimleri\u0026amp;description=PushKit+token+kayd%C4%B1+ve+VoIP+sertifikas%C4%B1+kullanarak+OneSignal+ile+iOS%27ta+VoIP+push+bildirimleri+g%C3%B6nderin%3B+arama+tarz%C4%B1+davran%C4%B1%C5%9F+i%C3%A7in+Android+alternatifleri+de+sun\u0026amp;theme=12e705baa88dc8cc6d7a9877\u0026amp;signature=cb0d2290cf72145c1b417f7d177ed3d44c93cc7b94c3971022571806863abf30\">\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=\"VoIP push bildirimleri - OneSignal Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"PushKit token kaydı ve VoIP sertifikası kullanarak OneSignal ile iOS\u0026#x27;ta VoIP push bildirimleri gönderin; arama tarzı davranış için Android alternatifleri de sunulmaktadır.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://onesignal.mintlify.site/_mintlify/api/og/v2?division=Mobil+anl%C4%B1k+bildirimler\u0026amp;title=VoIP+push+bildirimleri\u0026amp;description=PushKit+token+kayd%C4%B1+ve+VoIP+sertifikas%C4%B1+kullanarak+OneSignal+ile+iOS%27ta+VoIP+push+bildirimleri+g%C3%B6nderin%3B+arama+tarz%C4%B1+davran%C4%B1%C5%9F+i%C3%A7in+Android+alternatifleri+de+sun\u0026amp;theme=12e705baa88dc8cc6d7a9877\u0026amp;signature=cb0d2290cf72145c1b417f7d177ed3d44c93cc7b94c3971022571806863abf30\">\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/tr/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/tr/voip-notifications.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"tr\" href=\"https://documentation.onesignal.com/docs/tr/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=\"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=\"fr\" href=\"https://documentation.onesignal.com/docs/fr/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/tr/voip-notifications#webpage\",\"url\":\"https://documentation.onesignal.com/docs/tr/voip-notifications\",\"name\":\"VoIP push bildirimleri\",\"description\":\"PushKit token kaydı ve VoIP sertifikası kullanarak OneSignal ile iOS'ta VoIP push bildirimleri gönderin; arama tarzı davranış için Android alternatifleri de sunulmaktadır.\",\"dateModified\":\"2026-03-13T20:50:07.489Z\",\"isPartOf\":{\"@id\":\"https://documentation.onesignal.com#website\"},\"breadcrumb\":{\"@id\":\"https://documentation.onesignal.com/docs/tr/voip-notifications#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://documentation.onesignal.com/docs/tr/voip-notifications#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Mesaj kanalları\",\"item\":\"https://documentation.onesignal.com/docs/tr/channel-setup\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Anlık bildirimler\",\"item\":\"https://documentation.onesignal.com/docs/tr/push\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Mobil anlık bildirimler\",\"item\":\"https://documentation.onesignal.com/docs/tr/mobile-push-setup\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"VoIP push bildirimleri\",\"item\":\"https://documentation.onesignal.com/docs/tr/voip-notifications\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://documentation.onesignal.com/docs/tr/voip-notifications#article\",\"headline\":\"VoIP push bildirimleri\",\"name\":\"VoIP push bildirimleri\",\"description\":\"PushKit token kaydı ve VoIP sertifikası kullanarak OneSignal ile iOS'ta VoIP push bildirimleri gönderin; arama tarzı davranış için Android alternatifleri de sunulmaktadır.\",\"url\":\"https://documentation.onesignal.com/docs/tr/voip-notifications\",\"mainEntityOfPage\":{\"@id\":\"https://documentation.onesignal.com/docs/tr/voip-notifications#webpage\"},\"dateModified\":\"2026-03-13T20:50:07.489Z\",\"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","tabs":[{"tab":"Ana Sayfa","pages":[{"title":"Ana Sayfa","href":"/docs/tr/home"}]},{"tab":"Kullanıcı Kılavuzları","groups":[{"group":"İlk adımlar \u0026 ayarlar","pages":[{"title":"OneSignal ile başlarken","href":"/docs/tr/quickstart-guide"},{"group":"OneSignal panosu","pages":[{"title":"Uygulamalar, Kuruluşlar ve Hesaplar","href":"/docs/tr/apps-organizations"},{"title":"Ekip üyeleri","href":"/docs/tr/manage-team-members"},{"title":"Anahtarlar ve Kimlikler","href":"/docs/tr/keys-and-ids"},{"title":"Denetim Günlükleri","href":"/docs/tr/audit-logs"},{"title":"Kullanım ve faturalandırma","href":"/docs/tr/billing-faq"},{"title":"Devre dışı bırakılmış uygulamalar ve organizasyonlar","href":"/docs/tr/disabled-apps"}]},{"title":"OneSignal'e Geçiş","href":"/docs/tr/migrating-to-onesignal"}]},{"group":"Mesaj kanalları","pages":[{"title":"Kanal kurulumu","href":"/docs/tr/channel-setup"},{"group":"Anlık bildirimler","pages":[{"title":"Push genel bakış","href":"/docs/tr/push"},{"group":"Mobil anlık bildirimler","pages":[{"title":"Mobil push kurulumu","href":"/docs/tr/mobile-push-setup"},{"title":"Push izinleri için istem","href":"/docs/tr/prompt-for-push-permissions"},{"title":"iOS geçici push bildirimleri","href":"/docs/tr/ios-provisional-push-notifications"},{"title":"Android bildirim kategorileri","href":"/docs/tr/android-notification-categories"},{"title":"Veri ve arka plan bildirimleri","description":"iOS ve Android'de görünür bir mesaj görüntülemeden verileri senkronize etmek veya arka plan görevlerini tetiklemek için sessiz push bildirimleri gönderin.","href":"/docs/tr/data-notifications"},{"title":"VoIP push bildirimleri","href":"/docs/tr/voip-notifications"}]},{"group":"Web anlık bildirimler","pages":[{"title":"Web push kurulumu","description":"Chrome, Firefox, Safari ve Edge genelinde OneSignal ile web push bildirimlerini ayarlayın; site, istemler ve service worker yapılandırması dahil.","href":"/docs/tr/web-push-setup"},{"title":"Web izin istemleri","href":"/docs/tr/permission-requests"},{"title":"Web push SSS","href":"/docs/tr/web-push-setup-faq"},{"title":"Web push tarayıcı davranışı","href":"/docs/tr/browser-behavior-and-unsubscribes"},{"title":"Web push için Shopify entegrasyonu","href":"/docs/tr/shopify"},{"title":"Web push için OneSignal WordPress eklentisi kurulumu","href":"/docs/tr/wordpress"},{"title":"WordPress sorun giderme","href":"/docs/tr/troubleshooting-wordpress-web-push"}]},{"group":"Anlık bildirim özellikleri","pages":[{"title":"Bildirim simgeleri","href":"/docs/tr/notification-icons"},{"title":"Bildirim resimleri ve zengin medya","href":"/docs/tr/rich-media"},{"title":"Bildirim sesleri","href":"/docs/tr/notification-sounds"},{"title":"Rozetler","href":"/docs/tr/badges"},{"title":"Push bildirimleri için eylem düğmeleri","href":"/docs/tr/action-buttons"},{"title":"Push frekans sınırlaması","href":"/docs/tr/frequency-capping"},{"title":"Push kısıtlama","href":"/docs/tr/throttling"},{"title":"iOS: Odak modları ve kesinti seviyeleri","href":"/docs/tr/ios-focus-modes-and-interruption-levels"},{"title":"iOS: Uygunluk puanı","href":"/docs/tr/ios-relevance-score"}]},{"group":"Anlık bildirim analizi \u0026 sorunların çözümü","pages":[{"title":"Push mesaj raporları","href":"/docs/tr/push-notification-message-reports"},{"title":"Onaylanmış teslimat","href":"/docs/tr/confirmed-delivery"},{"title":"Bildirim CTR'si","href":"/docs/tr/notification-ctr"},{"title":"Mobil push: Bildirimler gösterilmiyor veya gecikti","href":"/docs/tr/notifications-show-successful-but-are-not-being-shown"},{"title":"Web push: Bildirimler gösterilmiyor","href":"/docs/tr/notifications-not-shown-web-push"},{"title":"Bildirim Resimleri Gösterilmiyor","href":"/docs/tr/notification-images-not-showing"},{"title":"Yinelenen Bildirimler","href":"/docs/tr/duplicated-notifications"},{"title":"FCM Süresi Dolmuş Token SSS","href":"/docs/tr/fcm-expired-token-faq"}]}]},{"group":"In-app mesajlar","pages":[{"title":"Uygulama içi genel bakış","href":"/docs/tr/in-app-messages-setup"},{"title":"Uygulama içi tetikleyiciler","href":"/docs/tr/iam-triggers"},{"title":"Uygulama içi tıklama eylemleri","href":"/docs/tr/iam-click-actions"},{"group":"In-app tasarım","pages":[{"title":"Sürükle ve bırak ile uygulama içi mesajlar tasarlama","href":"/docs/tr/design-your-in-app-message"},{"title":"HTML ile uygulama içi mesajlar tasarlama","href":"/docs/tr/design-your-in-app-message-with-html"},{"title":"Uygulama içi mesaj şablonları ve hızlı başlangıçlar","href":"/docs/tr/in-app-html-templates"},{"title":"Uygulama içi mesaj JavaScript API referansı","href":"/docs/tr/in-app-message-api"}]},{"title":"Uygulama içi mesaj raporları","href":"/docs/tr/in-app-message-reports"},{"title":"Uygulama içi sorun giderme","href":"/docs/tr/in-app-message-troubleshooting"}]},{"group":"E-posta","pages":[{"title":"Email genel bakış","href":"/docs/tr/email-messaging"},{"group":"E-posta kurulumu","pages":[{"title":"Email kurulumu","href":"/docs/tr/email-setup"},{"title":"Email DNS yapılandırması","href":"/docs/tr/email-dns-configuration"},{"title":"Gönderenler","href":"/docs/tr/senders"},{"title":"İşlemsel e-postalar","href":"/docs/tr/setup-transactional-emails"},{"title":"Özel email abonelikten çıkma sayfası oluşturma","href":"/docs/tr/create-custom-unsubscribe-page"}]},{"group":"E-posta teslim edilebilirlik","pages":[{"title":"Email mesaj raporları","href":"/docs/tr/email-message-reports"},{"title":"Email teslim edilebilirliği","href":"/docs/tr/email-deliverability"},{"title":"Email itibar en iyi uygulamaları","href":"/docs/tr/email-reputation-best-practices"},{"title":"E-posta adresi doğrulama","href":"/docs/tr/email-address-validation"},{"title":"E-posta ısınma rehberi","href":"/docs/tr/email-warm-up"},{"title":"Google Postmaster Tools","href":"/docs/tr/google-postmaster-tools"},{"title":"Engelleme Listeleri","href":"/docs/tr/suppressions"},{"title":"Email sorun giderme","href":"/docs/tr/email-troubleshooting"}]},{"group":"E-posta mesajlaşma","pages":[{"title":"Sürükle ve bırak ile email tasarlama","href":"/docs/tr/design-emails-with-drag-and-drop"},{"title":"HTML ile e-posta tasarlama","href":"/docs/tr/design-emails-with-html"},{"title":"E-posta abonelikten çıkma bağlantıları ve başlıkları","href":"/docs/tr/unsubscribe-links-email-subscriptions"},{"title":"Email şablon iletme","href":"/docs/tr/email-template-forwarding"}]}]},{"group":"SMS \u0026 RCS","pages":[{"title":"SMS, MMS ve RCS'ye genel bakış","href":"/docs/tr/sms-messaging"},{"title":"Rich Communication Services (RCS)","href":"/docs/tr/rcs-messaging"},{"group":"SMS kurulumu","pages":[{"title":"SMS kurulumu","href":"/docs/tr/sms-setup"},{"title":"Gönderici kaynağı başvuruları ve ülke gereksinimleri","sidebarTitle":"Gönderici kaynağı başvuruları","href":"/docs/tr/sms-registration-requirements"},{"title":"SMS kabul etme ve toplama","href":"/docs/tr/sms-opt-in-and-collection"},{"title":"SMS onay anahtar kelime yönetimi","href":"/docs/tr/sms-consent-keyword-management"},{"title":"SMS anahtar kelimeleri","href":"/docs/tr/keywords"}]},{"group":"SMS mesajlaşma","pages":[{"title":"SMS mesaj raporları","href":"/docs/tr/sms-message-reports"},{"title":"Tek seferlik parolalar (OTP)","sidebarTitle":"Tek seferlik parolalar","href":"/docs/tr/sms-verify"}]}]},{"group":"Canlı Etkinlikler","pages":[{"title":"Live Activities","href":"/docs/tr/live-activities"},{"title":"Live Activities Analizi","href":"/docs/tr/live-activities-analytics"}]},{"group":"Özellikler","pages":[{"title":"A/B Testi","href":"/docs/tr/ab-testing"},{"title":"Çok dilli mesajlaşma","href":"/docs/tr/multi-language-messaging"},{"group":"Kişiselleştirme","pages":[{"title":"Kişiselleştirme","href":"/docs/tr/message-personalization"},{"title":"Liquid söz dizimini kullanma","href":"/docs/tr/using-liquid-syntax"},{"title":"Veri akışları","href":"/docs/tr/data-feeds"},{"title":"Custom Events ile Kişiselleştirme","href":"/docs/tr/personalization-custom-event"},{"title":"Özelliklerle kişiselleştirme","href":"/docs/tr/personalization-properties-and-tags"},{"title":"API custom_data ile mesajları kişiselleştirin","href":"/docs/tr/personalization-api-custom-data"},{"title":"CSV ile Dinamik İçerik","href":"/docs/tr/dynamic-content"}]},{"group":"URL'ler, Link'ler ve Deep Link'ler","pages":[{"title":"URL'ler, bağlantılar ve derin bağlantılar","href":"/docs/tr/links"},{"title":"Deep Linking","href":"/docs/tr/deep-linking"},{"title":"E-posta abonelikten çıkma bağlantıları ve başlıkları","href":"/docs/tr/unsubscribe-links-email-subscriptions"}]},{"title":"Yeniden Hedefleme Mesajları","href":"/docs/tr/retargeting"},{"title":"Şablonlar","href":"/docs/tr/templates"},{"title":"Etiketler","href":"/docs/tr/labels"}]}]},{"group":"Journey'ler","pages":[{"title":"Journeys'e genel bakış","href":"/docs/tr/journeys-overview"},{"group":"Journey özellikleri","pages":[{"title":"Journey ayarları","href":"/docs/tr/journeys-settings"},{"title":"Journey mesajları","href":"/docs/tr/journeys-messages"},{"title":"Journey eylemleri","href":"/docs/tr/journeys-actions"},{"title":"Journey webhook'ları","href":"/docs/tr/journeys-webhook"},{"title":"Journey Webhook'ları ile WhatsApp Mesajları Gönderme","href":"/docs/tr/sending-whatsapp-messages-via-journey-webhooks"},{"title":"Journey'leri Yönetme","href":"/docs/tr/managing-journeys"},{"title":"Journey analitiği","href":"/docs/tr/journeys-analytics"}]},{"title":"Journey örnekleri","href":"/docs/tr/journeys-examples"}]},{"group":"Hedeflenen \u0026 özel olaylar","pages":[{"title":"Segmentler","href":"/docs/tr/segmentation"},{"group":"Kullanıcılar \u0026 Abonelikler","pages":[{"title":"Kullanıcılar","href":"/docs/tr/users"},{"title":"Abonelikler","href":"/docs/tr/subscriptions"},{"title":"Takma Adlar","href":"/docs/tr/aliases"},{"title":"Test kullanıcıları","href":"/docs/tr/test-users"},{"title":"Kullanıcıları silme","href":"/docs/tr/delete-users"}]},{"group":"Özel olaylar","pages":[{"title":"Özel olaylar","href":"/docs/tr/custom-events"},{"title":"Özel olay depolama ve saklama","href":"/docs/tr/custom-event-storage"}]},{"group":"Etiketler","pages":[{"title":"Etiketler","href":"/docs/tr/add-user-data-tags"},{"title":"Etiketler: Zaman Operatörleri","href":"/docs/tr/time-operators"}]},{"title":"İçe aktarma","href":"/docs/tr/import"}]},{"group":"Analitik ve Entegrasyonlar","pages":[{"group":"Analitik","pages":[{"title":"Analitik genel bakış","href":"/docs/tr/analytics-overview"},{"title":"Hedefler","sidebarTitle":"Hedefler","href":"/docs/tr/goals"},{"title":"Şablon analitiği","href":"/docs/tr/template-analytics"},{"title":"Verileri dışa aktarma","href":"/docs/tr/exporting-data"},{"title":"Özel Sonuçlar","href":"/docs/tr/custom-outcomes"},{"title":"Dönüşüm metrikleri","href":"/docs/tr/conversion-metrics"},{"title":"Etkileşim trendleri","href":"/docs/tr/engagement-analytics"},{"title":"Abonelik trendleri","href":"/docs/tr/subscription-trends"},{"group":"Elde tutma metrikleri","pages":[{"title":"Elde tutma metrikleri","href":"/docs/tr/retention-metrics"},{"title":"Elde tutma eğrilerini yorumlama","href":"/docs/tr/interpreting-retention-curves"}]},{"title":"Metrik Sözlüğü","href":"/docs/tr/analytics-metrics-glossary"}]},{"group":"Olay Akışları","pages":[{"title":"Event Streams","href":"/docs/tr/event-streams"},{"title":"Event Stream veri referansı","sidebarTitle":"Event Stream verileri","href":"/docs/tr/event-streams-data"},{"title":"Uygulama içi mesaj olay akışları","href":"/docs/tr/iam-event-streams"},{"title":"Event Streams ile Google Sheets entegrasyonu","href":"/docs/tr/google-sheets-integration-with-event-streams"}]},{"group":"Entegrasyonlar","pages":[{"title":"Entegrasyonlara genel bakış","href":"/docs/tr/integrations"},{"title":"Veri ambarı, DMP ve CRM entegrasyonu","href":"/docs/tr/database-dmp-crm-integration"},{"group":"OneSignal veri kaynağı","pages":[{"title":"Amplitude","href":"/docs/tr/amplitude"},{"title":"Databricks","href":"/docs/tr/databricks"},{"title":"Google BigQuery","href":"/docs/tr/bigquery"},{"title":"Mixpanel","href":"/docs/tr/mixpanel"},{"title":"Snowflake","href":"/docs/tr/snowflake"},{"title":"Segment (Twilio)","href":"/docs/tr/segment-onesignal-integration"}]},{"group":"OneSignal hedef","pages":[{"title":"Adobe Audience Manager","href":"/docs/tr/adobe-audience-manager"},{"title":"AlloyDB","href":"/docs/tr/alloydb"},{"title":"Amazon Athena","href":"/docs/tr/amazon-athena"},{"title":"Amazon S3","href":"/docs/tr/s3"},{"title":"Amplitude","href":"/docs/tr/amplitude"},{"title":"Apache Kafka","href":"/docs/tr/kafka"},{"title":"Amazon Redshift","href":"/docs/tr/amazon-redshift"},{"title":"Azure Synapse","href":"/docs/tr/azure-synapse"},{"title":"ClickHouse","href":"/docs/tr/clickhouse"},{"title":"Confluent Cloud","href":"/docs/tr/confluent-cloud"},{"title":"Databricks","href":"/docs/tr/databricks"},{"title":"Elasticsearch","href":"/docs/tr/elasticsearch"},{"title":"Google BigQuery","href":"/docs/tr/bigquery"},{"title":"Google Cloud SQL","href":"/docs/tr/google-cloud-sql"},{"title":"Google Sheets","href":"/docs/tr/google-sheets"},{"title":"Greenplum","href":"/docs/tr/greenplum"},{"title":"HubSpot","href":"/docs/tr/hubspot"},{"title":"Materialize","href":"/docs/tr/materialize"},{"title":"Microsoft Fabric","href":"/docs/tr/microsoft-fabric"},{"title":"Mixpanel","href":"/docs/tr/mixpanel"},{"title":"MotherDuck","href":"/docs/tr/motherduck"},{"title":"MySQL","href":"/docs/tr/mysql"},{"title":"PostgreSQL","href":"/docs/tr/postgresql"},{"title":"Pub/Sub","href":"/docs/tr/google-pubsub"},{"title":"SingleStore","href":"/docs/tr/singlestore"},{"title":"Snowflake","href":"/docs/tr/snowflake"},{"title":"SQL Server","href":"/docs/tr/sql-server"},{"title":"Starburst Enterprise","href":"/docs/tr/starburst-enterprise"},{"title":"Starburst Galaxy","href":"/docs/tr/starburst-galaxy"},{"title":"Trino","href":"/docs/tr/trino"},{"title":"Segment (Twilio)","href":"/docs/tr/segment-onesignal-integration"}]},{"group":"Atribüsyon","pages":[{"title":"RevenueCat","href":"/docs/tr/revenuecat"},{"title":"Adjust","href":"/docs/tr/adjust"},{"title":"BlueConic","href":"/docs/tr/blueconic"}]},{"title":"OneSignal ile Entegrasyon Oluşturma: Ortak Kılavuzu","href":"/docs/tr/building-an-integration-with-onesignal-partner-guide"}]}]},{"group":"Gizlilik \u0026 Güvenlik","pages":[{"group":"Güvenlik kimlik bilgileri","pages":[{"title":"SOC 2 Type II","href":"/docs/tr/soc-2-type-ii"},{"title":"ISO 27001","href":"/docs/tr/iso27001"},{"title":"HIPAA","href":"/docs/tr/hipaa"}]},{"group":"Veri gizliliği \u0026 düzenleme uyumluluğu","pages":[{"title":"GDPR ve Bireysel Haklar","href":"/docs/tr/gdpr-compliance"},{"title":"AB-ABD Veri Gizliliği Çerçevesi","href":"/docs/tr/eu-us-data-privacy-framework"},{"title":"Email düzenleyici uyumluluğu","href":"/docs/tr/email-compliance"},{"title":"SMS düzenleyici uyumluluğu","href":"/docs/tr/sms-regulatory-compliance"},{"title":"Apple Uygulama Gizlilik Gereksinimleri","href":"/docs/tr/apple-app-privacy-requirements"},{"title":"Google Play Veri Güvenliği Gereksinimleri","href":"/docs/tr/google-play-data-safety-requirements"},{"title":"Veri toplama ve güvenlik SSS","href":"/docs/tr/data-questions"},{"title":"OneSignal SDK tarafından toplanan veriler","href":"/docs/tr/data-collected-by-the-onesignal-sdk"},{"title":"Kişisel Verileri İşleme","href":"/docs/tr/handling-personal-data"}]},{"group":"Kimlik Doğrulama","pages":[{"title":"2 adımlı kimlik doğrulama","href":"/docs/tr/2-step-authentication"},{"title":"Tek Oturum Açma (SSO)","href":"/docs/tr/sso"}]}]}]},{"tab":"Geliştirici Kılavuzları","pages":[{"title":"Geliştirici Kılavuzları","href":"/docs/tr/developers"}]},{"tab":"Eğitimler","pages":[{"title":"Eğitimler","href":"/docs/tr/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"}]}},{"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","pages":[{"title":"fr","href":"/docs/fr/voip-notifications"}]}]},"basePath":"","title":"VoIP push bildirimleri - OneSignal Documentation","buildId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","deploymentId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-5Xwp92K7.js","DynamicMarkdown-BoyYAA8K.js","zoom-image-lightbox-DkE6VzSN.js","lightbox-handle-r17bVUz3.js"]}