Skip to main content

Genel Bakış

Bu eğitim, tek bir HTML Uygulama İçi Mesaj kullanarak çok adımlı bir onboarding karuseli oluşturmayı gösterir. Kaydırma hareketlerine dayanan geleneksel karusellerin aksine, bu yaklaşım buton odaklı navigasyon kullanır ve tüm adımları tek bir mesaj içinde tutar. Ne inşa edeceksiniz:
  • Görsel, metin ve butonlar içeren iki adımlı bir onboarding akışı
  • Buton navigasyonu (ilerlemek için “İleri”ye, kapatmak için “Başla”ya dokunun)
  • İlerleme gösterge noktaları
  • Adımlar arası yumuşak geçiş efektleri
Görsel, metin ve İleri butonu içeren karşılama ekranını gösteren onboarding karuseli

Buton odaklı navigasyonlu onboarding karuseli örneği

Bu yaklaşımı ne zaman kullanmalısınız:
  • Kullanıcıları kısa bir onboarding veya eğitim akışından (2-5 adım) geçirmek istediğinizde
  • Kullanıcıların devam etmek için açıkça bir butona dokunmasını gerektirdiğinizde (kaydırma hareketi yok)
  • Basitlik için her şeyi tek bir HTML Uygulama İçi Mesaj içinde tutmak istediğinizde
  • Akış tamamlandığında mesajı otomatik olarak kapatmak istediğinizde
Bu kılavuz tam kontrol için HTML Uygulama İçi Mesaj kullanır. Ayrıca sürükle-bırak düzenleyiciyle kart tabanlı onboarding akışları oluşturabilirsiniz—bu kartlar kaydırılabilir ancak daha az özelleştirme sunar.

Ön Koşullar

Başlamadan önce, aşağıdakilere sahip olduğunuzdan emin olun:

Çok Adımlı Akış Nasıl Çalışır

Koda geçmeden önce teknik yaklaşımı anlamak önemlidir. Bu uygulama, birden fazla ayrı mesaj yüklemek yerine içeriği gösterip gizleyerek adımlar arasında geçiş yapan tek bir HTML Uygulama İçi Mesaj kullanır. Mimari dört temel bileşene dayanır:
1

Her adım için kart konteynerleri

Her adım card sınıfı ve benzersiz bir ID ile bir <div> içine sarılır:
  • Tüm kartlar DOM’da aynı anda bulunur
  • Aynı anda yalnızca bir kart görünür (active sınıfıyla kontrol edilir)
2

CSS görünürlük kontrolü

CSS, opaklık ve pointer olaylarını kullanarak göster/gizle mantığını yönetir:
Bu neden önemli:
  • opacity: 0 kartı görsel olarak gizler ancak düzende tutar
  • pointer-events: none gizli kartlara yanlışlıkla tıklamayı engeller
  • transition yumuşak geçiş efektleri oluşturur
3

JavaScript durum yönetimi

setActive(i) fonksiyonu hangi kartın görünür olduğunu kontrol eder:
Bu fonksiyon:
  • Tüm kartlardan active’i kaldırır
  • Hedef karta active ekler
  • İlerleme gösterge noktalarını günceller
4

Buton olay dinleyicileri

Butonlar navigasyonu veya kapatmayı tetikler:
Önemli: OneSignalIamApi.close(e) HTML içinden Uygulama İçi Mesajı kapatan OneSignal SDK yöntemidir.
Önemli nokta: Bu, bir Uygulama İçi Mesaj içindeki tek sayfa uygulama (SPA) modelidir. Tüm içerik bir kez yüklenir ve JavaScript yeniden yükleme olmadan durum değişikliklerini yönetir.

Adım 1: Yeni bir HTML Uygulama İçi Mesaj Oluşturun

  1. OneSignal panelinde Messages → In-App Messages bölümüne gidin
  2. New In-App Message öğesine tıklayın
  3. Mesaj türü olarak HTML seçin
  4. Full Screen veya Large düzeni seçin (görsel etki için onboarding’de önerilir)
  5. HTML düzenleyiciye devam edin
HTML düzenleyici önizlemesi çalışma zamanı davranışını tam olarak yansıtmayabilir. Animasyonları, buton davranışını ve kapatma işlemini doğrulamak için her zaman gerçek bir cihazda veya test kullanıcısında test edin.

Adım 2: HTML Şablonunu Ekleyin

Düzenleyici içeriğini aşağıdaki şablonla değiştirin. Bu şablon şunları içerir:
  • Bağımsız kod: Tüm HTML, CSS ve JavaScript tek bir dosyada
  • Buton odaklı navigasyon: Kaydırma hareketi yok (cihazlar arasında daha güvenilir)
  • Geçiş efektleri: Adımlar arası yumuşak opaklık değişimleri
  • OneSignal SDK entegrasyonu: Mesajı kapatmak için OneSignalIamApi.close(e) kullanır
  • Mobil optimize: Viewport meta etiketi ile duyarlı düzen

Adım 3: İçeriğinizi Özelleştirin

Güvenle özelleştirilebilir

İşlevselliği bozmadan bu öğeleri değiştirebilirsiniz: İçerik:
  • <h1> etiketlerindeki başlık metni
  • <p> etiketlerindeki gövde metni
  • Buton etiketleri (İleri, Başla)
  • background-image: url('...') stillerindeki görsel URL’leri
Görsel stil:
  • Renkler: .btn arka planını, metin rengini veya nokta renklerini değiştirin
  • Boşluk: Padding ve marjları ayarlayın
  • Tipografi: font-family, font-size, font-weight değiştirin
  • Kenar yarıçapı: Butonlar ve görseller için border-radius değerlerini güncelleyin

Daha fazla adım ekleme

Üçüncü bir adım eklemek için bu kalıbı izleyin:
  1. HTML kartı ekleyin:
  1. İlerleme noktası ekleyin:
  1. setActive() fonksiyonunu güncelleyin:
  1. Önceki adımın buton ID’sini güncelleyin: Kart 1’in butonunda id="done"’ı id="next-1" olarak değiştirin, ardından tıklama dinleyicisi ekleyin:
  1. Yeni son karta (card-2) kapatma butonu ekleyin:
Onboarding akışlarını kısa tutun (maksimum 2-4 adım). Kullanıcılar uzun akışlarda hızla vazgeçer. Tıklama takibi ile tamamlanma oranlarını test edin.

Adım 4: Uygulama İçi Mesajı Test Edin

Test kontrol listesi

  1. OneSignal panelinde mesajı kaydedin
  2. Teslimat ayarlarını yapılandırın:
    • Tetikleme koşullarını ayarlayın (örn., oturum başlangıcı, belirli sayfa görüntüleme)
    • Hedef kitlenizi seçin veya bir test kullanıcısı belirleyin
  3. Test cihazına gönderin:
    • Üretim kullanıcılarını etkilemeden önizlemek için Test Kullanıcıları kullanın
    • Uygulamanızı fiziksel bir cihaza yükleyin (doğru davranış için simülatörler yerine önerilir)
  4. İşlevselliği doğrulayın:
    • ✓ İlk kart doğru içerikle görünüyor
    • ✓ “İleri” butonu kart 2’ye ilerliyor
    • ✓ İlerleme noktaları doğru güncelleniyor
    • ✓ Geçiş efektleri yumuşak
    • ✓ “Başla” butonu mesajı kapatıyor
    • ✓ Mesaj hemen tekrar görünmüyor (frekans sınırlama ayarlarını kontrol edin)
Simülatörler/emülatörler özellikle dokunma etkileşimleri ve SDK entegrasyonları için gerçek cihaz davranışını doğru yansıtmayabilir. Üretime çıkmadan önce her zaman fiziksel cihazlarda test edin.

Yaygın sorunları giderme


Sonraki Adımlar

Kullanıcı etkileşimini takip edin:
  • Adımlar arası vazgeçmeyi ölçmek için data-onesignal-unique-label niteliklerini kullanarak tıklama takibi ekleyin (şablonda zaten dahil)
  • Messages → In-App Messages → [Mesajınız] → Analytics bölümünde tıklama analizlerini görüntüleyin
Deneyimi kişiselleştirin: Gelişmiş özelleştirme:
  • Kapatma sonrası kullanıcıları belirli bir ekrana derin bağlantı ile yönlendirin
  • Başlıkları kullanıcı adları veya niteliklerle kişiselleştirmek için Liquid sözdizimi kullanın
  • Tamamlanma oranlarını optimize etmek için farklı onboarding akışlarıyla A/B testi uygulayın