Genel Bakış
iOS push bildirimleri, iOS uygulamanızda sürekli kullanıcı etkileşimi ve elde tutmayı artırmak için esastır. Kullanıcılarınıza gerçek zamanlı güncellemeler, hatırlatmalar ve kişiselleştirilmiş mesajlar doğrudan iletmenizi sağlayarak uygulamanızın genel kullanıcı deneyimini ve bağlılığını iyileştirir. OneSignal’ın SDK’sını uygulamanızla entegre ederek, bildirimlerinizin iOS cihazlarda sorunsuz bir şekilde iletilmesini sağlamak için Apple Push Notification Service (APNS) avantajlarından yararlanabilirsiniz. Bu kılavuz, SDK’mızı iOS uygulamanıza entegre etme konusunda size yol gösterecektir.Gereksinimler
- Xcode 14+ ile macOS (kurulum talimatları Xcode 16.2 kullanır)
- iOS 12+, iPadOS 12+ veya iOS 16.2+ çalıştıran Xcode simülatörü olan cihaz
- Yapılandırılmış OneSignal uygulaması ve platformu
Configure your OneSignal app and platform
Required setup for push notifications To start sending push notifications with OneSignal, you must first configure your OneSignal app with all the platforms your support—Apple (APNs), Google (FCM), Huawei (HMS), and/or Amazon (ADM).Step-by-step instructions for configuring your OneSignal app.
Step-by-step instructions for configuring your OneSignal app.
Create or select your app
- To add platforms to an existing app, go to Settings > Push & In-App in the OneSignal dashboard.
- To start fresh, click New App/Website and follow the prompts.

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

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

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

Save your App ID and invite additional team members.
iOS kurulumu
iOS uygulamanıza Rozetler, Onaylanmış Teslimat ve görseller için destek dahil olmak üzere push bildirimleri eklemek için şu adımları izleyin.1. Uygulama hedefine Push Notifications yeteneği ekleme
Push Notifications yeteneği, uygulamanızın bir push token kaydettirmesine ve bildirimler almasına olanak tanır.- Uygulamanızın
.xcworkspacedosyasını Xcode’da açın. - Uygulama hedefi > Signing & Capabilities seçeneğini seçin
- + Capability tıklayın ve Push Notifications yeteneğini ekleyin

Uygulama hedefine Push Notifications yeteneği verildi.
2. Uygulama hedefine Background Modes yeteneği ekleme
Bu, push bildirimleri geldiğinde uygulamanızın arka planda uyanmasını sağlar.- Background Modes yeteneğini ekleyin
- Remote notifications seçeneğini etkinleştirin

Uygulama hedefine Remote Notifications arka plan yürütme modu verildi.
3. Uygulama hedefini App Group’a ekleme
App Groups, uygulamanız ile Notification Service Extension arasında veri paylaşımına izin verir. Onaylanmış Teslimat ve Rozetler için gereklidir.- Yapılandırılmış bir App Group'unuz YOKSA
- Mevcut bir App Group'unuz VARSA
- App Groups yeteneğini ekleyin
- App Groups yeteneğinde + işaretine tıklayın
- Şu formatta yeni bir container ID ekleyin:
group.your_bundle_id.onesignal
- group. ve .onesignal ön eki ve son ekini koruyun.
your_bundle_idkısmını uygulamanızın bundle identifier’ı ile değiştirin. - Örneğin, bundle identifier
com.onesignal.MyAppise, container adıgroup.com.onesignal.MyApp.onesignalolacaktır.

Uygulama hedefi App Group'un bir parçasıdır.
4. Notification Service Extension ekleme
Notification Service Extension (NSE), zengin bildirimler ve Onaylanmış Teslimat analitiğini etkinleştirir.- Xcode’da: File > New > Target…
- Notification Service Extension seçin, ardından Next tıklayın.
- Ürün adını
OneSignalNotificationServiceExtensionolarak ayarlayın ve Finish tuşuna basın. - Activate scheme isteminde Don’t Activate seçeneğine basın.

Notification Service Extension hedefini seçin.

Notification Service Extension'a ad verin.

Uygulama hedefinizde hata ayıklamaya devam etmek için aktivasyonu iptal edin.

Ana uygulama ile aynı dağıtım hedefini ayarlayın.
5. NSE hedefini app group’a ekleme
Adım 3’te eklediğiniz App Group ID’yi kullanın.- OneSignalNotificationServiceExtension > Signing & Capabilities bölümüne gidin
- App Groups ekleyin
- Tam olarak aynı group ID’yi ekleyin
group.your_bundle_id.onesignal kullanmıyorsanız, App Group ID’nizi hem App Target hem de OneSignalNotificationServiceExtension Target’ın Info.plist dosyasına eklediğinizden emin olun! Daha fazla bilgi için 3. adıma bakın.
NSE artık uygulama hedefinizle aynı app group'a ait.
6. NSE kodunu güncelleme
- OneSignalNotificationServiceExtension klasörüne gidin
NotificationService.swiftveyaNotificationService.mdosyasının içeriğini aşağıdakilerle değiştirin:

NotificationService dosyanıza gidin.

Bu dosya, bir sonraki adımda paketi yükleyene kadar hata gösterir.
SDK kurulumu
Bu bölüm, OneSignal’ın temel özelliklerini entegre etmeniz konusunda size rehberlik edecektir. Bu bölümün sonunda, uygulama içi mesajları tetiklemenize ve push bildirimleri almanıza olanak tanıyan SDK’mızla temel bir entegrasyona sahip olacaksınız.1. SDK ekleme
SDK’mızı Xcode Package Dependencies Manager veya CocoaPods kullanarak ekleyin. 4 mevcut kütüphane vardır. Uygulama içi mesajlar ve/veya Konum takibi istemiyorsanız, bu paketleri atlayabilirsiniz.| Kütüphane | Hedef | Gereklilik |
|---|---|---|
| OneSignalExtension | OneSignalNotificationServiceExtension | ✅ |
| OneSignalFramework | App | ✅ |
| OneSignalInAppMessages | App | Önerilen |
| OneSignalLocation | App | İsteğe bağlı |
- Xcode Package Dependencies
- CocoaPods
https://github.com/OneSignal/OneSignal-iOS-SDKonesignal-ios-sdk paketini seçin ve Add Package tıklayın.OneSignal-iOS-SDK için Package Products seçin.- Önemli: OneSignalExtension’ı OneSignalNotificationServiceExtension Target’a ekleyin.
- OneSignalFramework’ü App Target’ınıza ekleyin.
- Uygulama içi mesajlar (önerilen) ve/veya konum takibi kullanmayı planlıyorsanız, bu paketleri de App Target’ınıza ekleyin.

Uygulamanız konum takibi gerektirmiyorsa, bu örnekte gösterildiği gibi paketi kaldırabilirsiniz.
2. SDK’yı başlatma
Xcode arayüz kurulumunuza bağlı olarak, bu seçenekleri izleyerek OneSignal’ı başlatın.- SwiftUI
- Storyboard
<APP_NAME>App.swift dosyanıza gidin ve sağlanan yöntemlerle OneSignal’ı başlatın.YOUR_APP_ID değerini OneSignal panonuzda Settings > Keys & IDs bölümünde bulunan OneSignal App ID’niz ile değiştirin. OneSignal uygulamasına erişiminiz yoksa, Ekip Üyelerinizden sizi davet etmelerini isteyin.OneSignal SDK entegrasyonunu test etme
Bu kılavuz, push bildirimleri, abonelik kaydı ve uygulama içi mesajlaşmayı test ederek OneSignal SDK entegrasyonunuzun doğru çalıştığını doğrulamanıza yardımcı olur.Mobil abonelikleri kontrol etme
Uygulamanızı test cihazında başlatın.
requestPermission yöntemini eklediyseniz, yerel push izin istemi otomatik olarak görünmelidir.
iOS ve Android push izin istemleri
OneSignal panonuzu kontrol edin
- Audience > Subscriptions bölümüne gidin.
- “Never Subscribed” durumuna sahip yeni bir girdi görmelisiniz.

'Never Subscribed' durumuna sahip aboneliği gösteren pano
Uygulamaya dönün ve istemde Allow'a dokunun.
OneSignal panosu Subscriptions sayfasını yenileyin.

'Subscribed' durumuna sahip aboneliği gösteren pano
Test aboneliklerini ayarlama
Test abonelikleri, mesaj göndermeden önce bir push bildirimini test etmek için yararlıdır.Test Subscriptions'a ekleyin.

Test Subscriptions'a bir cihaz ekleme
Aboneliğinizi adlandırın.

'Name your subscription' alanını gösteren pano
Bir test kullanıcıları segmenti oluşturun.
Segmenti adlandırın.
Test Users olarak adlandırın (ad önemlidir çünkü daha sonra kullanılacaktır).Test Users filtresini ekleyin ve Create Segment tıklayın.

Test Users filtresi ile bir 'Test Users' segmenti oluşturma
API üzerinden test push gönderme
App API Key ve App ID'nizi alın.
Sağlanan kodu güncelleyin.
YOUR_APP_API_KEY ve YOUR_APP_ID değerlerini gerçek anahtarlarınızla değiştirin. Bu kod, daha önce oluşturduğumuz Test Users segmentini kullanır.Kodu çalıştırın.
Görselleri ve onaylanmış teslimatı kontrol edin.

iOS ve Android'de görsel içeren push bildirimi
Onaylanmış teslimatı kontrol edin.

Onaylanmış teslimatı gösteren teslimat istatistikleri

Audience Activity'de cihaz düzeyinde onaylanmış teslimat
- Görsel almadınız mı? Notification Service Extension’ınız eksik olabilir.
- Onaylanmış teslimat yok mu? Sorun giderme kılavuzunu buradan inceleyin.
- Sorun mu yaşıyorsunuz? Api isteğini ve uygulama başlatmanın başından sonuna kadar olan log’u bir
.txtdosyasına kopyalayın. Ardından her ikisini desupport@onesignal.comile paylaşın.
Uygulama içi mesaj gönderme
Uygulama içi mesajlar, kullanıcılar uygulamanızı kullanırken onlarla iletişim kurmanıza olanak tanır.Uygulamanızı cihazda kapatın veya arka plana alın.
Bir uygulama içi mesaj oluşturun.
- OneSignal panonuzda Messages > In-App > New In-App bölümüne gidin.
- Welcome mesajını bulun ve seçin.
- Kitlenizi daha önce kullandığımız Test Users segmenti olarak ayarlayın.

Bir uygulama içi mesajla 'Test Users' segmentini hedefleme
İsterseniz mesaj içeriğini özelleştirin.

Uygulama içi Welcome mesajının örnek özelleştirmesi
Trigger'ı 'On app open' olarak ayarlayın.
Sıklığı planlayın.

Uygulama içi mesaj planlama seçenekleri
Mesajı yayına alın.
Uygulamayı açın ve mesajı görün.

Cihazlarda gösterilen Welcome uygulama içi mesajı
- Yeni bir oturum başlatın
- Yeniden açmadan önce uygulamayı en az 30 saniye kapatmalı veya arka plana almalısınız. Bu, yeni bir oturumun başlatılmasını sağlar.
- Daha fazla bilgi için uygulama içi mesajların nasıl görüntülendiğine bakın.
- Hala
Test Userssegmentinde misiniz?- Yeniden yüklediyseniz veya cihaz değiştirdiyseniz, cihazı Test Subscriptions’a yeniden ekleyin ve Test Users segmentinin bir parçası olduğunu onaylayın.
- Sorun mu yaşıyorsunuz?
- Yukarıdaki adımları tekrarlarken Hata Ayıklama Günlüğü Alma yönergelerini izleyin. Bu,
support@onesignal.comile paylaşabileceğiniz ek kayıt oluşturur ve ne olduğunu araştırmamıza yardımcı oluruz.
- Yukarıdaki adımları tekrarlarken Hata Ayıklama Günlüğü Alma yönergelerini izleyin. Bu,
- Abonelikleri toplama, Test abonelikleri ayarlama ve Segmentler oluşturma.
- Segmentleri ve Create message API’mizi kullanarak görsellerle ve Onaylanmış Teslimat ile Push gönderme.
- Uygulama içi mesajlar gönderme.
Kullanıcı tanımlama
Daha önce mobil Abonelikler oluşturmayı gösterdik. Şimdi OneSignal SDK’yı kullanarak Kullanıcıları tüm abonelikleri (push, e-posta ve SMS dahil) boyunca tanımlamaya geçeceğiz. Platformlar arası kullanıcıları birleştirmenize ve etkileşim kurmanıza yardımcı olmak için External ID’ler, etiketler, çok kanallı abonelikler, gizlilik ve olay takibini ele alacağız.External ID atama
Backend’inizin kullanıcı tanımlayıcısını kullanarak cihazlar, e-posta adresleri ve telefon numaraları arasında kullanıcıları tutarlı bir şekilde tanımlamak için External ID kullanın. Bu, mesajlaşmanızın kanallar ve 3. taraf sistemler arasında birleşik kalmasını sağlar (Entegrasyonlar için özellikle önemlidir). Uygulamanız tarafından her tanımlandıklarında SDK’mızınlogin yöntemi ile External ID’yi ayarlayın.
Veri etiketleri ekleme
Etiketler, kullanıcı özelliklerini (username, role veya tercihler gibi) ve olayları (purchase_date, game_level veya kullanıcı etkileşimleri gibi) depolamak için kullanabileceğiniz anahtar-değer çiftleri string verilerdir. Etiketler, gelişmiş Mesaj Kişiselleştirme ve Segmentasyonu destekleyerek daha gelişmiş kullanım durumlarına olanak tanır.
Uygulamanızda olaylar meydana geldikçe SDK’mız addTag ve addTags yöntemleri ile etiketleri ayarlayın.
Bu örnekte, kullanıcı current_level adlı etiket tarafından tanımlanan ve 6 değerine ayarlanan 6. seviyeye ulaştı.

OneSignal'da "current_level" adlı bir etiketi "6"'ya ayarlanmış bir kullanıcı profili

4'ten büyük ve 10'dan küçük current_level değerine sahip kullanıcıları hedefleyen bir segmenti gösteren segment editörü

Kişiselleştirilmiş bir mesajla Level 5-10 segmentini hedefleyen bir push bildirimi gösteren ekran görüntüsü

Push bildirimi, kişiselleştirilmiş içerikle iOS ve Android cihazda alındı
E-posta ve/veya SMS abonelikleri ekleme
Daha önce SDK’mızın push ve uygulama içi mesajlar göndermek için mobil abonelikler oluşturduğunu gördük. Karşılık gelen abonelikleri oluşturarak kullanıcılara e-posta ve SMS kanalları aracılığıyla da ulaşabilirsiniz.- E-posta abonelikleri oluşturmak için
addEmailyöntemini kullanın. - SMS abonelikleri oluşturmak için
addSmsyöntemini kullanın.

External ID tarafından birleştirilmiş push, e-posta ve SMS aboneliklerine sahip bir kullanıcı profili
- E-posta veya SMS abonelikleri eklemeden önce açık onay alın.
- Her iletişim kanalının faydalarını kullanıcılara açıklayın.
- Kullanıcıların hangi kanalları tercih ettiklerini seçebilmeleri için kanal tercihleri sağlayın.
Gizlilik ve kullanıcı onayı
OneSignal’ın kullanıcı verilerini ne zaman topladığını kontrol etmek için SDK’nın onay kapısı yöntemlerini kullanın:setConsentRequired(true): Onay verilene kadar veri toplamayı önler.setConsentGiven(true): Onay verildikten sonra veri toplamayı etkinleştirir.
Push izinleri için istemde bulunma
Uygulama açılışında hemenrequestPermission() çağırmak yerine, daha stratejik bir yaklaşım benimseyin. İzin istemeden önce push bildirimlerinin değerini açıklamak için uygulama içi mesaj kullanın.
En iyi uygulamalar ve uygulama ayrıntıları için Push izinleri için istemde bulunma kılavuzumuza bakın.
Push, kullanıcı ve uygulama içi olayları dinleme
Kullanıcı eylemlerine ve durum değişikliklerine tepki vermek için SDK dinleyicilerini kullanın. SDK, bağlanabileceğiniz birkaç olay dinleyicisi sağlar. Daha fazla ayrıntı için SDK referans kılavuzumuza bakın.Push bildirimi olayları
addClickListener(): Bir bildirime dokunulduğunu algılar. Deep Linking için yararlıdır.addForegroundLifecycleListener(): Bildirimlerin ön planda nasıl davrandığını kontrol eder.
Kullanıcı durumu değişiklikleri
- Kullanıcı durumu için
addObserver(): External ID’nin ne zaman ayarlandığını algılar. addPermissionObserver(): Kullanıcının yerel push izin istemiyle belirli etkileşimini takip eder.- Push aboneliği için
addObserver(): Push abonelik durumu değiştiğinde takip eder.
Uygulama içi mesaj olayları
addClickListener(): Uygulama içi tıklama eylemlerini işler. Deep linking veya olayları takip etmek için idealdir.addLifecycleListener(): Uygulama içi mesajların tam yaşam döngüsünü takip eder (gösterildi, tıklandı, kapatıldı vb.).
Gelişmiş kurulum ve yetenekler
Entegrasyonunuzu geliştirmek için daha fazla yeteneği keşfedin:- 🔁 Başka bir hizmetten OneSignal’a geçiş
- 🌍 Konum takibi
- 🔗 Deep Linking
- 🔌 Entegrasyonlar
- 🧩 Mobil Servis Uzantıları
- 🛎️ Eylem düğmeleri
- 🌐 Çok dilli mesajlaşma
- 🛡️ Kimlik Doğrulama
- 📊 Özel Sonuçlar
- 📲 Canlı Aktiviteler
Mobil SDK kurulumu ve referansı
Mobil push kurulumu kılavuzunu inceleyerek tüm temel özellikleri etkinleştirdiğinizden emin olun. Mevcut yöntemler ve yapılandırma seçenekleri hakkında tam ayrıntılar için Mobil SDK referansını ziyaret edin.support@onesignal.comPlease include:- Details of the issue you’re experiencing and steps to reproduce if available
- Your OneSignal App ID
- The External ID or Subscription ID if applicable
- The URL to the message you tested in the OneSignal Dashboard if applicable
- Any relevant logs or error messages