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

- 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:- Uygulama İçi Mesajlar etkinleştirilmiş aktif bir OneSignal uygulaması
- HTML Uygulama İçi Mesajları oluşturma veya düzenleme izni
- Mobil uygulamanızda Mobile SDK kurulu
- HTML, CSS ve JavaScript hakkında temel anlayış
Ç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: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 (
activesınıfıyla kontrol edilir)
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: 0kartı görsel olarak gizler ancak düzende tutarpointer-events: nonegizli kartlara yanlışlıkla tıklamayı engellertransitionyumuşak geçiş efektleri oluşturur
JavaScript durum yönetimi
setActive(i) fonksiyonu hangi kartın görünür olduğunu kontrol eder:- Tüm kartlardan
active’i kaldırır - Hedef karta
activeekler - İlerleme gösterge noktalarını günceller
Ö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
- OneSignal panelinde Messages → In-App Messages bölümüne gidin
- New In-App Message öğesine tıklayın
- Mesaj türü olarak HTML seçin
- Full Screen veya Large düzeni seçin (görsel etki için onboarding’de önerilir)
- 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
Tam HTML şablonunu görüntüle
Tam HTML şablonunu görüntüle
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
- Renkler:
.btnarka 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-radiusdeğerlerini güncelleyin
Daha fazla adım ekleme
Üçüncü bir adım eklemek için bu kalıbı izleyin:- HTML kartı ekleyin:
- İlerleme noktası ekleyin:
setActive()fonksiyonunu güncelleyin:
- Ö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:
- Yeni son karta (card-2) kapatma butonu ekleyin:
Adım 4: Uygulama İçi Mesajı Test Edin
Test kontrol listesi
- OneSignal panelinde mesajı kaydedin
- 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
- 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)
- İş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
| Sorun | Olası neden | Çözüm |
|---|---|---|
| Mesaj görünmüyor | Tetikleme koşulları karşılanmadı | Uygulama İçi Mesaj Tetikleyicilerini kontrol edin ve test kullanıcınızın kriterleri karşıladığını doğrulayın |
| Butonlar çalışmıyor | JavaScript hataları veya ID uyuşmazlığı | Tarayıcı konsolunda hataları kontrol edin; buton ID’lerinin olay dinleyici ID’leriyle eşleştiğini doğrulayın |
| Görseller yüklenmiyor | CORS sorunları veya geçersiz URL’ler | HTTPS URL’leri kullanın; önce görsel URL’lerini bir tarayıcıda test edin |
| Mesaj görünüyor ama kapanmıyor | OneSignal SDK yüklenmedi | Mobile SDK kurulumunun tamamlandığını doğrulayın |
Sonraki Adımlar
Kullanıcı etkileşimini takip edin:- Adımlar arası vazgeçmeyi ölçmek için
data-onesignal-unique-labelniteliklerini 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
- Onboarding’i tamamlayan kullanıcıları etiketleyin (örn.,
onboarding_completed: true) - Etiketleri kullanarak kullanıcıları segmentleyin ve onboarding akışının tekrar gösterilmesini engelleyin
- Gelecekteki mesajlarda içeriği kişiselleştirmek için kullanıcı verisi ekleyin
- 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