Değişkenler
Değişkenler, flow’larınızda dinamik içerik görüntülemenizi sağlar — ürün fiyatlandırması, teklif detayları ve her kullanıcının bağlamına göre güncellenen diğer veriler. Öğe görünürlüğünü kontrol etmek ve ekran içeriğini kişiselleştirmek için kullanın.
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, ya da teklif uygunluğuna göre içerik gösterip gizlemek için koşullarda kullanabilirsiniz.
| 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 teklifinde ise fatura dönemi bir hafta, toplam süre üç hafta olduğundan bu iki değer birbirinden farklıdır. |
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 tercihlerini yakalar — sınavlarda ne seçtiğini, hangi sekmede olduğunu ve deneme süresini açıp kapatmadığını.
Öğe değişken türleri gruba göre değişir:
- Tek seçim: Tek seçimli quizler, sekmeler ve deneme süresi toggle’ları:
selectedOptionId: Koşullarda kullanılacak öğe kimliğiselectedOptionTitle: Dinamik metinde kullanılacak öğe başlığı
- Çoklu seçim: Çok seçimli quizler:
selectedOptionIds: Koşullarda kullanılacak öğe kimlikleriselectedOptionTitles: Dinamik metinde kullanılacak öğe başlıkları
- Toggle: Açık ve kapalı arasında geçiş yapan öğeler:
isActive: Boolean değer
- Ü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:
- Canvas üzerinde bir metin öğesi seçin.
- Design sekmesinde Content alanını bulun ve metninizi yazın.
- Alandaki { } simgesine tıklayın.
- Listeden bir değişken seçin.
Değişkenleri diğer öğelerde de kullanabilirsiniz:
- Bağlantıları ve uyarıları 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.