# Kanal Türleri

Web sitesi ile uygulama kanalı arasındaki fark
Kaynak: https://selwise.com/docs/channels/channel-types

Selwise'te iki tür kanal vardır: **web sitesi** ve **mobil uygulama**. Kanal türü, kanalı eklerken seçilir ve sonradan değiştirilemez.

## Panelde nerede

Sol menüde **Kanallar → Add Channel** (Channels). Tür, formun ilk sorusudur (**What are you adding?** — Ne ekliyorsunuz?); adres alanının etiketi, doğrulama biçimi ve kurulum adımları buna göre değişir. Türün adı panelde **Website** (Web Sitesi) ve **Mobile App** (Mobil Uygulama) olarak geçer; API'de değeri `web` ve `app`'tir.

## Fark nerede

| | Web sitesi (`web`) | Mobil uygulama (`app`) |
|---|---|---|
| Adres | Alan adı (`magaza.com`) | Uygulama tanımlayıcısı (`com.magaza.app`) |
| Kurulum | `<script>` etiketi | `@selwise/react-native` SDK |
| Kimlik doğrulama | Doğrulanmış alan adı; `Origin` ve `Referer` taşımayan sunucu çağrıları API anahtarıyla | **Her zaman** API anahtarı (`x-selwise-api-key`) — bir `Origin` gelse bile |
| Doğrulama | Domain doğrulaması gerekir | Doğrulanacak alan adı yoktur; kanal oluşturulduğu anda doğrulanmış sayılır |
| Çizim | Widget'ı Selwise çizer | SDK kararı verir, çizimi uygulamanız yapar |
| Tarayıcıdan CORS | Doğrulanmış alan adı için açık | Hiçbir tarayıcı kökenine açık değil |

## Hangi özellik hangi türde çalışır

Aşağıdaki tablo koddaki tek kaynaktan (`CHANNEL_TYPE_CAPABILITIES`) gelir; panel menüsü, API doğrulaması ve kurulum yönergeleri aynı listeyi okur.

| Özellik | Web sitesi | Mobil uygulama |
|---|---|---|
| Kampanyalar ve widget'lar (karar olarak) | Var | Var — çizimi uygulama yapar |
| Selwise'in kendi çizdiği yüzeyler (hosted rendering) | Var | Yok |
| Arama, öneriler, olay izleme, sipariş atfı, segmentler | Var | Var |
| Varlık deneyleri (widget, kampanya, öneri şeridi A/B) | Var | Var |
| Sayfa üstü deneyler (sayfa DOM'unu değiştiren) | Var | Yok |
| Canlı sepet değeri (hedef çubuğu) | Var — data layer veya platform sepeti | Var — uygulama `setCart` ile bildirir |
| Ürün kataloğu ve feed | Var | Var |
| Ürün zenginleştirme | Var | Var — uygulama adlandırılmış bir yuva (`placementKey`) ister, içeriği izole bir WebView'da çizer |
| Sunucu taraflı render | Var | Yok |
| Sekme mesajı (Tab Talk) | Var (yalnızca masaüstü tarayıcı) | Yok |
| Özel script'ler (JavaScript ve CSS) | Var | Yok |
| Data layer | Var | Yok — olaylar SDK'nın `track()` çağrılarıyla gelir |
| Domain doğrulama, script kurulumu | Var | Yok |
| API anahtarı zorunluluğu | İsteğe bağlı | Zorunlu |

Yokların nedeni ürün kararı değildir: uygulamada çalıştırılacak bir `<script>`, dinlenecek bir `window.dataLayer`, sekme başlığı ve sayfa DOM'u yoktur. Bu ekranlar, uygulama kanalı seçiliyken sol menüde hiç görünmez; ilgili kod alanları uygulama kanalında kaydedilir ama çalıştırılmaz — bkz. [Özel Scriptler](/docs/custom-scripts/overview).

> **Uygulamada özel widget**
>
> `Custom` türünde bir yüzeyin kodu uygulamada çalışır: SDK onu bir WebView'da çizer. Bu, "uygulamada özel script yok" kuralının tek istisnasıdır — bkz. [Mobil SDK](/docs/mobile/surfaces).

## Yanlış türü seçtiysem

Kanal türü güncellenemez; hem panelde hem yönetici yolunda böyledir. Nedeni, türü değiştirmenin arkada doğrulanmış bir alan adı, kurulum kodu, özel script'ler ve zenginleştirme kurallarını yapılandırılmış görünür bırakıp işlevsiz hâle getirmesidir. Veri girmediğiniz bir kanalı silip yenisini ekleyin; veri girdiğiniz bir kanal için doğru çözüm ikinci bir kanaldır.

## Sırada ne var

- [Kanal Ekleme](/docs/channels/adding-channels)
- [Uygulama Kanalları](/docs/channels/app-channels)
- [Paylaşılan Katalog](/docs/channels/shared-catalog)
