> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.onesignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Mobil push kurulumu

> iOS, Android, Huawei ve Amazon genelinde OneSignal ile mobil push bildirimlerini kurmanın uçtan uca kontrol listesi.

Push bildirimleri, Kullanıcılar uygulamanızı aktif olarak kullanmadıklarında onları yeniden etkileşime sokar. Metin ve resimler, düğmeler ve sesler gibi zengin içerikler görüntüleyebilirler.

<Frame caption="iOS ve Android'de push bildirimi örnekleri.">
  <img src="https://mintcdn.com/onesignal/Z6xkXGfmy814If53/images/docs/d6ba464616e546aaf62a5bda18adb4422d036815db4b2454e8a8b6a4dcf67706-channel-setup-mobile-push.jpg?fit=max&auto=format&n=Z6xkXGfmy814If53&q=85&s=63d1840679897262b47a004375a1bb33" alt="Zengin içerik gösteren iOS ve Android mobil push bildirimi örnekleri" width="1280" height="720" data-path="images/docs/d6ba464616e546aaf62a5bda18adb4422d036815db4b2454e8a8b6a4dcf67706-channel-setup-mobile-push.jpg" />
</Frame>

Push'un mobilde çalışması için:

* Kullanıcıların mobil uygulamanızın yüklü olması gerekir
* Doğru platform kimlik bilgilerini yapılandırmanız gerekir (Android için FCM, iOS için APNs, Huawei için HMS, Amazon için ADM)
* Kullanıcıların bildirim alma izni vermesi gerekir

Bu kılavuz, SDK kurulumundan kişiselleştirilmiş push mesajları göndermeye kadar her adımı anlatır.

***

## SDK kurulumu ve geçiş

Cihazları kaydetmek ve push mesajlaşmayı etkinleştirmek için OneSignal SDK'yı uygulamanıza entegre edin. Başka bir sağlayıcıdan geçiş yapıyorsanız, OneSignal Firebase, Airship, Braze ve diğerlerinden geçişi destekler.

<Columns cols={2}>
  <Card title="Mobil SDK kurulumu" icon="mobile" href="./mobile-sdk-setup">
    Cihazları kaydetmek ve push mesajlaşmayı etkinleştirmek için OneSignal SDK'yı uygulamanıza entegre edin.
  </Card>

  <Card title="Başka bir sağlayıcıdan geçiş" icon="arrow-right-arrow-left" href="./migrating-to-onesignal">
    Firebase, Airship, Braze veya diğer push sağlayıcılarından geçiş yapın.
  </Card>
</Columns>

***

## Push izin istemleri

Mobil platformlar, Kullanıcıların push bildirimleri alabilmesi için önceden kabul etmesini gerektirir. Apple'ın [Human Interface Guidelines](https://developer.apple.com/design/human-interface-guidelines/ios/system-capabilities/notifications) belgesi, göndermek istediğiniz bilgi türlerini açıklamanızı ve Kullanıcılara kabul etme veya reddetme için net bir yol sunmanızı önerir.

Sistem istemini tetiklemeden önce değeri açıklamak için OneSignal'in uygulama içi mesajlarını kullanarak bir ön izin istemi oluşturabilirsiniz.

<Frame caption="Uygulama içi mesajlarla oluşturulmuş özel ön izin push istemi.">
  <img src="https://mintcdn.com/onesignal/l4Z9oMlZl9nJOS_T/images/push/mobile-push-setup-ask-users-for-permission-to-send-push.jpg?fit=max&auto=format&n=l4Z9oMlZl9nJOS_T&q=85&s=aa31e67179d80c4b99c2d86102091d60" alt="Push bildirimleri için ön izin istemi olarak kullanılan OneSignal uygulama içi mesajı" width="2136" height="1338" data-path="images/push/mobile-push-setup-ask-users-for-permission-to-send-push.jpg" />
</Frame>

<Columns cols={2}>
  <Card title="Push izinleri için istem" icon="bell" href="./prompt-for-push-permissions">
    Uygulama içi mesajları kullanarak özel bir ön izin istemi oluşturun.
  </Card>

  <Card title="Mobil SDK referansı" icon="code" href="./mobile-sdk-reference">
    SDK'da program aracılığıyla izin isteklerini tetikleyin.
  </Card>

  <Card title="iOS geçici push" icon="apple" href="./ios-provisional-push-notifications">
    İstekte bulunmadan önce bildirim merkezinde sessiz bildirimler gösterin.
  </Card>
</Columns>

***

## Kullanıcılar ve Abonelikler

SDK etkin olduğunda, kişiler uygulamanızı açtıkça OneSignal otomatik olarak Kullanıcı ve Abonelik kayıtları oluşturur.

Mobil Abonelikler şu durumlarda oluşturulur:

* Kullanıcılar bir cihazda uygulamayı ilk kez açtıklarında
* Uygulamayı kaldırıp yeniden yüklediklerinde, ardından uygulamayı tekrar açtıklarında

Her cihaz ayrı bir Abonelik oluşturur. Abonelikler, `OneSignal.login` aracılığıyla onlara bir [External ID](./users#external-id) atayana kadar anonim kalır.

<Frame caption="OneSignal Panosu: Audience > Users">
  <img src="https://mintcdn.com/onesignal/ciRrThfP6xMpI7GY/images/dashboard/users-page.png?fit=max&auto=format&n=ciRrThfP6xMpI7GY&q=85&s=8992ef97cf3c9f336078f9dbf8a6374e" alt="Abonelik ayrıntılarıyla birlikte Kullanıcı listesini gösteren OneSignal Panosu Kullanıcılar sayfası" width="2316" height="858" data-path="images/dashboard/users-page.png" />
</Frame>

<Columns cols={2}>
  <Card title="Kullanıcılar" icon="users" href="./users">
    Kullanıcıları yönetin, External ID atayın ve anonim ile tanımlanmış Kullanıcıları anlayın.
  </Card>

  <Card title="Abonelikler" icon="address-book" href="./subscriptions">
    Aboneliklerin cihazlar ve kanallar genelinde nasıl oluşturulduğu ve yönetildiği.
  </Card>

  <Card title="Segmentler" icon="chart-pie" href="./segmentation">
    Hedefli mesajlaşma için Kullanıcıları dinamik segmentlere gruplandırın.
  </Card>
</Columns>

***

## Push bildirimlerini tasarlayın

Etkili push bildirimleri oluşturmak metin yazmaktan fazlasını gerektirir. Her push bildiriminden en iyi şekilde nasıl yararlanacağınızı izleyin ve ardından aşağıdaki tasarım öğelerini keşfedin.

<Frame caption="Her push bildiriminden en iyi şekilde nasıl yararlanılır">
  <iframe width="560" height="315" src="https://www.youtube.com/embed/mlXEsZA2qlM?si=tIstWJYNFOzrtMR5" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen />
</Frame>

<Frame caption="iOS ve Android'de mobil push bildirimi anatomisi.">
  <img src="https://mintcdn.com/onesignal/l4Z9oMlZl9nJOS_T/images/push/ios-and-android-mobile-push-expanded.jpg?fit=max&auto=format&n=l4Z9oMlZl9nJOS_T&q=85&s=5f0a3048b1b945ce1c960807992e4c74" alt="iOS ve Android push bildirimlerinin anatomisini gösteren açıklamalı diyagram" width="1467" height="726" data-path="images/push/ios-and-android-mobile-push-expanded.jpg" />
</Frame>

1. [Başlık](./push#title): Dikkat çekici başlık (önerilen: 50 karakterin altında)
2. [Mesaj](./push#message): Ana bildirim içeriği (önerilen: 120 karakterin altında)
3. [İkonlar](./notification-icons): Marka ikonunuz veya bildirime özel resim
4. [Büyük resim](./push#image): Göz alıcı görsel içerik
5. [Eylem düğmeleri](./action-buttons): Harekete geçirici mesaj düğmeleri
6. Push'un alındığı zaman damgası
7. [Uygulama adı](./push#app-name): Uygulamanızın adı

<Columns cols={2}>
  <Card title="Push genel bakış" icon="bell" href="./push">
    Push bildirimi oluşturma, seçenekler ve teslimat davranışının tam genel bakışı.
  </Card>

  <Card title="Şablonlar" icon="clone" href="./templates">
    Tutarlı mesajlaşma için yeniden kullanılabilir şablonlarla zaman kazanın.
  </Card>
</Columns>

### Kişiselleştirme ve yerelleştirme

Genel push bildirimlerini yüksek performanslı mesajlara nasıl dönüştüreceğinizi izleyin ve ardından aşağıdaki kişiselleştirme seçeneklerini keşfedin.

<Frame caption="Genel push bildirimleri yüksek performanslı mesajlara nasıl dönüştürülür">
  <iframe width="560" height="315" src="https://www.youtube.com/embed/Rf6N_rezxuk?si=8t2pd1bxKeN5ofq-" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen />
</Frame>

<Columns cols={2}>
  <Card title="Mesaj kişiselleştirme" icon="wand-magic-sparkles" href="./message-personalization">
    Mesajları uyarlamak için ad veya tercihler gibi dinamik değişkenler ekleyin.
  </Card>

  <Card title="Çok dilli mesajlaşma" icon="language" href="./multi-language-messaging">
    Mesajları her Kullanıcının tercih ettiği dilde otomatik olarak iletin.
  </Card>
</Columns>

***

## Push davranışını yapılandırın

Teslimat sonrasında bildirimlerinizin nasıl davrandığını kontrol edin; zamanlama, görüntüleme ayarları ve Kullanıcı etkileşimleri dahil.

### Teslimat, görüntüleme ve kapatma ayarları

<Columns cols={2}>
  <Card title="Kısıtlama" icon="gauge-high" href="./throttling">
    Büyük kitleler için bildirim teslimat hızını kontrol edin.
  </Card>

  <Card title="Frekans sınırı" icon="hand" href="./frequency-capping">
    Aynı Kullanıcıya aşırı bildirim göndermesini önlemek için limitler ayarlayın.
  </Card>

  <Card title="Yaşam süresi (TTL)" icon="clock" href="./push#time-to-live-ttl">
    Cihaz çevrimdışıyken push hizmetlerinin mesajları ne kadar süre tuttuğunu tanımlayın.
  </Card>

  <Card title="Collapse ID" icon="layer-group" href="./push#collapse-id-mobile-push">
    Bildirim karmaşasını azaltmak için önceki mesajları daha yenileriyle değiştirin.
  </Card>

  <Card title="Android bildirim kategorileri" icon="android" href="./android-notification-categories">
    Önem derecesini (banner, sessiz) ve diğer görüntüleme yönlerini kontrol edin.
  </Card>

  <Card title="iOS odak modları ve kesinti seviyeleri" icon="apple" href="./ios-focus-modes-and-interruption-levels">
    iOS için öncelik seviyesini (pasif, zamana duyarlı) kontrol edin.
  </Card>

  <Card title="Bildirim sesleri" icon="volume-high" href="./notification-sounds">
    Her platform için bildirim sesini yapılandırın.
  </Card>

  <Card title="Rozetler" icon="circle-1" href="./badges">
    iOS'ta uygulama ikonu rozet sayısı davranışını yönetin.
  </Card>
</Columns>

### Veri ve arka plan bildirimleri

Uygulamanızın görünür bir bildirim görüntülemeden işleyebileceği özel verileri push yüklerine ekleyin.

<Columns cols={2}>
  <Card title="Veri ve arka plan bildirimleri" icon="database" href="./data-notifications">
    Görsel bildirim olmadan özel yükler gönderin.
  </Card>

  <Card title="Ek veri" icon="brackets-curly" href="./push#additional-data">
    Uygulama içi işleme için push yüklerine anahtar-değer verileri ekleyin.
  </Card>
</Columns>

### Tıklama davranışı ve derin bağlantı

Bir Kullanıcı bir bildirime dokunduğunda ne olacağını kontrol edin.

<Columns cols={2}>
  <Card title="URL'ler, bağlantılar ve derin bağlantılar" icon="link" href="./links">
    Derin bağlantılar ve takip URL'leri kullanarak Kullanıcıları ilgili içeriğe veya sayfalara yönlendirin.
  </Card>

  <Card title="Derin bağlantı" icon="arrow-up-right-from-square" href="./deep-linking">
    Platforma özgü derin bağlantı uygulama ayrıntıları.
  </Card>

  <Card title="Eylem düğmeleri" icon="hand-pointer" href="./action-buttons">
    Kullanıcıların bildiriminizden anında eylem almasına izin verin.
  </Card>

  <Card title="Bildirim olay gözlemcileri" icon="code" href="./mobile-sdk-reference#push-notification-events">
    Tıklama olaylarını dinleyin ve özel kod ile uygulama içi davranışı tetikleyin.
  </Card>
</Columns>

***

## Analitik ve sorun giderme

Bildirim performansını ölçün ve yaygın teslimat sorunlarını çözün.

<Columns cols={2}>
  <Card title="Push mesaj raporları" icon="chart-line" href="./push-notification-message-reports">
    Her mesaj için teslimat, açılma oranı ve tıklama metriklerini görüntüleyin.
  </Card>

  <Card title="Analitik genel bakış" icon="chart-bar" href="./analytics-overview">
    Kanallar genelinde etkileşim ve Kullanıcı davranışı metriklerini keşfedin.
  </Card>

  <Card title="Bildirimler gösterilmiyor veya gecikmeli" icon="circle-exclamation" href="./notifications-show-successful-but-are-not-being-shown">
    Mesajlar cihazlarda görünmüyorsa sorun giderme kontrol listesi.
  </Card>

  <Card title="Bildirim görselleri gösterilmiyor" icon="image" href="./notification-images-not-showing">
    Platformlar genelinde görsel oluşturma sorunlarını düzeltin.
  </Card>

  <Card title="Yinelenen bildirimler" icon="copy" href="./duplicated-notifications">
    Yinelenen bildirimlerin neden görüntülendiğini giderin.
  </Card>
</Columns>

***

## Sonraki adımlar

<Columns cols={2}>
  <Card title="A/B Testi" icon="flask" href="./ab-testing">
    Etkileşimi artıran faktörleri bulmak için deneylerle mesajları optimize edin.
  </Card>

  <Card title="Journey'ler" icon="route" href="./journeys-overview">
    Kullanıcı davranışıyla tetiklenen otomatik çok adımlı mesajlaşma akışları oluşturun.
  </Card>

  <Card title="Etiketler" icon="tags" href="./add-user-data-tags">
    Kişiselleştirme ve hedefleme için Kullanıcı düzeyinde veri ekleyin.
  </Card>

  <Card title="Uygulama içi mesajlar" icon="window-maximize" href="./in-app-messages-setup">
    Uygulamanızda zengin, etkileşimli mesajlarla Kullanıcılara ulaşın.
  </Card>
</Columns>

***

## Sıkça sorulan sorular

### Kullanıcıların push bildirimleri almak için kabul etmesi gerekiyor mu?

Evet. iOS ve Android'in ikisi de Kullanıcıların push bildirimleri alabilmesi için önceden izin vermesini gerektirir. iOS'ta sistem istemini göstermeniz gerekir. Android 13+'da `POST_NOTIFICATIONS` izni gereklidir. Sistem iletişim kutusunu tetiklemeden önce değeri açıklamak için bir [ön izin istemi](./prompt-for-push-permissions) kullanın.

### FCM, APNs, HMS ve ADM nedir?

Bunlar platforma özgü push teslimat hizmetleridir. **FCM** (Firebase Cloud Messaging) Android ve web'e iletir. **APNs** (Apple Push Notification service) iOS ve macOS'a iletir. **HMS** (Huawei Mobile Services) Huawei cihazlara iletir. **ADM** (Amazon Device Messaging) Amazon Fire cihazlara iletir. Her biri için kimlik bilgilerini [SDK kurulumu](./mobile-sdk-setup) sırasında OneSignal panosunda yapılandırırsınız.

### Push bildirimlerim neden gösterilmiyor?

Yaygın nedenler arasında eksik veya süresi dolmuş platform kimlik bilgileri, Kullanıcıların izin vermemesi veya Rahatsız Etme ya da Odak modları gibi cihaz düzeyindeki ayarlar sayılabilir. Tam sorun giderme kontrol listesi için [Bildirimler gösterilmiyor veya gecikmeli](./notifications-show-successful-but-are-not-being-shown) sayfasına bakın.

### Görünür bildirim olmadan push bildirimi gönderebilir miyim?

Evet. Uygulamanızın sessizce işlediği özel yükler göndermek için [veri ve arka plan bildirimlerini](./data-notifications) kullanın. Bunlar, Kullanıcıyı rahatsız etmeden arka plan senkronizasyonları tetiklemek, yerel verileri güncellemek veya içeriği yenilemek için kullanışlıdır.
