Değişkenler
Değişkenler, flow’larınızda dinamik içerik görüntülemenizi sağlar — ürün fiyatlandırması, teklif ayrıntıları ve her kullanıcının bağlamına göre güncellenen diğer veriler. Bunları element görünürlüğünü kontrol etmek ve ekran içeriğini kişiselleştirmek için kullanabilirsiniz.
Değişken panelini açmak için sol paneldeki { } simgesine tıklayın. Panelde üç sekme bulunur:
- Özel: Kendiniz oluşturup yönettiğiniz değişkenler.
- Ürün: Mağazadan yerelleştirilmiş ürün ve teklif verilerini çeken yerleşik değişkenler.
- Element: Canvas üzerindeki element durumlarına bağlı değişkenler.
Özel değişkenler
Özel değişken oluşturma
- Değişken panelinde + butonuna tıklayın.
- Değişken için bir ad girin.
- Tür seçin: String, Number veya Boolean.
- Başlangıç değeri belirleyin. Bu, flow başladığında değişkenin alacağı değerdir.
- Create variable butonuna tıklayın.
İlgili değişkenleri gruplamak için adlarda nokta kullanabilirsiniz — örneğin user.score veya user.goal.
Bir etkileşim aracılığıyla değişken güncelleme
Daha fazla ayrıntı için Actions makalesine bakın.
Herhangi bir öğeye Set variable eylemi ekleyerek değişken değerini çalışma zamanında güncelleyebilirsiniz.
- Tuvalde bir öğe seçin.
- Interactions sekmesinde Add trigger seçeneğine tıklayın.
- On tap öğesini seçin ve Add action seçeneğine tıklayın. Action type açılır menüsünden Set variable seçeneğini belirleyin.
- Add variable seçeneğine tıklayın. Değişkeni seçin ve yeni değeri girin.
Örneğin, bir kullanıcının hangi test sorusu cevabını seçtiğine göre user.goal değişkenine farklı bir değer atayabilir, ardından bu değişkeni kullanarak kullanıcıyı farklı bir ekrana yönlendirebilirsiniz.
Ürün değişkenleri
Ürün değişkenleri, yerelleştirilmiş verileri doğrudan uygulama mağazalarından çeker. Yerelleştirilmiş fiyatları, başlıkları ve teklif ayrıntılarını görüntülemek için metin alanlarında kullanın; ya da içeriği teklif uygunluğuna göre göstermek veya gizlemek için koşullarda kullanın. Belirli bir ürün için değişken eklediğinizde, builder o ürünü Products panelindeki ekranın listesine ekler.
| Değişken | Açıklama | Örnek |
|---|---|---|
prod_title | Ürünün yerelleştirilmiş başlığı | Premium Subscription |
prod_price | Bir faturalama dönemi için yerelleştirilmiş fiyat | $9.99 |
prod_price_per_day | Abonelik fiyatının güne çevrilmiş hali. Abonelik olmayan ürünler için boş. | $0.33 |
prod_price_per_week | Abonelik fiyatının haftaya çevrilmiş hali. Abonelik olmayan ürünler için boş. | $2.33 |
prod_price_per_month | Abonelik fiyatının aya çevrilmiş hali. Abonelik olmayan ürünler için boş. | $9.99 |
prod_price_per_year | Abonelik fiyatının yıla çevrilmiş hali. Abonelik olmayan ürünler için boş. | $119.88 |
offer_price | Başlangıç veya promosyon teklifinin yerelleştirilmiş fiyatı. Kullanıcı herhangi bir teklif için uygun değilse boş. | $0.99 |
offer_billing_period | Teklifin yerelleştirilmiş faturalama dönemi. Deneme ve peşin ödeme teklifleri için offer_full_duration ile aynı. Kullanıcı uygun değilse boş. | 1 week |
offer_full_duration | Teklifin yerelleştirilmiş toplam süresi. Kullanıcı uygun değilse boş. | 1 month |
is_free_trial | Kullanıcı ücretsiz deneme içeren bir teklif için uygunsa true döner. | true |
is_pay_up_front | Kullanıcı peşin ödeme teklifine uygunsa true döner. | true |
is_pay_as_you_go | Kullanıcı kullandıkça öde teklifine uygunsa true döner. | true |
prod_price_per_* değişkenleri, ürünün faturalama dönemindeki fiyatı istediğiniz döneme çevirir. Bu dönüşümde takvim tarihleri değil, sabit dönem uzunlukları kullanılır:
- 1 hafta = 7 gün
- 1 ay = 30 gün
- 1 yıl = 12 ay veya 365 gün
Aylık 59,99 $ tutarındaki bir abonelik için prod_price_per_week, 14,00 $ döndürür: 59,99 $ × 7 ÷ 30 = 13,9977 $, görüntüleme için yuvarlanır. Bir ay 30 / 7 ≈ 4,2857 haftaya eşit olduğundan, haftalık değeri 4 ile çarpmak orijinal fiyatı vermez.
Kullanıcının uygun olduğu teklife göre öğeleri göstermek veya gizlemek için is_free_trial, is_pay_up_front ve is_pay_as_you_go’yu koşullu görünürlükle kullanın. Örneğin, yalnızca is_free_trial true olduğunda ücretsiz deneme zaman çizelgesini gösterin.
Teklif değişkenlerinin değerleri, kullanıcının uygun olduğu teklif türüne göre değişir. Bunu açıklamak için, haftalık $5 fiyatlı “Premium Subscription” adlı bir aboneliği ve üç olası teklifi ele alalım:
- Pay As You Go: İlk 3 hafta $3 (haftalık faturalandırılır), sonra $5/hafta.
- Pay Up Front: İlk 3 hafta $8 (hemen faturalandırılır), sonra $5/hafta.
- Free Trial: İlk hafta ücretsiz, sonra $5/hafta.
Bu örnekte, prod_title “Premium Subscription” değerini, prod_price ise $5 değerini döndürür. Teklif değişkenlerinin değerleri, kullanıcının hangi teklife uygun olduğuna bağlıdır:
| Değişken | Pay As You Go | Pay Upfront | Free Trial |
|---|---|---|---|
offer_price | $3 | $8 | $0 |
offer_billing_period | 1 hafta | 3 hafta | 1 hafta |
offer_full_duration | 3 hafta | 3 hafta | 1 hafta |
Pay Upfront ve Free Trial teklifleri için offer_billing_period ve offer_full_duration aynı değeri döndürür. Pay As You Go’da ise faturalandırma dönemi bir hafta, tam süre ise üç hafta olduğundan bu ikisi farklılaşır.
offer_price, offer_billing_period ve offer_full_duration, teklifi olan bir ürün gerektirir. Teklif yoksa flow yayınlanamaz.
Bu değerlerin tamamı store’dan geldiği için, builder önizlemesi yalnızca bir kısmını çözümleyebilir: teklif değerleri canvas üzerinde çözümlenmez; is_free_trial, is_pay_up_front ve is_pay_as_you_go ise ürün kartında seçtiğiniz teklife göre belirlenir. Her teklif türünü oluştururken önizlemek için bkz. Ürünleri ve teklifleri önizleme.
Teklifler ve bunların nasıl yapılandırılacağı hakkında daha fazla bilgi için bkz. Teklifler.
Element değişkenleri
Element değişkenleri, kullanıcının yaptığı seçimleri yakalar — sınavlarda ne seçtiklerini, hangi sekmede olduklarını ve bir toggle’ın açık mı kapalı mı olduğunu.
Eleman değişken türleri gruba göre değişir:
- Tek seçim: Tek seçimli testler, sekmeler ve geçişler:
selectedOptionId: Koşullarda kullanılacak eleman kimliğiselectedOptionTitle: Dinamik metinde kullanılacak eleman başlığı
- Çoklu seçim: Çoklu seçimli testler:
selectedOptionIds: Koşullarda kullanılacak eleman kimlikleriselectedOptionTitles: Dinamik metinde kullanılacak eleman başlıkları
- Geçiş: Açık ve kapalı arasında geçiş yapan elemanlar:
isActive: Boolean değeri
- Ürün: Ürün kartları:
selectedProduct: Koşullarda kullanılacak seçili ürün
Yaygın kullanım senaryoları şunlardır:
- Deneme sürümü geçiş düğmesinin etkin olup olmadığına göre farklı içerik gösterme.
- Kullanıcıları quiz yanıtlarına göre farklı ekranlara yönlendirme
Metinde değişken kullanma
Bir metin öğesine değişken eklemek için:
- Tuval üzerinde bir metin öğesi seçin.
- Design sekmesinde Content alanını bulun ve metninizi yazın.
- Alandaki { } simgesine tıklayın.
- Bir değişken seçin. Product sekmesinde, Products panelinde zaten listelenmiş ürünler önce gelir. Katalogınızın geri kalanı Other products altında görünür.
Değişkenleri diğer öğelerde de kullanabilirsiniz:
- Linklerde ve uyarılarda dinamik hale getirmek için değişken kullanın
- Değişkenlere dayalı dinamik koşullar oluşturun. Örneğin, koşul şu şekilde olabilir:
if experience.current > experience.target, navigate to...
Stil değişkenleri
Bir değişkene tek başına zengin metin biçimlendirmesi uygulayamazsınız. Content alanında bir değişken seçip kalın, italik, altı çizili, üzeri çizili veya renk değişikliği uygulamanın herhangi bir etkisi olmaz.
Zengin metin ayarları yalnızca tüm metin bloğuna uygulanır. Metni biçimlendirmek için Design sekmesindeki Typography bölümünü kullanın ya da kayıtlı bir metin stili uygulayın.
Ekranlar arasında içerik yeniden kullanımı
Flow’unuzda bazı içerikler tekrar eder — “Continue” gibi bir düğme etiketi, tekrarlayan bir eylem çağrısı veya birden fazla ekranda gösterilen bir sorumluluk reddi metni. Aynı durum, birden fazla ekranda yeniden kullanılan özellik açıklamaları gibi daha uzun metinler için de geçerlidir. Bu içerikleri her elemana ayrı ayrı yazmak yerine, özel bir değişkende saklayın. Bu yöntem, farklı kullanıcıları farklı ekranlara yönlendirirken tutarlı bir ifade kullanmak istediğinizde işinizi kolaylaştırır.
- String türünde bir özel değişken oluşturun ve başlangıç değerini yeniden kullanmak istediğiniz metne ayarlayın. Örneğin, adını
button.navigationolarak belirleyip değeriniContinueyapabilirsiniz.
- Bu değişkeni, metnin görünmesini istediğiniz her öğenin Content alanına ekleyin.
Metni her yerde değiştirmek için değişkenin başlangıç değerini bir kez güncelleyin. Değişkeni kullanan her öğe otomatik olarak güncellenir, böylece her ekranı tek tek düzenlemek zorunda kalmazsınız.