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

# Uygulama içi mesaj olay akışları

> Uygulama içi mesaj metriklerini yakalamak için olay akışlarını nasıl kullanılır

Bu belge, [Uygulama İçi Mesajlar](./in-app-messages-setup) olaylarımızın yeteneklerini ve kullanımını açıklar. Bir kullanıcı bu mesajları her tıkladığında veya görüntülediğinde, blok düzeyinde tıklamalar ve sayfaya özgü görüntülemeler dahil olmak üzere temel katılım istatistiklerini takip edebilirsiniz.

## Uygulama içi mesaj olayları

[`event.kind`](./event-streams-data#event-kind) için üç tür Uygulama İçi Mesaj Olayı vardır:

* Uygulama içi Gösterim - `message.iam.impression`
* Uygulama içi Tıklandı - `message.iam.clicked`
* Uygulama içi Sayfa Görüntülendi - `message.iam.page_displayed`

Bu olaylar, bir kullanıcı cihazda bir uygulama içi mesaj açtığında ve onunla etkileşime girdiğinde tetiklenir.

### Uygulama içi gösterim

Bu olay, mesaj yüklenmeyi tamamlar tamamlamaz ve ekranda görüntülendiğinde tetiklenir.

[Döngüler](./design-your-in-app-message#carousels) kullanırken, `event.data.page_name` ve `event.data.page_id` kullanarak gösterilen belirli sayfanın adını ve UUID'sini alabilirsiniz.

### Uygulama içi tıklandı

Bu olay, tıklama eylemi olan ("hedef" olarak da adlandırılır) herhangi bir öğe veya blok için geçerlidir. `event.data.target_name` ve `event.data.target_id` kullanarak tıklanan belirli hedefin adını ve UUID'sini, ayrıca `event.data.page_name` ve `event.data.page_id` kullanarak hedefin ait olduğu sayfayı alabilirsiniz.

Ayrıntılar için [Uygulama içi tıklama eylemleri](./iam-click-actions)'ne bakın.

### Uygulama içi sayfa görüntülendi

Bu, yalnızca [döngüler](./design-your-in-app-message#carousels) için geçerli olan bir olaydır. `event.data.page_name` ve `event.data.page_id` kullanarak gösterilen belirli sayfa veya kartın adını ve UUID'sini alabilirsiniz. İlk kart için gösterim, belge yüklenmeyi tamamlar tamamlamaz tetiklenir. Sonraki sayfa gösterimleri kaydırma üzerine tetiklenir.

## Uygulama içi mesaj olay verileri

Her `event.kind`, uygulama içi mesajı nasıl oluşturduğunuza bağlı olarak ek olay verilerine sahip olabilir.

<ParamField path="event.data.page_name" type="string">
  `event.kind` `clicked` veya `page_displayed` olduğunda görüntülenen sayfa veya kartın adı. `impression` olayları için kullanılamaz.

  `page_name`, hangi sayfanın görüntülendiğini ve o sayfada neyin tıklandığını bilmek için yararlıdır.

  Sayfa adları varsayılan olarak "Card 1", "Card 2" vb.'dir ancak isimleri Blok Editörü içinde değiştirebilirsiniz.

  <Frame>
    <img src="https://mintcdn.com/onesignal/Z6xkXGfmy814If53/images/docs/e0862074b7ea2c064808035d2028410dae6aecc4bdf9ae4c4c83eeee1ac8d643-Screenshot_2025-01-17_at_1.30.34_PM.png?fit=max&auto=format&n=Z6xkXGfmy814If53&q=85&s=44d2b05d410b28b9e6fec94fd979ec5b" width="1040" height="826" data-path="images/docs/e0862074b7ea2c064808035d2028410dae6aecc4bdf9ae4c4c83eeee1ac8d643-Screenshot_2025-01-17_at_1.30.34_PM.png" />
  </Frame>
</ParamField>

<ParamField path="event.data.page_id" type="string UUID v4">
  Sayfa için benzersiz bir tanımlayıcı. [Döngü](./design-your-in-app-message#carousels) kullanma ve eski bir kartın silinmesi veya yeni bir kartla değiştirilmesi durumları için yararlıdır.
</ParamField>

<ParamField path="event.data.target_name" type="string">
  Düğme veya resim bloğu öğesinin adı. Bir [tıklama eylemleri](./iam-click-actions) ayarlamalısınız.
</ParamField>

<ParamField path="event.data.target_id" type="string UUID v4">
  Düğme veya resim bloğu öğesi için benzersiz bir tanımlayıcı. Bir [tıklama eylemleri](./iam-click-actions) ayarlamalısınız. Bu, [döngü](./design-your-in-app-message#carousels) kullanırken ve eski bir kart silindiğinde veya yeni bir kartla değiştirildiğinde yararlıdır.
</ParamField>

## Uygulama içi mesaj Olay Akışınızı oluşturun

### Olay akışlarını ayarlayın

Olay akışınızı ayarlama ve kişiselleştirme konusunda rehberlik için [Olay Akışı Kurulumu](./event-streams#setup) talimatlarını inceleyin. Aşağıdakiler, olay akışınızı yapılandırmak için IAM'e özgü adımları sağlar (adım 3).

## Takip etmek istediğiniz hedefin doğru şekilde ayarlandığından emin olun

Bir olay akışları isteğinin gövdesinde özel adlardan yararlanmak için Blok veya HTML editöründe manuel olarak yeni bir özel ad belirtmeniz gerekir. Özel adların yayınlanmasından önce var olan Uygulama İçi Mesajlar, Uygulama İçi her sayfa veya blok için özel adlarla güncellenmediği sürece olay akışında `page_name` ve `target_name` değerlerini gösteremeyecektir.

Uygulama İçi güncellendikten sonra, o andan itibaren tetiklenen olay akışı istekleri bu değerlere erişebilir. Herhangi bir zamanda, `page_name` ve `target_name` değerleri o andaki Uygulama İçi'nin özel adlar durumunu yansıtacaktır ve Uygulama İçi tekrar güncellenirse bu değişebilir.

<Tabs>
  <Tab title="Blok editörü">
    Her üç olay da bu editörle kullanılabilir. Blok editörünü kullanırken, hedefin bir [Uygulama içi tıklama eylemi](./iam-click-actions) içerdiğinden emin olun. Bir hedef, resimleri, düğmeleri, kapatma düğmesini ve arka plan bloğunu içerir. Metin blokları şu anda tıklama eylemlerini desteklememektedir ve dahil edilmemiştir.

    Kontrol paneli deneyiminde karışıklığı önlemek için hedef özel adları benzersiz olmalıdır.
  </Tab>

  <Tab title="HTML editörü">
    Bu editörle yalnızca Uygulama içi Gösterim ve Tıklandı olayları kullanılabilir. HTML editörünü kullanırken, yalnızca düğmeler ve resimler değil, herhangi bir öğe türünde tıklamaları takip edebilirsiniz. 2 gereksinim vardır:

    1. Öğenin bir hedefi takip etmek için `data-onesignal-unique-label="<insert_value>"` özelliğine sahip olması gerekir
    2. Öğenin gömülü [Uygulama içi JS kütüphanesinden](./in-app-message-api) yani `OneSignalIamAPI`'den bir yöntemi çağıran bir olay dinleyicisinin uygulanmış olması gerekir.

    Not: Karışıklığı önlemek için hedef adlarının benzersiz olduğundan emin olun. Özel dahili raporlama gibi kritik benzersizlik için, OneSignal tarafından benzersiz olduğu garanti edilen `target_id`'yi kullanın. Birden fazla öğede aynı etikete sahip `data-onesignal-unique-label` özelliklerinin kullanılmasının analitiğini birleştireceğini unutmayın. Bu etiketlerin değiştirilmesi önceki verileri orijinal etiket altında tutar ve yeni veriler yeni etikete atanır. Hassas takip için `target_id`'yi önceliklendirin.

    Örneğin:

    <CodeGroup>
      ```html html theme={null}
      // For elements that do something like tag a user or prompt a push do something like this:

      <body>
        <button data-onesignal-unique-label="my-tag-user-button">Tag User</button>
      </body>
      <script>
        document
          .querySelector("button[data-onesignal-unique-label="my-tag-user-button")
          .addEventListener("click", function(e) {
            OneSignalIamApi.tagUser(e, { fiz: "baz" });
           });
      </script>

      // or for elements that don't require any specific functionality of the OneSignalIamApi other than click tracking, just call trackClick

      <body>
        <button data-onesignal-unique-label="my-button">Click Here</button>
      </body>
      <script>
        document
          .querySelector("button[data-onesignal-unique-label="my-button")
          .addEventListener("click", function(e) {
            OneSignalIamApi.trackClick(e);
           });
      </script>
      ```
    </CodeGroup>

    **Örnek Giriş:**

    <CodeGroup>
      ```json json theme={null}
      {
        "page_name":"{{ event.data.page_name }}",
        "page_id":"{{ event.data.page_id }}",
        "target_id":"{{ event.data.target_id }}",
        "target_name":"{{ event.data.target_name }}",
        "iam_id":"{{ message.id }}",
        "iam_name":"{{ message.name }}",
        "event_kind": "{{ event.kind }}"
      }
      ```
    </CodeGroup>

    **Örnek Çıktı:**

    <CodeGroup>
      ```json json theme={null}
      {
        "page_name" : "html_page",
        "page_id": "d8b28eda-add3-59f8-a12d-07c70642363b" ,
        "target_id": "6bab1bd9-4de6-557b-b5ed-ecb85baed f89",
        "target_name": "my-location-prompt-button",
        "iam_id": "bb6329b6-f81a-44aa-a571-30ef6746de0c",
        "iam_name": "html iam naming",
        "event_kind": "message. iam.clicked"
      }
      ```
    </CodeGroup>
  </Tab>
</Tabs>

### Benzersiz ID'leri kullanın

En İyi Uygulama: Analiz amaçları için Olay Akışlarını kullanırken, benzersizliği doğrulamak için `message.id`, `page_id` ve `target_id` kullanın. Özel adlar kullanılabilir ancak bir IAM'deki öğeleri insan tarafından okunabilir bir formatta ayırt etmeye yardımcı olmak içindir. Birden fazla uygulama içi mesajınız varsa, bunları ayırt etmek için `message.id` kullanın.

### Blok editöründe açık adlar kullanın

Veri analizini basitleştirmek için tüm uygulama içi mesaj başlıkları, kartlar ve bloklar için anlamlı ve benzersiz adlar kullanın. Bir döngüdeki kartı yeniden adlandırmak için, güncellemek istediğiniz sekmeyi seçin ve kart sekmelerinin yanındaki "Seçenekler" açılır menüsünü seçin. Kartı yeniden adlandırmak için bir seçenek göreceksiniz.

Bir bloğu yeniden adlandırmak için, yeniden adlandırma modunu açmak için her bloğun sağ üst köşesindeki üç nokta seçenekleri menüsünü seçin. Tüm özel adlar, uygunsa kontrol paneli raporunda ve olay akışında yansıtılacaktır. Özel adlar ayarlanıp kaydedilmedikçe olay akışlarında görünmeyecektir. Etkin IAM'leriniz varsa ve yakın zamanda yeni bir IAM olay akışı ayarladıysanız, daha temiz analiz için bu IAM'lerin anlamlı özel adlara sahip olduğundan emin olmak isteyeceksiniz.

***
