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. Bunları eleman görünürlüğünü kontrol etmek ve ekran içeriğini kişiselleştirmek için kullanabilirsiniz.
Değişken yönetim görünümünü açmak için sol paneldeki simgesine tıklayın. Görünüm üç sekme içerir:
- Özel: Flow içi değişkenler ve özel etiketler — uygulamanızdan ayarlayabileceğ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
- Flow builder’da Variables panelini açın.
- Yeni bir değişken ekleyin — simgesine tıklayın.
- Değişkenin Name alanını yapılandırın.
- (İsteğe bağlı) Farklı değişkenleri birbirinden ayırt etmek için Description alanını doldurun. Builder’da değişkenin adının üzerine geldiğinizde açıklamayı göreceksiniz.
- Value Type seçin: String, Number veya Boolean. Bir değişkeni yalnızca türü String veya Number ise metin öğesine ekleyebilirsiniz.
- Initial value alanına, flow başladığında değişkenin tutacağı değeri girin.
- (İsteğe bağlı, yalnızca String değişkenler için) Değişkenin değerini uygulama kodunuzdan ayarlamak için Value comes from outside the app onay kutusunu seçin. Bu işlem geri alınamaz ve Value Type’ı kilitler. Değişken bir özel etiket haline gelir — uygulamanızın flow’u yüklediğinizde değerini ayarlaması gerekir. Herhangi bir değer iletilmezse kullanıcılar yedek olarak başlangıç değerini görür.
- Create variable düğmesine tıklayın.
Değişkenler flow’a özgüdür. Bir değişkeni başka bir flow’da kullanmak için orada da oluşturmanız gerekir.
İlgili değişkenleri gruplamak için isimlerinde nokta kullanın — ö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 listelenen ürünler önce gösterilir. Kataloğunuzun geri kalanı ise Other products altında yer alı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.
Özel değişken değerleri yerelleştirilemez: değişken her yerel ayarda aynı değeri gösterir. Yeniden kullanılan metni çevirmek için Localizations panelinde, değişkeni içeren her satırda değişkeni ilgili çeviriyle değiştirin.