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

# Kullanıcı modeli ve geçiş kılavuzu

> OneSignal'in cihaz merkezli modelinden daha kişiselleştirilmiş, çok kanallı etkileşim için yeni kullanıcı merkezli API'lere ve SDK'lara nasıl geçeceğinizi öğrenin.

OneSignal, cihaz merkezli (Player ID) modelden birleşik kullanıcı kavramı etrafında oluşturulmuş kullanıcı merkezli bir modele geçti. Bu kılavuz, yeni modeli, eski yaklaşımdan nasıl farklı olduğunu ve uygulamanızı güvenli ve başarılı bir şekilde nasıl geçireceğinizi açıklar.

<Note>
  Bu kılavuz, OneSignal'i uzun süredir Mobil SDK'larımızın 2, 3 veya 4. sürümlerinde veya Web SDK'mızın v15'inde kullanan müşteriler içindir.

  Yeni bir müşteriyseniz veya Mobil SDK'larımızın 5. sürümüne veya Web SDK'mızın v16'sına zaten geçtiyseniz, bu kılavuzu atlayabilir ve şuraya gidebilirsiniz:

  * [Kullanıcılar](./users)
  * [Abonelikler](./subscriptions)
  * [Mobil SDK referansı](./mobile-sdk-reference)
  * [Web SDK referansı](./web-sdk-reference)
</Note>

<Frame caption="Kullanıcı Modeli ile çok kanallı mesajlaşma">
  <img src="https://mintcdn.com/onesignal/RWtLFPeffHrC81wI/images/docs/aafd98a-small-header-user-model.png?fit=max&auto=format&n=RWtLFPeffHrC81wI&q=85&s=6d6b720a52fb316510a09653bae94385" alt="User Model multi-channel illustration" width="1280" height="720" data-path="images/docs/aafd98a-small-header-user-model.png" />
</Frame>

## Kullanıcı Modeli nedir?

Kullanıcı Modeli, bireysel cihazları hedeflemek yerine, abone oldukları tüm mesajlaşma kanallarında (mobil push, web push, e-posta, SMS ve uygulama içi) gerçek kullanıcıları hedeflemenize olanak tanır.

Her Kullanıcı:

* Bir veya daha fazla Kimlik Takma Adına sahiptir (örneğin external\_id, özel takma ad)
* Her kanal veya cihaz için bir tane olmak üzere birden fazla Aboneliğe sahip olabilir
* Etiketler, dil ve etkinlik geçmişi gibi meta verileri içerir

Bu model, hedef kitle hedeflemeyi basitleştirir, kişiselleştirilmiş çok kanallı mesajlaşmayı destekler ve Journey'ler, Kullanıcı Düzeyinde Analitik ve Gerçek Zamanlı Kimlik Çözümleme gibi gelişmiş özelliklerin kilidini açar.

<Frame caption="Player vs. User Model">
  <img src="https://mintcdn.com/onesignal/tNi1OgLc_p9hiq7_/images/docs/201ccdd-User_Model_Office_Visuals.png?fit=max&auto=format&n=tNi1OgLc_p9hiq7_&q=85&s=d7910b524fb166050871f47ea344141f" alt="Diagram showing difference between Player and User Models" width="4064" height="5214" data-path="images/docs/201ccdd-User_Model_Office_Visuals.png" />
</Frame>

***

## Temel kavramlar

<Tabs>
  <Tab title="Kullanıcılar">
    Bir **Kullanıcı** gerçek bir kişiyi temsil eder. Sistem tarafından oluşturulan veya özel takma adlar kullanarak bir kullanıcıyı tanımlayabilirsiniz.

    * `onesignal_id`: OneSignal tarafından otomatik oluşturulur
    * `external_id`: SDK `login()` veya API aracılığıyla ayarlanır (ayrılmış takma ad)
    * Özel Takma Adlar: örneğin `user_id`, `email`, `facebook`, vb.

    Daha fazla bilgi: [Kullanıcılar](./users)
  </Tab>

  <Tab title="Abonelikler">
    Bir **Abonelik**, kullanıcının abone olduğu bir kanalı temsil eder. Bu, cihaz bilgisi, token'lar, oturum geçmişi ve katılım durumu gibi meta verileri içerir.

    * Mobil ve Uygulama içi
    * Web Push
    * E-posta
    * SMS

    Daha fazla bilgi: [Abonelikler](./subscriptions)
  </Tab>

  <Tab title="Takma Adlar">
    Takma adlar, harici tanımlayıcıları (örneğin, uygulamanızdan kullanıcı kimliği, Mixpanel kimliği) bir OneSignal kullanıcısına eşler. Platformlar arasında parçalanmış kimlikleri birleştirmek için birden fazla takma ad atayabilirsiniz.

    * Özel takma adlar:
      * `onesignal_id`: Otomatik yönetilir, salt okunur
      * `external_id`: Yazılabilir, eski uyumlu

    Daha fazla bilgi: [Takma Adlar ve External ID](./users)
  </Tab>
</Tabs>

***

## Geçişin faydaları

* **Birleşik Kimlik**: Tüm cihazlar ve kanallar genelinde tek kullanıcı
* **Gelişmiş Mesajlaşma**: Journey'ler, uygulama içi giriş takibi ve yaşam döngüsü kampanyaları gibi güçlü özellikler
* **Temiz Segmentasyon**: Kullanıcıları etiketlere, abonelik durumuna, kanal etkileşimine ve daha fazlasına göre gruplandırın
* **Basitleştirilmiş API**: Daha az uç nokta, daha tutarlı veri modeli

***

## Geçiş adımları

<Warning>
  Kullanıcı Modeli geriye dönük uyumlu değildir. Geçiş, Player Model'den User Model'e **tek yönlüdür**.

  Geçiş yapmadan önce:

  * Bir staging ortamında kapsamlı test edin
  * Yalnızca tüm SDK'lar ve arka uç hizmetleri güncellendikten sonra geçiş yapın
</Warning>

<Steps>
  <Step title="Kullanıcıları external_id ile birleştirin">
    Mevcut player kayıtlarını birleşik kullanıcılara bağlamak için kimlik takma adlarını kullanın.

    **Seçenekler**:

    * SDK `login(externalId)`
    * API: [Create User](/reference/create-user), [Update User](/reference/update-user)
    * CSV: [Import](./import)

    OneSignal, aynı External ID altındaki abonelikleri otomatik olarak birleştirecektir.
  </Step>

  <Step title="OneSignal SDK'larınızı güncelleyin">
    Tüm OneSignal mobil SDK'ları v5+ ve web SDK v16+ Kullanıcı Modelini destekler.

    Riski en aza indirmek için aşamalı dağıtım stratejileri kullanarak SDK güncellemelerini kullanıma sunun:

    * [Apple Phased Rollout](https://developer.apple.com/help/app-store-connect/update-your-app/release-a-version-update-in-phases)
    * [Google Play Staged Rollout](https://support.google.com/googleplay/android-developer/answer/6346149)

    Aşağıdaki [SDK destek tablosuna](#sdk-support) bakın.
  </Step>

  <Step title="Yeni User API'lerini kullanmak için arka ucunuzu güncelleyin">
    Kullanımdan kaldırılan Player Model API çağrılarını yeni User Model eşdeğerleriyle değiştirin.

    Eski uç noktaları yenileriyle eşlemek için [API Referansımızı](/reference/rest-api-overview) ve aşağıdaki tabloları kullanın.
  </Step>
</Steps>

## SDK desteği ve geçiş kılavuzları

<Tabs>
  <Tab title="Mobil SDK'lar">
    | Platform     | SDK                                                                 | Migration Guide                                                                                            |
    | ------------ | ------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
    | Android      | [v5+](https://github.com/OneSignal/OneSignal-Android-SDK/releases)  | [Guide](https://github.com/OneSignal/OneSignal-Android-SDK/blob/user-model/main/MIGRATION_GUIDE.md)        |
    | iOS          | [v5+](https://github.com/OneSignal/OneSignal-iOS-SDK/releases)      | [Guide](https://github.com/OneSignal/OneSignal-iOS-SDK/blob/major_release_5.0.0/MIGRATION_GUIDE.md)        |
    | Unity        | [v5+](https://github.com/OneSignal/OneSignal-Unity-SDK/releases)    | [Guide](https://github.com/OneSignal/OneSignal-Unity-SDK/blob/user-model/main/MIGRATION_GUIDE_v3_to_v5.md) |
    | Flutter      | [v5+](https://github.com/OneSignal/OneSignal-Flutter-SDK/releases)  | [Guide](https://github.com/OneSignal/OneSignal-Flutter-SDK/blob/user_model/main/MIGRATION_GUIDE.md)        |
    | React Native | [v5+](https://github.com/OneSignal/react-native-onesignal/releases) | [Guide](https://github.com/OneSignal/react-native-onesignal/blob/major_release_5.0.0/MIGRATION_GUIDE.md)   |
    | .NET MAUI    | [v5+](https://github.com/OneSignal/OneSignal-DotNet-SDK/releases)   | [Guide](https://github.com/OneSignal/OneSignal-DotNet-SDK/blob/user-model/main/MIGRATION_GUIDE.md)         |

    <Note>
      Eski player model yöntemlerinden yeni user model yöntemlerine eşleme için [Mobil SDK eşlemesine](./device-user-model-mobile-sdk-mapping) bakın.
    </Note>
  </Tab>

  <Tab title="Web SDK'ları">
    | Platform  | SDK                                                                 | Migration Guide                                                                            |
    | --------- | ------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ |
    | Web       | [v16+](https://github.com/OneSignal/OneSignal-Website-SDK/releases) | [Guide](https://github.com/OneSignal/OneSignal-Website-SDK/blob/160000/MIGRATION_GUIDE.md) |
    | React     | [v3+](https://www.npmjs.com/package/react-onesignal)                | [Guide](https://github.com/OneSignal/react-onesignal/blob/main/MigrationGuide.md)          |
    | Vue 2 & 3 | [v2+/v3+](https://www.npmjs.com/package/@onesignal/onesignal-vue3)  | [Guide](https://github.com/OneSignal/onesignal-vue/blob/HEAD/MigrationGuide.md)            |
    | Angular   | [v2+](https://www.npmjs.com/package/onesignal-ngx)                  | [Guide](https://github.com/OneSignal/onesignal-ngx/blob/HEAD/MigrationGuide.md)            |

    <Note>
      Eski player model yöntemlerinden yeni user model yöntemlerine eşleme için [Web SDK eşlemesine](./device-user-model-web-sdk-mapping) bakın.
    </Note>
  </Tab>

  <Tab title="Backend SDK'ları">
    | Language | SDK                                                                                  |
    | -------- | ------------------------------------------------------------------------------------ |
    | Node     | [@onesignal/node-onesignal](https://www.npmjs.com/package/@onesignal/node-onesignal) |
    | Python   | [onesignal-python-api](https://pypi.org/project/onesignal-python-api/)               |
    | Go       | [onesignal-go-api](https://pkg.go.dev/github.com/OneSignal/onesignal-go-api/v2)      |
    | .NET     | [OneSignalApi](https://www.nuget.org/packages/OneSignalApi)                          |
    | Rust     | [onesignal-rust-api](https://crates.io/crates/onesignal-rust-api)                    |
    | Ruby     | [onesignal](https://rubygems.org/gems/onesignal)                                     |
    | PHP      | [onesignal-php-api](https://packagist.org/packages/onesignal/onesignal-php-api)      |
  </Tab>
</Tabs>

***

## API referansı

<Tabs>
  <Tab title="Player Model (Kullanımdan kaldırıldı)">
    | Eski API                                       | Yerine kullanılacak                                                                              |
    | ---------------------------------------------- | ------------------------------------------------------------------------------------------------ |
    | [Add Device](/reference/add-a-device)          | [Create User](/reference/create-user) veya [Create Subscription](/reference/create-subscription) |
    | [Edit Device](/reference/edit-device)          | [Update User](/reference/update-user) veya [Update Subscription](/reference/update-subscription) |
    | [Delete Player](/reference/delete-user-record) | [Delete User](/reference/delete-user) veya [Delete Subscription](/reference/delete-subscription) |
  </Tab>

  <Tab title="User Model (Yeni)">
    | İşlem            | API                                     |
    | ---------------- | --------------------------------------- |
    | Oluştur          | [Create User](/reference/create-user)   |
    | Görüntüle        | [View User](/reference/view-user)       |
    | Güncelle         | [Update User](/reference/update-user)   |
    | Sil              | [Delete User](/reference/delete-user)   |
    | Takma Ad Ekle    | [Create Alias](/reference/create-alias) |
    | Takma Adı Kaldır | [Delete Alias](/reference/delete-alias) |

    ### Abonelik API'leri

    | İşlem    | API                                                       |
    | -------- | --------------------------------------------------------- |
    | Oluştur  | [Create Subscription](/reference/create-subscription)     |
    | Güncelle | [Update Subscription](/reference/update-subscription)     |
    | Sil      | [Delete Subscription](/reference/delete-subscription)     |
    | Aktar    | [Transfer Subscription](/reference/transfer-subscription) |
  </Tab>
</Tabs>

***

## Sonraki adımlar

* 📘 [Kullanıcılar](./users) ve [Abonelikler](./subscriptions) belgelerimize bakın
* 🛠️ Yayına geçmeden önce SDK'ları güncelleyin ve staging ortamında test edin
* 💬 Yardıma mı ihtiyacınız var? `support@onesignal.com` ile iletişime geçin

<Check>
  Artık yeni Kullanıcı Modeli ile desteklenen kişiselleştirilmiş, çok kanallı mesajlaşma deneyimleri oluşturmaya hazırsınız!
</Check>

***
