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

# Rozetler

> iOS, Android ve Huawei'de push bildirimleri için uygulama simgesi rozet sayılarını yönetin; otomatik temizleme, API kontrolü ve yerel rozet mantığı dahil.

Rozetler, mobil uygulama simgenizde görünen küçük numaralı noktalardır. Kullanıcı dikkatini çekmeye yardımcı olurlar ve etkileşim davranışını etkileyebilirler. Özellikle iOS'ta rozetler ek kurulum gerektirir ve esnek kontrol sunar, aşağıda açıklandığı gibi.

<Note>
  Android Web Push bildirimleri için rozet, bildirimler üzerinde gösterilen küçük simgeyi ifade eder—uygulama simgesini değil—ve özelleştirilebilir. [Web Push Rozetleri](./push#badges)'ne bakın.
</Note>

***

## Android rozetleri

Android uygulama simgesi rozet davranışı [Android bildirim kategorileri](./android-notification-categories) aracılığıyla yönetilebilir. Bir kategorinin (kanalın) rozet gösterip göstermediğini kontrol edebilir ve kategori bazında rozet davranışını ayarlayabilirsiniz.

***

## Huawei rozetleri

Huawei cihazlarında, bir rozet kullanıcının cihaz ayarlarına bağlı olarak uygulama simgesinde bir sayı veya nokta olarak görüntülenebilir. Rozetler, okunmamış mesajları veya bekleyen işlemleri göstermeye yardımcı olur ve kullanıcıları uygulamayı açmaya teşvik eder. OneSignal, Huawei rozet sayılarını doğrudan kontrol paneli veya API aracılığıyla kontrol etmenize olanak tanır.

### Huawei rozetleri nasıl çalışır

Rozet, kullanıcının cihaz ayarına (**Ayarlar > Bildirimler > Uygulama simgesi rozetleri**) bağlı olarak uygulama simgesinde **sayısal değer** veya **nokta** olarak görüntülenir. API çağrınız temel sayıyı kontrol eder; cihaz görsel stili belirler.

#### Parametreler

| Parametre              | Tür     | Aralık | Açıklama                                                                                                                                                                                         |
| ---------------------- | ------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `huawei_badge_class`   | string  | —      | **(Gerekli)** Uygulamanızın başlatıcı Activity'sinin tam nitelikli sınıf adı (örneğin, `com.example.myapp.MainActivity`). Huawei sistemine hangi uygulama simgesine rozet ekleneceğini bildirir. |
| `huawei_badge_set_num` | integer | 0–99   | Rozeti tam bir sayıya ayarlar. `0` rozeti temizler.                                                                                                                                              |
| `huawei_badge_add_num` | integer | 1–99   | Mevcut rozet sayısını bu miktar kadar artırır.                                                                                                                                                   |

#### Davranış kuralları

* `huawei_badge_class` herhangi bir rozet işlemi için gereklidir.
* Hem `huawei_badge_set_num` hem de `huawei_badge_add_num` sağlanırsa, `huawei_badge_set_num` öncelik alır.
* Hiçbiri sağlanmazsa (ancak `huawei_badge_class` ayarlıysa), rozet sayısı varsayılan olarak 1 artar.

### Rozetlerle Huawei push gönderme

<Tabs>
  <Tab title="Dashboard">
    1. **Mesajlar > Push** veya **Şablonlar**'a gidin
    2. **Platform Ayarları > Huawei Android'e Gönder > Rozet** altında
    3. Aşağıdakilerden birini seçin:
       * **Ayarlama** — rozet bu bildirimden etkilenmez
       * **Ayarla** — rozeti belirli bir sayıya ayarlar (0-99)
       * **Artır** — mevcut rozet sayısını artırır (1-99)
  </Tab>

  <Tab title="API">
    [Create message](/reference/create-message) API'sinde aşağıdaki parametreleri kullanın:

    * `huawei_badge_class` — *(dize, rozet için gerekli)* Uygulamanın başlatıcı Activity'sinin tam nitelikli sınıf adı (örneğin, `"com.example.myapp.MainActivity"`)
    * `huawei_badge_set_num` — *(tamsayı, 0-99)* Rozet sayısını bu tam sayıya ayarlar. Rozeti temizlemek için `0` olarak ayarlayın.
    * `huawei_badge_add_num` — *(tamsayı, 1-99)* Mevcut rozet sayısını bu sayı kadar artırır. `huawei_badge_set_num` ile birlikte atlanırsa, varsayılan olarak 1 artırır.

    **Rozeti belirli bir sayıya ayarla:**

    ```json theme={null}
    {
      "huawei_badge_class": "com.example.myapp.MainActivity",
      "huawei_badge_set_num": 5
    }
    ```

    **Rozeti belirli bir miktar artır:**

    ```json theme={null}
    {
      "huawei_badge_class": "com.example.myapp.MainActivity",
      "huawei_badge_add_num": 1
    }
    ```

    **Rozeti temizle:**

    ```json theme={null}
    {
      "huawei_badge_class": "com.example.myapp.MainActivity",
      "huawei_badge_set_num": 0
    }
    ```
  </Tab>
</Tabs>

### Rozetleri temizleme

Huawei, kullanıcı uygulamayı açtığında veya bir bildirime dokunduğunda rozeti **otomatik olarak temizlemez**. Rozeti temizlemek için iki seçeneğiniz var:

* **API veya kontrol paneli aracılığıyla**: `huawei_badge_set_num`'u `0` olarak ayarlanmış bir bildirim gönderin (veya kontrol panelinde **Ayarla > 0** kullanın). Görünür bir bildirim görünmesini istemiyorsanız, bu bir [veri/arka plan bildirimi](./data-notifications) olabilir.
* **İstemci tarafı kod aracılığıyla**: Uygulamanız Huawei rozet API'sini kullanarak rozeti yerel olarak temizleyebilir. Bu, `AndroidManifest.xml` dosyanızda `com.huawei.android.launcher.permission.CHANGE_BADGE` iznini gerektirir. Uygulama ayrıntıları için [Huawei rozet geliştirme kılavuzu](https://developer.huawei.com/consumer/en/doc/hmscore-guides/android-badging-0000001050042083)'na bakın.

<Note>
  `huawei_badge_set_num` parametresi EMUI 10.0.0 veya sonrası ve Push SDK 10.1.0 veya sonrasını gerektirir. Eski cihazlarda yalnızca `huawei_badge_add_num` desteklenir.
</Note>

***

## iOS rozetleri

iOS'ta rozet sayılarının doğru şekilde artmasını sağlamak için şunları yapılandırmanız gerekir:

* `OneSignalNotificationServiceExtension`
* App Groups

Tam talimatlar için [Mobil SDK kurulumu](./mobile-sdk-setup)'na bakın.

Varsayılan olarak, OneSignal SDK:

1. Uygulama açıldığında uygulama simgesi rozetini temizler.
2. Bildirim Merkezi'nden bildirimleri kaldırır.

Bildirimleri korumak ve rozet mantığını manuel olarak yönetmek istiyorsanız (örn. kendi sayacınızı kullanarak veya cihazlar arasında durumu senkronize ederek), bu otomatik davranışı devre dışı bırakabilirsiniz.

**Manuel rozet kontrolü için yaygın kullanım durumları**

* Uygulama başlatıldığında veya devam ettiğinde rozeti sıfırlama
* Ön planda bir bildirim alındığında rozeti artırma
* Bir mesaj okunduğunda veya kapatıldığında azaltma
* App Groups veya arka ucunuz aracılığıyla cihazlar veya uygulama uzantıları arasında rozet durumunu senkronize etme

### Otomatik bildirim ve rozet temizlemeyi devre dışı bırakın

Uygulamanızın `info.plist` dosyasında, Anahtar: `OneSignal_disable_badge_clearing` ile Boolean türünde Değer `YES` ekleyin

<Frame caption="OneSignal_disable_badge_clearing YES olarak ayarlanmış info.plist.">
  <img src="https://mintcdn.com/onesignal/Xl2NHJvxakrK4JbL/images/docs/ea4fbad85bfcb4909ce88668e3882fc8749624c781a66d7c78c440b7e267999c-Screenshot_2025-04-01_at_4.37.05_PM.png?fit=max&auto=format&n=Xl2NHJvxakrK4JbL&q=85&s=e2aafae9e93e16b63e263f34770f262a" alt="Xcode Info.plist editor showing OneSignal_disable_badge_clearing set to YES" width="2284" height="1484" data-path="images/docs/ea4fbad85bfcb4909ce88668e3882fc8749624c781a66d7c78c440b7e267999c-Screenshot_2025-04-01_at_4.37.05_PM.png" />
</Frame>

```xml theme={null}
<key>OneSignal_disable_badge_clearing</key>
<true/>
```

Bu, SDK'nın uygulama açıldığında bildirimleri otomatik olarak kaldırmasını veya rozeti sıfırlamasını önler.

#### iOS yerel rozet yönetimi

OneSignal'ın otomatik rozet temizlemesini devre dışı bırakırsanız, rozet davranışını kontrol etmek için Apple'ın yerel API'lerini kullanabilirsiniz.

<Warning>
  Apple, iOS 17'de `UIApplication.shared.applicationIconBadgeNumber`'ı kullanımdan kaldırdı. Artık [UserNotifications çerçevesinden](https://developer.apple.com/documentation/UserNotifications/UNUserNotificationCenter/setBadgeCount\(_:withCompletionHandler:\)) aşağıdaki yöntemleri kullanmalısınız:
</Warning>

**Rozet sayısını ayarlama**

Uygulama simgesindeki rozeti belirli bir değere ayarlamak için:

```swift theme={null}
import UserNotifications
import UIKit

if #available(iOS 17.0, *) {
  UNUserNotificationCenter.current().setBadgeCount(5) { error in
    if let error = error {
      print("Failed to set badge count: \(error.localizedDescription)")
    } else {
      print("Badge count updated successfully.")
    }
  }
} else {
  UIApplication.shared.applicationIconBadgeNumber = 5
}
```

**Mevcut rozet sayısını alma**

iOS, sistemden mevcut rozet sayısını almanız için bir yöntem sağlamaz. Rozet sayısını uygulamanızın durumunda takip etmelisiniz (örneğin, `UserDefaults`, uygulamanızın veri modeli veya arka ucunuzla senkronize ederek kullanarak).

```swift theme={null}
// Example: Store and retrieve badge count using UserDefaults
let badgeCount = UserDefaults.standard.integer(forKey: "badgeCount")
// Update badge count as needed
UserDefaults.standard.set(badgeCount, forKey: "badgeCount")
```

**Rozeti artırma veya azaltma**

Rozet mantığını manuel olarak yönetmelisiniz, çünkü yüklerde göreceli değişiklikler (+1 veya -1 gibi) desteklenmez. Saklanan rozet sayınızı güncelleyin ve ardından ayarlayın:

```swift theme={null}
// Example: Increment badge count and update system badge
let currentCount = UserDefaults.standard.integer(forKey: "badgeCount")
let updatedCount = max(0, currentCount + 1)
UserDefaults.standard.set(updatedCount, forKey: "badgeCount")

if #available(iOS 17.0, *) {
  UNUserNotificationCenter.current().setBadgeCount(updatedCount)
} else {
  UIApplication.shared.applicationIconBadgeNumber = updatedCount
}
```

**Rozeti temizleme**

Rozeti tamamen kaldırmak için:

```swift theme={null}
if #available(iOS 17.0, *) {
  UNUserNotificationCenter.current().setBadgeCount(0)
} else {
  UIApplication.shared.applicationIconBadgeNumber = 0
}
```

### Rozetlerle iOS push gönderme

OneSignal kontrol panelinde veya API'yi kullanarak rozet sayısını ayarlayabilirsiniz.

<Tabs>
  <Tab title="Dashboard">
    1. **Mesajlar > Push** veya **Şablonlar**'a gidin.
    2. **Platform Ayarları > Apple iOS'a Gönder > Rozetler** altında.
    3. Şunlardan birini seçin:
       * Belirli bir sayıya ayarlayın.
       * Göreceli bir miktarda artırın.

    <Frame caption="OneSignal kontrol paneli mesaj formunda rozetleri ayarlayın.">
      <img src="https://mintcdn.com/onesignal/RWtLFPeffHrC81wI/images/docs/a6f4a4c0d5869fd9ba5c83ded26752f83c1350c4f6f5213a985cf522fa4d0387-Screenshot_2025-04-01_at_4.42.50_PM.png?fit=max&auto=format&n=RWtLFPeffHrC81wI&q=85&s=8b428dfec1995ea5ec296d717bad9524" alt="OneSignal dashboard push message form showing iOS badge count options" width="1528" height="558" data-path="images/docs/a6f4a4c0d5869fd9ba5c83ded26752f83c1350c4f6f5213a985cf522fa4d0387-Screenshot_2025-04-01_at_4.42.50_PM.png" />
    </Frame>
  </Tab>

  <Tab title="API">
    [Mesaj oluştur](/reference/create-message) API'sinde aşağıdaki parametreleri kullanın:

    * `ios_badgeType` — `SetTo` veya `Increase` olarak ayarlayın.
    * `ios_badgeCount` — Ayarlanacak veya artırılacak sayı.

    ```json theme={null}
    {
      "ios_badgeType": "Increase",
      "ios_badgeCount": 1
    }
    ```
  </Tab>
</Tabs>

iOS push bildirimleri gönderirken rozet sayısı bu seçeneklere göre değişir.

Uygulama açıksa, [otomatik rozet temizlemeyi devre dışı bırakmak](#disable-automatic-notification-and-badge-clearing) için yukarıdaki talimatları takip etmediyseniz rozet sayısı sıfırlanır.

***

## SSS

### iOS'ta rozet sayım neden artmıyor?

`OneSignalNotificationServiceExtension` ve App Groups'u yapılandırdığınızdan emin olun. Bunlar olmadan rozet sayıları doğru şekilde artamaz. Tam talimatlar için [Mobil SDK kurulumu](./mobile-sdk-setup)'na bakın.

### Huawei'de rozetleri nasıl temizlerim?

`huawei_badge_set_num`'u `0` olarak ayarlanmış bir bildirim gönderin veya kontrol panelinde **Ayarla > 0** kullanın. Görünür bir bildirim göstermeden rozetleri temizlemek için [veri/arka plan bildirimi](./data-notifications) de kullanabilirsiniz. Alternatif olarak, Huawei rozet API'sini kullanarak rozeti istemci tarafında temizleyin.

### Web push için rozet ayarlayabilir miyim?

Hayır. Uygulama simgesi rozetleri yalnızca iOS, Android ve Huawei'de desteklenir. Android web push için "rozet", bildirimin kendisinde gösterilen küçük simgeyi ifade eder — bkz. [Web Push Rozetleri](./push#badges).

***

## İlgili sayfalar

<Columns cols={2}>
  <Card title="Android bildirim kategorileri" icon="android" href="./android-notification-categories">
    Android'de bildirim kanalı başına rozet görüntülemeyi ve davranışını kontrol edin.
  </Card>

  <Card title="Huawei yetkilendirmesi" icon="mobile" href="./authorize-onesignal-to-send-huawei-push">
    OneSignal ile Huawei push mesajlaşmasını kurun.
  </Card>

  <Card title="Push genel bakış" icon="bell" href="./push">
    Web push rozetleri dahil push bildirimi özellikleri için tam başvuru kaynağı.
  </Card>

  <Card title="Mobil SDK kurulumu" icon="code" href="./mobile-sdk-setup">
    iOS için rozet önkoşulları dahil OneSignal SDK'yı yapılandırın.
  </Card>
</Columns>
