Eylemler
Interactions (Etkileşimler) paneli, flow öğelerinin olaylara — dokunma, öğe görünümü ve form gönderme gibi — nasıl tepki vereceğini tanımlamanıza olanak tanır. Her olay için bir veya daha fazla eylem atayabilirsiniz: ekranlar arasında gezinme, öğeleri gösterme veya gizleme, URL açma, değişken ayarlama ve daha fazlası. Kullanıcı verilerine göre flow’u özelleştirmek için koşullar kullanın.
Her etkileşim üç bölümlü bir zinciri takip eder:
- Element: Etkileşimi başlatan ekran bileşeni — bir düğme, sınav yanıtı, giriş alanı veya başka herhangi bir şey.
- Trigger: Mantığı etkinleştiren olay; örneğin bir dokunma, bir öğenin görünmesi veya form gönderimi.
- Action: Flow’un yanıt olarak gerçekleştirdiği görev. Tek bir tetikleyici, sırayla birden fazla action çalıştırabilir.
Etkileşimleri ayarlama
Bir etkileşim ayarlamak için:
- Ekranda veya Layers panelinde bir öğe seçin.
- Sağda Interactions paneline geçin ve Add trigger düğmesine tıklayın.
- Button triggers bölümünde tetikleyici türünü seçin.
- Add action düğmesine tıklayın, aksiyon adına tıklayın ve Edit action penceresindeki açılır menüden bir aksiyon türü seçin.
- Seçtiğiniz aksiyon türüne göre aksiyon özelliklerini yapılandırın.
- Gerekirse aynı tetikleyici için daha fazla aksiyon eklemek üzere Add action düğmesine tıklayın.
Tetikleyici türleri
Tetikleyiciler, kullanıcı davranışına, öğe durum değişikliklerine veya ekranın yüklenmesine yanıt olarak çalışır. On screen appear evrenseldir; diğerleri ise öğeye özgüdür.
| Tetikleyici | Ne zaman çalışır… | Desteklenen öğeler |
|---|---|---|
| On screen appear | Ekran yüklendiğinde | Tüm öğeler |
| On tap | Kullanıcı öğeye dokunduğunda | Düğmeler, quiz seçenekleri, geçiş düğmeleri, geri sayımlar, videolar |
| On changed | Kullanıcı girişin değerini değiştirdiğinde (yazma, tarih veya saat seçme) | Tüm giriş öğeleri |
| On submit | Kullanıcı klavyede Enter veya Done tuşuna basarak metin girişini gönderdiğinde | Metin tabanlı girişler |
| On timer end | Bir Geri Sayım öğesi sıfıra ulaştığında | Geri Sayım |
| On playback finished | Bir Video sonuna ulaştığında | Video |
| Yerleşik etkileşimleri olmayan öğeler (örneğin Loader) için yalnızca On screen appear tetikleyicisi kullanılabilir. |
Eylem türleri
Kullanıcıyı farklı bir ekrana götüren her türlü gezinme eylemi, listede her zaman son eylem olmalıdır. Ekran değiştiğinden, bundan sonra eklenen eylemler (“Set Variable” gibi) çalışmayabilir.
Ekrana git
Bu, kullanıcıları ekranlar arasında taşımak için kullanılan temel eylemdir. Kullanıcıyı belirtilen hedef ekrana yönlendirir.
Bu eylem için yalnızca hedef ekranı ayarlamanız gerekir. Dinamik navigasyonu etkinleştirmek istiyorsanız Navigasyon ve dallanma veya Koşullu eylemler bölümüne bakın.
Sonraki ekrana geç
Kullanıcıyı flow’daki ekran sırasında bir sonraki ekrana ilerletir. Bu özelliği, düzenleyicideki ekran sırasının kullanıcılara göstermek istediğiniz sırayla eşleştiği doğrusal flow’lar için kullanın.
Geri Git
Kullanıcıyı, dizideki önceki ekran yerine, gezinme geçmişindeki önceki ekrana döndürür.
URL Aç
Akan metne bağlantı eklemek için satır içi bağlantıları kullanın.
Belirli bir web adresini açar. Kullanıcıları uygulamanızın yerel ekranları dışındaki web sayfalarına, makalelere veya sosyal medya profillerine yönlendirmek için kullanın. Bu eylem için iki ayar yapılandırabilirsiniz:
- URL adresi: Bir URL adresi belirleyin. Bunu dinamik hale de getirebilirsiniz — örneğin, kullanıcıları quiz yanıtlarına veya gönderdikleri verilere göre farklı sayfalara yönlendirmek için. Bunun için
simgesine tıklayın ve kullanmak istediğiniz değişkeni seçin. - Harici tarayıcıda aç: Harici bağlantıların nerede açılacağını belirleyin. Varsayılan olarak, kullanıcıları uygulama içinde tutmak amacıyla uygulama içi tarayıcıda açılırlar. Bağlantıların harici bir tarayıcıda açılmasını istiyorsanız Open in external browser onay kutusunu seçin.
Flow’u kapat
Mevcut flow’u kapatır.
Öğeleri göster/gizle
Ekrandaki belirli bir öğeyi gösterir veya gizler.
Bu eylem, Design panelindeki Visibility ayarında belirlenen başlangıç durumunu geçersiz kılar. Visibility Hide olarak ayarlanmışsa, Show eylemi öğeyi görünür hale getirir.
Hedef öğe seçilmemiş bir Show veya Hide eylemi önizleme ve yayınlamayı engeller. Bir hedef seçin ya da eylemi kaldırın.
Uyarı göster
Yerel bir sistem açılır penceresi görüntüler. Kullanıcıların devam etmek için Ok düğmesine dokunması gerekir.
Uyarılar için Title ve Message alanlarını ayarlamanız gerekir. Her iki alanda da içeriği dinamik hale getirmek için değişkenler kullanabilirsiniz. Bunun için
simgesine tıklayın ve kullanmak istediğiniz değişkeni seçin.
Boş veya eksik yapılandırılmış bir Show alert eylemi önizleme ve yayınlamayı engeller. Her iki alanı da doldurun ya da eylemi kaldırın.
Değişken ayarla
Flow’daki bir değişkenin değerini günceller. Bu aksiyonu eklemeden önce soldaki Variables panelinde değişkenler oluşturun (bkz. Değişkenler).
Add variable seçeneğine tıklayın ve ihtiyacınız kadar değişken ve değer ekleyin.
Atama yapılmamış bir Set variable aksiyonu önizleme ve yayımlamayı engeller. En az bir atama yapın ya da aksiyonu kaldırın.
Satın Alma
Onboarding’inizdeki bir düğme veya etkileşimden doğrudan satın alma akışını başlatır. Kullanıcıların flow’dan çıkmadan bir ürüne abone olmasına veya ürün satın almasına olanak tanır. Bu eylem için iki farklı davranış yapılandırabilirsiniz:
- Uygulama içi mağaza: Yerel bir satın alma başlatır. Product alanını belirli bir ürüne veya kullanıcının ekranda seçtiği ürün için
products.selectedProductdeğerine ayarlayın. - Web ödeme: Yerel bir satın alma tetiklemek yerine kullanıcıyı bir web paywall’a yönlendirir. Bunu, işlemi uygulama dışında, örneğin web tabanlı abonelik teklifleri için yönetmek istediğinizde kullanın.
Ürün veya Web Paywall URL hedefi olmayan bir Purchase eylemi önizlemeyi ve yayımlamayı engeller. Bir hedef atayın ya da eylemi kaldırın.
Satın almaları geri yükle
Cihazda satın almaları geri yükleme akışını başlatır. Kullanıcılar, daha önce başka bir cihazda abonelik satın aldıklarında veya uygulamayı yeniden yükledikten sonra haklarına yeniden erişmek istediklerinde buna dokunur.
Bu eylem için yapılandırılacak herhangi bir şey yoktur — Adapty, geri yükleme işlemini yerel mağaza akışı aracılığıyla gerçekleştirir.
Restore purchases eylemi, Links düğme ön ayarındaki Restore bağlantısında da önceden yapılandırılmıştır (bkz. Satın almaları ayarlama).
Özel eylemler
Özel bir eylem, uygulamanızın kendi kodunun işlediği adlandırılmış bir Action ID tetikler. Yerleşik eylem türleri ihtiyacınızı karşılamadığında kullanın.
Adapty tetikleyiciyi sağlar; davranışı uygulamanız uygular:
- Builder’da, bir öğenin etkileşimine bir Action ID atarsınız.
- Kullanıcı etkileşimi tetiklediğinde, flow ID’yi uygulamanıza iletir.
- Uygulamanız ID’yi eşleştirir ve kodunuzu çalıştırır.
Özel bir eylem ayarlama
- Edit action penceresinde, uygulamanızın tanıyacağı bir dize olan Action ID’yi atayın (örneğin,
show_discount). - Uygulama kodunuzda bu Action ID için bir işleyici uygulayın. Uygulama ayrıntıları ve kod örnekleri için Paywall eylemlerini işleme bölümüne bakın.
Action ID olmayan bir Custom eylem, önizleme ve yayımlamayı engeller. Bir Action ID atayın veya eylemi kaldırın.
Özel eylemlerle neler yapabilirsiniz
Özel bir eylemin kendi başına hiçbir işlevi yoktur. Builder’da statik bir Eylem Kimliği (Action ID) tanımlarsınız; bu kimliği aldığında ne olacağını ise uygulama kodunuz belirler. Aşağıdaki her kullanım senaryosu aynı kalıbı izler: flow’da bir kimlik atayın, ardından kodunuzda bu kimliği işleyin.
- Uygulama içi bir etkinlik tetikleyin:
viewed_special_offergibi bir ID tetikleyin, ardından uygulamanız bunu aldığında olayı analytics’e kaydedin. - Sistem izni isteyin:
request_locationgibi bir ID tetikleyin, ardından uygulamanızdan OS izin penceresini açın. İznin açılamadığı durumlarda bunun yerine telefonun sistem ayarlarını açın. Adapty pencereyi göstermez — bunu uygulamanız yapar. - Native kimlik doğrulamayı başlatın:
login_googlegibi bir ID tetikleyin, ardından kendi giriş ekranınızı gösterin. Flow kullanıcıyı oturum açtıramaz. - İş mantığı uygulayın:
apply_discountgibi bir ID tetikleyin, ardından içeriğin kilidini açın ya da uygulama durumunu kendi tarafınızda değiştirin. - Bir quiz cevabını uygulamanıza iletin: Her seçeneğe farklı bir Action ID atayın (örneğin
goal_weight_lossvegoal_muscle), ardından kodunuzda bu ID’yi okuyun. Daha sonra segmentlere ayırabileceğiniz bir özel kullanıcı özelliği ayarlamak için bu ID’yi kullanın. Aksiyon yalnızca sabit bir ID taşıdığından, seçimi bildirmenin tek yolu budur — flow seçilen değeri gönderemez.
Özel bir action, kullanıcı bir seçenek belirlediği anda tetiklenir. Kullanıcı cevabını değiştirirse flow, yeni Action ID’yi de tetikler. Uygulamanız her ikisini sırayla alır — örneğin önce goal_weight_loss, ardından goal_muscle. Handler’ınızı idempotent yapın ki en son sinyal geçerli olsun.
Özel eylemlerin yapamadıkları
Özel eylemler statiktir. Action ID, flow’u oluştururken sabitlenir; değişkenleri veya kullanıcı girişlerini okuyamaz. Eylem tetiklendiğinde uygulamanız yalnızca o ID’yi alır; kullanıcının girdiği e-posta, telefon numarası veya başka bir bilgiyi almaz. Giriş alanları, dallanma ve kişiselleştirme için flow içinde değişken olarak kalır. Bu değerleri uygulamanızda kullanmak istiyorsanız kendi arayüzünüz veya API’niz aracılığıyla toplamanız gerekir. Özel eylemler de tek yönlüdür. Uygulamanız flow’a bir sonuç döndüremez ve flow, kodunuzun bitmesini beklemez. Özel eylemin ardından bir Navigate next eylemi geliyorsa, kodunuz başarısız olsa bile kullanıcı bir sonraki ekrana geçer — örneğin kullanıcı giriş ekranını oturum açmadan kapattığında. Statik Action ID ile birleşince bu durum, uygulamanızda kullanıcı girişini doğrulamayı olanaksız kılar — örneğin kullanıcının girdiği bir SMS kodunu kontrol edip sonuca göre dallanmak gibi. Flow’un geri kalanı kodunuzun ne yaptığına bağlıysa flow’u iki placement arasında bölün.
Sonuca göre flow’u devam ettirme
Bazı ekranların yalnızca özel bir eylem başarıyla tamamlandıktan sonra görünmesi gerekiyorsa — örneğin giriş işleminin ardından gelen ekranlar — flow’u iki placement arasında bölün ve uygulamanızın ikinci bölümü ne zaman göstereceğine karar vermesine izin verin:
- İlk placement’ta, özel bir eylemle biten bir flow oluşturun (örneğin
login). - Uygulamanızda Action ID’yi işleyin: giriş ekranınızı gösterin ve kullanıcının oturum açıp açmadığını kontrol edin.
- Kullanıcı oturum açtıysa, takip eden ekranlarla birlikte ikinci placement’taki flow’u gösterin. Bu sayede, uygulamanız geçişi flow’un sonuçtan bağımsız olarak ilerlemesi yerine gerçek sonuca göre kontrol eder.
Koşullu eylemler
Kullanıcı verilerine göre flow’u farklı yollara ayırmak için koşullu eylemler kullanın.
Yaygın kullanım senaryoları şunlardır:
- Ekranda bir test var ve kullanıcıları cevaplarına göre farklı ekranlara yönlendirmek istiyorsunuz. Bu durumda bir butona koşullu eylem ekleyin.
- Farklı kullanıcı gruplarına farklı ürünler ve teklifler sunmak istiyorsunuz. Bunları farklı ekranlara yerleştirin ve bir gezinme butonu için koşullar ayarlayın.
- Önceki bir uygulama oturumunda zaten bir öğreticiyi tamamlamış kullanıcılar için belirli adımları atlamak istiyorsunuz. Koşullu eylemler, bir if / else-if / else zinciri gibi çalışır. Uygulama kuralları yukarıdan aşağıya okur ve ilk eşleşmede durur:
- IF: Flow birincil koşulu kontrol eder.
- Doğru mu? Flow, THEN eylemlerini hemen çalıştırır ve durur.
- Yanlış mı? Flow bir sonraki bölüme geçer.
- ELSE IF: Buraya ek kontroller ekleyebilirsiniz (örn. “Premium değilse, kullanıcı Deneme sürümünde mi?”).
- ELSE (Yedek): Yukarıdaki kuralların hiçbiri eşleşmediyse, flow bu son bölümdeki eylemleri çalıştırır.
- Bir kural eklenmiş ancak herhangi bir eylem atanmamışsa, koşulun eşleşmesi hiçbir şey yapmaz.
- Eksik bir kural (operatör veya değer girilmemiş) önizleme ve yayınlamayı engeller.
Her kural için değerlendirilecek bir değişken ve çalıştırılacak bir eylem seçin. Kural başına birden fazla eylem ekleyebilirsiniz.
Flow yalnızca bir kuralı çalıştırır — eşleşen ilk kuralı. Hem IF hem de ELSE IF eylemlerini aynı anda çalıştırmanız gerekiyorsa her iki eylemi de IF’e ekleyin.
Öğeleri seçilebilir hale getirmeyi ve koşullarda kullanmak üzere gruplara düzenlemeyi öğrenmek için bkz. Seçilebilir öğeler ve gruplar.
Sorun Giderme
Zorunlu alanlar eksik olduğunda herhangi bir işlem önizlemeyi ve yayımlamayı engeller. Tam liste için Flow’ları kaydet ve yayımla bölümüne bakın.