> ## 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 SDK sorun giderme

> iOS, Android ve çapraz platform çerçevelerinde push teslimat hataları, APNS hataları ve uygulama içi mesajlaşma sorunları dahil olmak üzere yaygın OneSignal Mobil SDK sorunlarını çözün.

<Note>
  Web sitenizle ilgili sorunlar yaşıyorsanız, [Web Push Sorun Giderme kılavuzuna](./troubleshooting-web-push) bakın.
</Note>

## Sorun giderme adımları

### Kurulum talimatlarını gözden geçirin ve SDK'yı güncelleyin

Hata düzeltmeleri, iyileştirmeler ve en son işletim sistemi değişiklikleri için desteği içeren [güncellemeleri sıklıkla yayınlıyoruz](https://github.com/OneSignal/sdks). En son SDK sürümünü kullandığınızdan ve kurulum talimatlarını takip ettiğinizden emin olun.

<Card title="Mobil SDK kurulumu" icon="wrench" href="./mobile-sdk-setup">
  Yaygın sorunları önlemeye ve entegrasyonu test etmeye yardımcı olmak için tasarlanmış kurulum talimatları.
</Card>

### Yaygın sorun giderme kılavuzlarını inceleyin

<Columns cols={2}>
  <Card title="Bildirimler gösterilmiyor veya gecikiyor" icon="bell-slash" href="./notifications-show-successful-but-are-not-being-shown">
    Push bildirimleri cihazda görünmüyor veya gecikiyor.
  </Card>

  <Card title="Bildirim görselleri gösterilmiyor" icon="image" href="./notification-images-not-showing">
    Görseller bildirim genişletilmiş görünümünde görünmüyor.
  </Card>

  <Card title="Bildirim CTR" icon="arrow-pointer" href="./notification-ctr">
    Bildirimlerde düşük veya hiç tıklama yok.
  </Card>

  <Card title="Yinelenen bildirimler" icon="copy" href="./duplicated-notifications">
    Bildirimler cihazda birden çok kez görünüyor.
  </Card>

  <Card title="Uygulama içi mesaj sorun giderme" icon="message" href="./in-app-message-troubleshooting">
    Uygulama içi mesajlar beklendiği gibi görüntülenmiyor veya davranmıyor.
  </Card>
</Columns>

### Uygulamanızda yaygın sorunları kontrol edin

#### Push görüntülemeyi engelleyen OneSignal yöntemleri

Uygulamanızda `OneSignal.User.pushSubscription.optOut()` gibi `optOut()` yöntemleri olup olmadığını veya REST API'lerimiz aracılığıyla `enabled: false` ayarladığınızı kontrol edin. Bu, push abonelik durumunu `unsubscribed` olarak ayarlar. Daha fazla ayrıntı için [Mobile SDK referansına](./mobile-sdk-reference#optout-%2C-optin-%2C-optedin) bakın.

Push gönderilirken uygulama açıksa, `preventDefault()` yöntemi aracılığıyla push'un gösterilmesini engelliyor olabilirsiniz. Bu genellikle [Ön Plan Olay Dinleyicisi](./mobile-sdk-reference#addforegroundlifecyclelistener-push) veya [Android Bildirim Servis Uzantısı](./service-extensions) içinde ayarlanır.

#### Firebase Messaging veya diğer SDK çakışmaları

Uygulamanız Firebase Messaging SDK veya diğer push bildirim SDK'larını da içeriyorsa, OneSignal mesajları işlemeden önce bunların mesajları engellemediğini doğrulayın.

Bu sorun genellikle şu durumlarda ortaya çıkar:

* Bildirimler OneSignal'da **Teslim Edildi** olarak görünüyor ancak cihazda hiç görünmüyor.
* Uygulama hem OneSignal hem de `firebase_messaging` (veya özel `FirebaseMessagingService`) içeriyor.
* Firebase Messaging kaldırıldığında push çalışıyor ancak her iki SDK de mevcutken başarısız oluyor.

1. `AndroidManifest.xml` dosyanızda `com.google.firebase.iid.FirebaseInstanceIdReceiver` gibi eski Firebase alıcıları olup olmadığını kontrol edin ve OneSignal push tesliminden sorumluysa bunları kaldırın/koşullu olarak hariç tutun.

2. `onMessageReceived` işlevini geçersiz kılan özel `FirebaseMessagingService` uygulamalarını (veya Flutter'daki `firebase_messaging` gibi kütüphaneleri) kontrol edin. Başka bir servis mesajları tamamen işlerse veya bastırırsa, OneSignal bildirimi görüntülemeden önce FCM yükünü tüketebilir.

3. `FirebaseMessaging.getToken()` veya `FirebaseMessaging.deleteToken()` gibi Firebase token yönetim API'larını çağırmaktan kaçının.

OneSignal push tesliminden sorumluysa, push token yaşam döngüsünü yöneten tek SDK olmalıdır. FCM token'ını doğrudan almak veya yönetmek, token sahipliği çakışmalarına ve tutarsız teslimat davranışına yol açabilir.

Diğer sistemler için cihaz push token'ına ihtiyacınız varsa, OneSignal'dan okuyun (örneğin, `User.pushSubscription.token`) ve [SDK'nın gözlemci API'larını](./mobile-sdk-reference#addobserver-push-subscription-changes) kullanarak abonelik/token değişikliklerini dinleyin.

### SDK'nız için örnek projeyi test edin

Her SDK için mühendislik ekibimiz tarafından sürdürülen örnek projeyi kullanarak sorunun tekrarlanabilir olup olmadığını kontrol edin.

* [iOS örnek proje](https://github.com/OneSignal/OneSignal-iOS-SDK/tree/main/OneSignalSwiftUIExample)
* [Android örnek proje](https://github.com/OneSignal/OneSignal-Android-SDK/tree/main/examples)
* [Cordova varyantları örnek proje](https://github.com/OneSignal/OneSignal-Cordova-SDK/tree/main/examples)
* [React Native örnek proje](https://github.com/OneSignal/react-native-onesignal/tree/main/examples)
* [Flutter örnek proje](https://github.com/OneSignal/OneSignal-Flutter-SDK/tree/main/examples)
* [Unity örnek proje](https://github.com/OneSignal/OneSignal-Unity-SDK/tree/main/examples)
* [.NET MAUI örnek proje](https://github.com/OneSignal/OneSignal-DotNet-SDK/tree/main/examples)

### Hata günlüklerini kontrol edin

Daha fazla teşhis yapmadan önce günlük verilerini toplayın:

* [Hata ayıklama günlüğü yakalama](./capturing-a-debug-log) kılavuzumuzu takip edin.
* Davranışı açıklayabilecek hatalar, uyarılar veya kullanımdan kaldırma bildirimleri arayın.

<Card title="Hata ayıklama günlüğü yakalama" icon="bug" href="./capturing-a-debug-log">
  Ayrıntılı günlük kaydını etkinleştirme ve sorun giderme için SDK çıktısını yakalama.
</Card>

### Desteğe başvurun

Hala sorun yaşıyorsanız, `support@onesignal.com` adresine şunları sağlayarak başvurun:

* OneSignal App ID'niz
* Etkilenen cihazın External ID'si ve/veya Subscription ID'si
* Varsa bildirim ID'si veya panodaki bildirime bağlantı
* Sorunu yeniden üreten [cihazdan hata ayıklama günlüğü](./capturing-a-debug-log)

***

## Yaygın hatalar

### APNS Delegate never fired

"APNS Delegate Never Fired" ve "APNS 3000" gibi hatalar, cihazın Apple'ın APNS sunucularına bağlanamadığını belirten Apple'ın zaman aşımı mesajlarıdır. Bu en yaygın olarak şu durumlarda görülür:

* APNS geliştirme ortamlarında test edilirken
* OneSignal ile birden fazla push bildirim bağımlılığı veya yerel iOS push API'leri kullanılırken
* Geçici bir bağlantı sorunu — kullanıcı bir sonraki yeni oturumu başlattığında genellikle kendiliğinden çözülür (uygulama 30+ saniye arka planda, ardından yeniden açılır)

**Çözüm adımları:**

1. Diğer push bildirim bağımlılıklarını veya yerel iOS push API'lerini kaldırın ve yalnızca OneSignal'i kullanın. Hata çözüldükten sonra, diğer kodu geri ekleyebilirsiniz. Birlikte var olma en iyi uygulamaları için `support@onesignal.com` ile iletişime geçin.
2. Daha fazla ayrıntı için [cihazdan hata ayıklama günlüğünü](./capturing-a-debug-log) kontrol edin.
3. Hata devam ederse, [desteğe başvurun](#sorun-giderme-adımları).

Capacitor kullanıyorsanız, OneSignal'in push bildirimleri işlemesine izin vermek için bu yapılandırmayı ekleyin.

<CodeGroup>
  ```json json theme={null}
  {
    "ios": {
      "handleApplicationNotifications": false
    }
  }
  ```

  ```typescript capacitor.config.ts theme={null}
  const config: CapacitorConfig = {
    // ... additional configuration

    ios: {
      // ... additional configuration
      handleApplicationNotifications: false
    }
  };
  ```
</CodeGroup>

### Uygulama zorla kapatıldığında ve bildirime tıklandığında açılmıyor

`Debug` derlemesinde test yapmadığınızdan emin olun. Örneğin, Flutter Uygulamaları için şunlardan birini yapabilirsiniz:

* Flutter aracılığıyla release derlemesi kullanın, örneğin `flutter run --release` (fiziksel cihaz gerektirir)
* Xcode şemasını `Debug` yerine `Release` olarak güncelleyin

***

## İlgili sayfalar

<Columns cols={2}>
  <Card title="Mobil SDK kurulumu" icon="wrench" href="./mobile-sdk-setup">
    Desteklenen tüm mobil ve çapraz platform SDK'ları için kurulum talimatları.
  </Card>

  <Card title="Hata ayıklama günlüğü yakalama" icon="bug" href="./capturing-a-debug-log">
    Sorun giderme için SDK günlüklerini yakalama.
  </Card>

  <Card title="Web Push sorun giderme" icon="globe" href="./troubleshooting-web-push">
    Web push bildirim sorunlarını giderin.
  </Card>

  <Card title="Mobil SDK referansı" icon="book" href="./mobile-sdk-reference">
    OneSignal Mobile SDK'ları için tam API referansı.
  </Card>
</Columns>

***

## SSS

### Uygulamamda OneSignal App ID'mi değiştirirsem ne olur?

Uygulamanızın başlatma kodunda OneSignal App ID'yi değiştirmek, kullanıcı uygulamayı güncellediğinde ve en son sürümü açtığında yeni App ID altında yepyeni bir kullanıcı ve push aboneliği oluşturacaktır.

iOS bundle ID'niz ve/veya Android package ID'niz aynıysa, cihaz aynı push abonelik durumuyla devam edecektir. Kullanıcı verileri yepyeni olacaktır, yani takma adlarınızı, etiketlerinizi, e-posta adresinizi, telefon numaranızı yeni kayda geri eklemeniz gerekecektir.

iOS bundle ID veya Android package ID farklıysa, bu yepyeni bir uygulamadır ve farklı push sertifikalarına/anahtarlarına sahip olmalıdır.

### OneSignal, şirket içi kapalı ağda push bildirimleri gönderebilir mi?

Bu, kapalı ağınızdaki bilgisayarların desteklemek istediğiniz push ağ geçidi sunucularına erişimi olduğu sürece çalışabilir:

* [https://support.apple.com/en-us/HT203609](https://support.apple.com/en-us/HT203609)
* [https://firebase.google.com/docs/cloud-messaging/concept-options#messaging-ports-and-your-firewall](https://firebase.google.com/docs/cloud-messaging/concept-options#messaging-ports-and-your-firewall)

Ağ İnternet'ten tamamen kopuksa, push bildirimleri, desteklediğimiz standart işletim sistemi/tarayıcı hizmetleri aracılığıyla iletilemez.

***
