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

# Banner uygulama içi mesajlarla kullanıcıları yönlendirme

> Uygulama arayüzünüzü engellemeden bağlamsal üst ve alt banner uygulama içi mesajlarla kullanıcıları yönlendirin.

Banner Uygulama İçi Mesajlar (IAM'ler), uygulama arayüzünüzü engellemeden kullanıcıları yönlendirmenize olanak tanır. Kullanıcılar uygulamanızla etkileşime devam ederken ekranın üstünde veya altında kısa, bağlamsal mesajlar görüntülersiniz.

Genellikle kullanıcıların belirli bir anda ekstra bağlama ihtiyaç duyduğunda banner IAM'leri kullanırsınız; örneğin bir ekrana ilk kez ulaştıklarında veya önemli bir iş akışını başlattıklarında.

<Info>
  Uygulama İçi Mesajlar yalnızca tetikleme koşulları karşılandığında görüntülenir. Uygulamanızdan tetikleyiciler ayarlayarak banner'ın tam olarak ne zaman görüneceğini kontrol edersiniz.
</Info>

***

## Banner IAM'leri ne zaman kullanmalı

Aşağıdaki durumlarda onboarding için banner IAM'leri kullanın:

* Kullanıcı ulaştığında bir ekranı açıklama
* Kullanıcıları çok adımlı akışlarda yönlendirme
* Kullanıcıların bir sonraki yapması gereken eylemleri vurgulama
* Onboarding'i görünür ama müdahaleci olmayan şekilde tutma

Yapılandırılmış, çok ekranlı bir adım adım kılavuza ihtiyacınız varsa, bunun yerine kart veya karusel IAM kullanın.

***

## Örnek onboarding akışı

Bir kullanıcı sitenizi veya uygulamanızı ilk kez açtığında, üst banner onları karşılar ve keşfetmeye teşvik eder. Kullanıcı ayrıntıları görmek için bir ürüne dokunduğunda, alt banner bir sonraki adımı ne yapmaları gerektiğini yönlendirir. Her banner yalnızca kullanıcı ilgili ekrana ulaştığında görünür.

Bu yaklaşım, kullanıcıların yalnızca ilgili olduğunda rehberlik görmesini sağlar.

### Görsel örnek: E-ticaret onboarding

Banner IAM'lerin kullanıcıları bir e-ticaret uygulamasında nasıl yönlendirdiğini burada görebilirsiniz. Bu örnek, her biri **3 saniyelik otomatik kapatma** özelliğine sahip **iki ayrı IAM** kullanır. İlk banner kapandığında, ikinci banner'ın tetikleyicisi etkinleşir ve akıcı bir sıralı akış oluşturur:

<Columns cols={2}>
  <Card title="İlk karşılama banner'ı" icon="hand-wave">
    <Frame>
      <img src="https://mintcdn.com/onesignal/yfdI7grM87DeSRfh/images/iam/iam-onboarding-welcome-banner.png?fit=max&auto=format&n=yfdI7grM87DeSRfh&q=85&s=0870317f04e17618fe31e49a525e3caa" alt="'Daha fazla bilgi edinmek ve alışverişe başlamak için herhangi bir ürüne dokunun!' gösteren karşılama banner'ı" width="819" height="1723" data-path="images/iam/iam-onboarding-welcome-banner.png" />
    </Frame>

    Kullanıcılar uygulamayı ilk açtığında, alt banner onları ürünleri keşfetmeye teşvik eder.
  </Card>

  <Card title="Ürün seçimi banner'ı" icon="cart-shopping">
    <Frame>
      <img src="https://mintcdn.com/onesignal/yfdI7grM87DeSRfh/images/iam/iam-onboarding-product-banner.png?fit=max&auto=format&n=yfdI7grM87DeSRfh&q=85&s=dee390192eec8bae2c8da54c4a9ec983" alt="'Bir ürünü görüntülüyorsunuz! Tüm ayrıntıları kontrol edin ve hazır olduğunuzda sepete ekleyin.' gösteren ürün banner'ı" width="776" height="1485" data-path="images/iam/iam-onboarding-product-banner.png" />
    </Frame>

    Bir kullanıcı bir ürüne dokunduğunda, banner ürün detay görünümü için rehberlik sağlar.
  </Card>
</Columns>

***

## Ön Koşullar

Başlamadan önce, aşağıdakilere sahip olduğunuzdan emin olun:

* Aktif bir OneSignal uygulaması
* Uygulamanızda OneSignal SDK kurulu
* Uygulama kodunuzdan olayları tetikleme veya yöntemleri çağırma yeteneği
* OneSignal SDK için [kullanıcı onayı](./mobile-sdk-reference#privacy) verilmiş (Uygulama İçi Mesajlaşma için gerekli)

***

## Banner uygulama içi mesaj oluşturma

<Steps>
  <Step title="Uygulama İçi Mesajlara git">
    OneSignal panelinde **Messages → In-App Messages** bölümüne gidin ve **New In-App Message** seçin.
  </Step>

  <Step title="Banner türünü seç">
    **Message Type** altında **Top** veya **Bottom** seçin.
  </Step>

  <Step title="İçeriğinizi tasarlayın">
    Ekranın amacını açıklayan kısa bir başlık, gerekirse isteğe bağlı destekleyici metin ve bir sonraki eylemi yönlendirmek için isteğe bağlı bir düğme ekleyin.
  </Step>

  <Step title="Tetikleyicileri yapılandırın">
    Banner'ın ne zaman görünmesi gerektiğini tanımlayan bir veya daha fazla **[Uygulama İçi Mesaj tetikleyicisi](./iam-triggers)** ekleyin. İsteğe bağlı olarak mesajın ne sıklıkta görüntüleneceğini kontrol etmek için koşullar veya sınırlar ekleyin.
  </Step>

  <Step title="Görüntüleme süresini ayarlayın">
    Otomatik kapatma (banner 3-10 saniye sonra kaybolur) veya kullanıcı tarafından kapatılabilir (banner kullanıcı kapatmaya dokunana kadar kalır) arasında seçim yapın.
  </Step>

  <Step title="Mesajı etkinleştirin">
    Banner Uygulama İçi Mesajınızı kaydedin ve etkinleştirin.
  </Step>
</Steps>

<Note>
  Yüksek görünürlüklü rehberlik için üst banner'ları, birincil eylemlerle uyumlu ince ipuçları için alt banner'ları kullanın. Onboarding için, kullanıcı eylemi gerektirmeden akışı devam ettirmek için otomatik kapatma kullanın.
</Note>

<Warning>
  Uzun açıklamalardan kaçının. Banner IAM'ler ayrıntılı onboarding veya öğreticiler için tasarlanmamıştır.
</Warning>

***

## Banner'ı uygulamanızdan tetikleme

Kullanıcı belirli bir ekrana ulaştığında veya Uygulama İçi Mesaj tetikleyicilerini kullanarak bir eylemi tamamladığında banner IAM'yi tetiklersiniz. Tetikleyiciler, uygulama kodunuzdan ayarladığınız anahtar-değer çiftleridir. Tetikleme koşulları IAM'nin görüntüleme kurallarıyla eşleştiğinde, banner görüntülenir.

<CodeGroup>
  ```javascript JavaScript theme={null}
  // Kullanıcı gösterge panelini görüntülediğinde tetikle
  OneSignal.addTrigger('dashboard_viewed', 'true');
  ```

  ```swift iOS theme={null}
  // Kullanıcı gösterge panelini görüntülediğinde tetikle
  OneSignal.addTrigger("dashboard_viewed", value: "true")
  ```

  ```kotlin Android theme={null}
  // Kullanıcı gösterge panelini görüntülediğinde tetikle
  OneSignal.addTrigger("dashboard_viewed", "true")
  ```
</CodeGroup>

<Info>
  Tetikleyiciler, kaldırmadığınız veya güncellemediğiniz sürece oturum boyunca devam eder. Her tetikleyicinin net, kasıtlı bir onboarding anını temsil ettiğinden emin olun.
</Info>

### Artık gerekli olmadığında tetikleyicileri kaldırın

Banner'ların istemeden yeniden görünmesini önlemek için, artık gerekli olmadığında tetikleyicileri kaldırın:

<CodeGroup>
  ```javascript JavaScript theme={null}
  // Kullanıcı onboarding'i tamamladıktan sonra tetikleyiciyi kaldır
  OneSignal.removeTrigger('dashboard_viewed');
  ```

  ```swift iOS theme={null}
  // Kullanıcı onboarding'i tamamladıktan sonra tetikleyiciyi kaldır
  OneSignal.removeTrigger("dashboard_viewed")
  ```

  ```kotlin Android theme={null}
  // Kullanıcı onboarding'i tamamladıktan sonra tetikleyiciyi kaldır
  OneSignal.removeTrigger("dashboard_viewed")
  ```
</CodeGroup>

***

## Banner mesajlarını zincirleme (isteğe bağlı)

Her biri kendi tetikleyicisine sahip **birden fazla IAM** oluşturarak kullanıcıları bir akış boyunca yönlendirebilirsiniz. Bir sonraki banner'ın görünebilmesi için her banner'ı **3 saniye sonra otomatik kapatılacak** şekilde ayarlayın. Çakışan banner'ları önlemek için bir sonraki tetikleyiciyi eklemeden önce öncekini kaldırın.

<Tip>
  Akıcı sıralı onboarding için, adım başına bir IAM oluşturun, her birini 3 saniye sonra otomatik kapatılacak şekilde ayarlayın ve bir sonrakini eklerken önceki tetikleyiciyi kaldırarak zincirleyin.
</Tip>

### Örnek: E-ticaret onboarding akışı

1. Sayfa yüklenir → Tetikleyici `iam_welcome` → Banner: "🎉 Hoş geldiniz! Ürünlerimizi keşfedin"
2. Kullanıcı ürüne dokunur → Tetikleyici `iam_product_view` → Banner: "👀 Favorileri kaydetmek için ❤️'ye dokunun"
3. Kullanıcı sepete ekler → Tetikleyici `iam_add_to_cart` → Banner: "✅ Harika seçim! Sepeti istediğiniz zaman görüntüleyin"
4. Kullanıcı sepeti görüntüler → Tetikleyici `iam_cart_view` → Banner: "🛒 Ürünlerinizi burada inceleyin"
5. Kullanıcı ödeme yapar → Tetikleyici `iam_checkout` → Banner: "🎊 Siparişiniz için teşekkürler!"

<CodeGroup>
  ```javascript JavaScript theme={null}
  // Adım 1'den adım 2'ye geçiş
  OneSignal.removeTrigger('iam_welcome');
  OneSignal.addTrigger('iam_product_view', 'true');
  ```

  ```swift iOS theme={null}
  // Adım 1'den adım 2'ye geçiş
  OneSignal.removeTrigger("iam_welcome")
  OneSignal.addTrigger("iam_product_view", value: "true")
  ```

  ```kotlin Android theme={null}
  // Adım 1'den adım 2'ye geçiş
  OneSignal.removeTrigger("iam_welcome")
  OneSignal.addTrigger("iam_product_view", "true")
  ```
</CodeGroup>

Bu, kullanıcıyı bunaltmadan kademeli onboarding oluşturur.

***

## Kurulumu doğrulama

<Check>
  Banner yalnızca tetikleyici ateşlendiğinde görünür ve uygulama arayüzünü engellemez.
</Check>

Banner görünmüyorsa:

* Tetikleyici anahtar ve değerinin tam olarak eşleştiğini onaylayın (büyük/küçük harfe duyarlı)
* IAM'nin panelde Aktif olduğunu doğrulayın
* Frekans Limitlerini kontrol edin - IAM hız sınırlı olabilir
* Kullanıcının Hedefleme Kurallarını karşıladığından emin olun (varsa)
* OneSignal tetikleyici olayları için konsol günlüklerini kontrol edin
* Uygulama İçi Mesajlaşma onayının verildiğini doğrulayın (gerekliyse)

***

## Sonraki adımlar

* Banner Uygulama İçi Mesajlarını kullanarak yeni özellikleri duyurun
* Kart veya karusel IAM'lerle tam bir onboarding deneyimi oluşturun
* Deneyim seviyesine göre farklı onboarding mesajları göstermek için kullanıcıları segmentlere ayırın
* Etkileşimi optimize etmek için farklı banner mesajlarını [A/B test](./journeys-actions#abn-tests-multivariate-testing) edin
