> ## 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.

# iOS: Odak modları ve kesinti seviyeleri

> Cihaz ayarlarını ve push ile nasıl etkileşime girdiklerini anlama

Odak modları, iOS kullanıcılarının İş, Uyku ve Kişisel gibi ayrı modlara izin vererek bildirimleri ne zaman ve nasıl alacaklarını kontrol etmelerine yardımcı olur. Her mod, bildirim görünürlüğünü ve teslimat davranışını ayarlar.

Acil durum uyarıları veya hesap güvenliği gibi önemli kullanım durumlarını desteklemek için Apple, Odak modları etkin olduğunda bile bildirimlerin nasıl ve ne zaman görüneceğini kontrol etmek üzere **Kesinti Seviyeleri**'ni tanıttı.

## Kesinti seviyeleri

Kesinti seviyeleri, bildirimlerin aciliyetini ve teslimat davranışını belirler. Dört seviye vardır:

<Columns cols={2}>
  <Card title="Aktif (varsayılan)" icon="play">
    Standart öncelikli bildirimler. Bunlar ses, titreşim ve ekran uyandırma davranışını içerir. Odak modlarını atlamazlar.
  </Card>

  <Card title="Zamana Duyarlı" icon="hourglass">
    Aktif gibi davranır ancak özel bir banner içerir. Zamana Duyarlı bildirimler, Odak modlarını ve zamanlanmış teslimatı delip geçebilir. Yalnızca acil kullanıcı dikkatinin gerekli olduğu durumlarda kullanın.
  </Card>

  <Card title="Pasif" icon="paper-plane">
    Düşük öncelikli bildirimler. Ses veya titreşim yok. Kullanıcıyı kesintiye uğratmazlar ve Odak modlarını delip geçmezler.
  </Card>

  <Card title="Kritik" icon="triangle-exclamation">
    En yüksek öncelikli bildirimler. Tüm cihaz kontrollerini ve Odak modlarını atlar. Şiddetli hava durumu veya sağlık uyarıları gibi acil durumlar için kullanılır. Etkinleştirmek için Apple'dan önceden onay gerektirir. Daha fazla ayrıntı için [Kritik uyarılar kurulumu](#critical-alerts-setup)'na bakın.
  </Card>
</Columns>

<Frame caption="Örnek. Zamana duyarlı bildirimleri gösteren görüntü.">
  <img src="https://mintcdn.com/onesignal/tNi1OgLc_p9hiq7_/images/docs/1f2c2a0-image_6.png?fit=max&auto=format&n=tNi1OgLc_p9hiq7_&q=85&s=ac23ab6a90a3d0cd0be8dc58d9c502ee" width="1523" height="794" data-path="images/docs/1f2c2a0-image_6.png" />
</Frame>

***

## OneSignal'de kesinti seviyesi nasıl ayarlanır

OneSignal Kontrol Panelinden bir push gönderirken, **Bildirim Kesinti Seviyesi**'ni **Apple iOS Ayarları** altında bulacaksınız. Varsayılan **Aktif**'tir.

[Bildirim oluşturma API'si](/reference/create-message)'ni kullanıyorsanız, şu parametreleri kullanın:

* `ios_interruption_level`: `"active"`, `"time-sensitive"`, `"passive"` veya `"critical"` olarak ayarlayın
* `ios_relevance_score`: Teslimat sıralaması için önemi belirtmek üzere 0'dan 1'e kadar isteğe bağlı sayısal değer.

***

## Kritik uyarılar kurulumu

**Kritik Uyarılar:**

* Rahatsız Etmeyin modunu ve sessiz anahtarı yok sayar.
* Yüksek öncelikli durumlar için ayrılmıştır (ör. sağlık, güvenlik).
* Apple'dan açık onay gerektirir ve kullanıcılar normal push bildirimlerini etkinleştirmiş olsalar bile ayrı olarak kabul etmelidirler.

### Kritik uyarılar için Apple yetkisi isteme

1. [Apple'ın belgelerini](https://developer.apple.com/documentation/bundleresources/entitlements/com.apple.developer.usernotifications.critical-alerts/) inceleyin ve **istek formunu doldurun**'a tıklayın.
2. Kritik Uyarılar Yetkisi isteğini seçin.
3. Formu doldurun ve isteği gönderin.
4. Apple'ın incelemesini ve onayını bekleyin.

### Uygulamanıza Kritik Uyarılar yetkisini ekleme

Apple isteğinizi onayladıktan sonra:

1. Xcode'da `.entitlements` dosyanızı açın (yoksa bir tane oluşturun).
2. Şunu ekleyin:

```xml theme={null}
<key>com.apple.developer.usernotifications.critical-alerts</key>
<true/>
```

3. Sağlama profilinizin bu yetkiyi içerdiğinden emin olun:

* Gerekirse Apple Developer portalında sağlama profilinizi yeniden oluşturun.
* İndirin ve Xcode'a yeniden ekleyin.

### Uygulama kodunuzda Kritik Uyarı izni isteme

Kritik Uyarı izni, standart push izninden ayrıdır ve şu şekilde istenmelidir (Swift kullanarak):

```swift theme={null}
import UserNotifications

UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .sound, .badge, .criticalAlert]) { granted, error in
    if let error = error {
        print("Authorization error: \(error)")
    } else {
        print("Critical alert permission granted: \(granted)")
    }
}
```

<Warning>
  Bunu standart push iznini aldıktan sonra, ideal olarak katılım akışınızda istemelisiniz.
</Warning>

### Kritik Uyarıları test etme

1. Uygulamanızı oluşturun ve çalıştırın.
2. Yukarıdaki [OneSignal'de kesinti seviyesi nasıl ayarlanır](#how-to-set-interruption-level-in-onesignal) bölümündeki adımları izleyerek bir test push'u gönderin.

***

## İlgili dokümanlar

* [iOS: Uygunluk puanı](./ios-relevance-score)
* [Push'a genel bakış](./push)

***
