---
title: "Özel etiketler"
description: "Uygulamanızdan bir flow'a değer aktarın ve bunu bir metin öğesinde gösterin."
---

> **AI agents**: to search Adapty docs faster and with fewer tokens, install the Adapty skill. Claude Code (self-updating via plugin): `claude plugin marketplace add adaptyteam/adapty-skills && claude plugin install adapty-skills@adapty` — other tools: `npx skills add adaptyteam/adapty-skills --all`

Özel etiket, değeri uygulamanızdan gelen bir [özel değişkendir](onboarding-variables#custom-variables). Bir değişkenin ayarlarında **Value comes from outside the app** seçeneğini seçtikten sonra, uygulamanız Adapty SDK aracılığıyla bu değeri ayarlayabilir. Örneğin, bir metin öğesi "Coins:" ve bir özel etiket içeriyorsa; uygulamanız etiket için "120" değerini iletirse kullanıcılar "Coins: 120" görür.

Özel etiketleri şunları göstermek için kullanın:

- **Kullanıcının kim olduğu**: Selamlama mesajındaki kullanıcı adı, örneğin "Tekrar hoş geldin, DragonSlayer42!"
- **Kullanıcının sahip olduğu**: Gün serisi sayısı veya oyuncunun seviyesi.
- **Uygulamanızın hesapladığı**: Büyük bir paket için indirim ya da kullanıcının daha önceki bir flow'daki yanıtlarına göre hesaplanan [VKİ](ios-flow-custom-tags#example-show-a-bmi-from-onboarding-answers).

## Değerler ve yedek değerler \{#values-and-fallbacks\}

Uygulamanız her değeri özel etiketinin adıyla tanımlar. Değer her zaman bir string'dir. Adapty string'i biçimlendirmez veya çevirmez; bu nedenle uygulamanız her değeri flow'da görünmeden önce kullanıcıya uygun biçimde sunmalıdır. Örneğin "1250.0" yerine "1.250" geçirin.

Kullanıcılar, aşağıdaki durumlarda özel etiketin **Başlangıç değerini** yedek olarak görür:

- Uygulamanız etikete herhangi bir değer geçmez.
- Kullanıcı, değeri geçen sürüme uygulamayı güncellememiştir.
- Uygulama kodunuzdaki ad, büyük/küçük harf dahil etiketin tam adıyla eşleşmez.
- Aynı metin öğesindeki başka bir özel etiketin değeri yoktur. Bu durumda o metin öğesindeki tüm özel etiketler Başlangıç değerini gösterir.

Etiketin yerine hiçbir şey göstermek için boş bir dize geçin. Adapty boş dizeyi bir değer olarak kabul eder; dolayısıyla yedek değer görünmez.

## 1. Özel etiket oluşturma \{#create-a-custom-tag\}

1. Flow builder'da Variables Variables panelini açın.
2. Yeni bir değişken ekleyin — Plus simgesine tıklayın.
3. Değişkenin **Name** alanını yapılandırın. Uygulamanızın kodu bu ismi harf büyüklüğü dahil birebir kullanmalıdır.
   - **Karakterler**: Latin harfleri (A–Z ve a–z), rakamlar, `_` ve `-` kullanın. Etiketi bir gruba dahil etmek için adını grup adıyla başlatın ve aralarına nokta koyun; örneğin `user.streak`.
   - **Rezerve edilmiş isimler**: Harf büyüklüğünden bağımsız olarak `PRICE`, `TITLE`, `VALUE` gibi rezerve edilmiş isimler ya da `TIMER_` ile başlayan isimler kullanmayın.
   - **Benzersizlik**: Flow içinde benzersiz bir isim kullanın.
4. (İsteğe bağlı) Farklı değişkenleri birbirinden ayırt etmek için **Description** alanını doldurun. Değişkenin adının üzerine geldiğinizde açıklama görünür.
5. **Initial value** alanına, uygulamanız hiçbir değer iletmediğinde kullanıcıların göreceği yedek değeri girin:
   - **Her kullanıcıya uyan bir kelime**: Karşılama mesajındaki `username` etiketi için `friend` girin. Oturum açmamış kullanıcılar "Welcome back, friend!" ifadesini görür. Başlangıç değerinin yerelleştirilemeyeceğini unutmayın.
   - **Bakiye veya sayım için tire**: Oturum açmamış kullanıcılara yanlış bakiye göstermemek için tire (`—`) girin.

6. (Yalnızca **String** değişkenler için) **Value comes from outside the app** onay kutusunu seçin. Bu işlem geri alınamaz ve **Value Type** değerini sabitler.
7. **Create variable** düğmesine tıklayın.

Değişkenler flow'a özgüdür. Özel bir etiketi başka bir flow'da kullanmak için aynı adla orada da bir tane oluşturun.

### Değişkeni özel bir etiketle değiştirme \{#replace-a-variable-with-a-custom-tag\}

**Value comes from outside the app** onay kutusunu yalnızca bir değişken oluştururken seçebilirsiniz. [Dönüştürülmüş bir paywall'dan](convert-paywall-to-flow) gelen gibi, sıradan bir özel değişken yerine uygulamanızın değerini göstermek için değişkeni özel bir etiketle değiştirin:

1. Değişkeni ve flow içindeki tüm referanslarını silin.
2. Aynı adla bir [özel etiket oluşturun](#create-a-custom-tag).
3. [Özel etiketi](#add-a-custom-tag-to-a-text-element) değişkeni kullanan her metin öğesine ekleyin.

## 2. Metin öğesine özel bir etiket ekleme \{#add-a-custom-tag-to-a-text-element\}

Metin öğesini seçin. **Content** bölümünde Variables **Add variable** seçeneğine tıklayın ve **Custom** sekmesinden etiketi seçin.

Özel etiketleri [koşullu metnin](onboarding-text#add-conditional-text) her dalına ekleyebilirsiniz, ancak bunları **if** koşullarında seçemezsiniz.

## 3. Değerleri uygulamanızdan geçirin \{#pass-the-values-from-your-app\}

Uygulamanızın kodu, her özel etiketin grup adı dahil tam adını kullanmalıdır. Örneğin, `user` grubu bir `streak` etiketi içeriyorsa, etiketin tam adı `user.streak` olur.

Kurulum kodu platformunuza göre değişir:

- [iOS](ios-flow-custom-tags)
- [Android](android-flow-custom-tags)
- [React Native](react-native-flow-custom-tags)
- [Flutter](flutter-flow-custom-tags)
- [Unity](unity-flow-custom-tags)
- [Kotlin Multiplatform](kmp-flow-custom-tags)
- [Capacitor](capacitor-flow-custom-tags)

Özel etiketlerinizi test etmek için, değerlerini ayarlayan kodu ekledikten sonra uygulamanızda flow'u açın. Builder canvas ve [cihazlarda önizleme](paywall-device-compatibility-preview#preview-on-devices) yalnızca Başlangıç değerlerini gösterir: Adapty mobil uygulaması özel etiket değerlerini ayarlamaz.

## Sınırlamalar \{#limitations\}

- **Yalnızca metin öğeleri**: Özel etiketleri yalnızca metin öğelerine ekleyebilirsiniz. Aşağıdakilere ekleyemezsiniz:
  - **Set variable** aksiyonları
  - **Show alert** aksiyonları
  - **Open URL** aksiyonları
  - Giriş alanı yer tutucuları
- **Özel etiketlerde koşul kullanılamaz**: Bir koşulda veya koşullu görünürlükte özel etiket seçemezsiniz. Uygulamanızdaki bir değere göre kullanıcıların hangi cümleyi, öğeleri ve ekranları göreceğine karar vermek için:
  - **Cümle**: Cümleyi uygulama kodunuzda oluşturun ve etiketin değeri olarak geçirin. Örneğin, bir `coins_message` etiketi için madeni parası olan oyunculara "You have 120 coins", diğerlerine "Get your first coins" geçirin.
  - **Öğeler ve ekranlar**: [Değeri özel bir özellik olarak ayarlayın](setting-user-attributes). Ardından bu özellikten oluşturulan bir [kitle](audience) için ayrı bir flow gösterin.
- **Açık bir flow'daki değerleri güncellemek için SDK metodu yoktur**: Kullanıcıların bir flow'a girdiği bilgilere dayalı sonuç göstermek için, sonucu [BMI örneğinde](ios-flow-custom-tags#example-show-a-bmi-from-onboarding-answers) olduğu gibi bir sonraki flow'a aktarın.

The fragment contains only an MDX comment block with no translatable prose (it is an incomplete/dangling comment opener with no closing `*/}`). However, I must return it byte-for-byte unchanged: