Stratejik gerekçeyi başka yerlerde özetledik: toplu gönderme dönemi sona erdi ve davranış tetiklemeli bildirimler platformların ödüllendirdiği ve abonelerin tolere ettiği şeylerdir. Bu kılavuz diğer yarısıdır — uygulamadaki etkinliklerden iOS'ta anlık bildirimlerin nasıl tetikleneceği, enstrümantasyondan pazarlama devrine kadar. Kodlama işini yapan geliştirici için yazılmıştır, göndereceğiniz kod ve sürdürülebilirliğini sağlayan kurallarla.
Tek paragrafta mimari
Uygulamanız adlandırılmış etkinlikleri türü belirtilmiş özelliklerle ateşler. PushEngage bu etkinlikleri kontrol panelinde yapılandırılmış tetikleyici kurallarıyla eşleştirir ve kampanyalar gönderilir — hemen, gecikmeli olarak veya çıkış koşullarıyla çok adımlı bir dizi olarak. İş bölümü noktadır: mühendislik her etkinliği *bir kez* enstrümante eder; pazarlama, başka bir derleme yapmadan, bu etkinliklere karşı kampanyalar oluşturur, düzenler ve sonlandırır. Enstrümantasyonunuz pazarlama ekibiniz için bir API'dir.
trackEvent: genel amaçlı sinyal
iOS SDK 1.0, özel davranışsal sinyaller için iş yükünü taşıyan trackEvent'i tanıttı:
PushEngage.trackEvent(name: "product_viewed",
properties: [
"sku": "WCJ-1042",
"category": "outerwear",
"price": 189.00,
"in_stock": true
],
profileId: currentUserId, // ties the event to an identified subscriber
provider: nil,
eventType: nil) { success, error in
if !success { log(error) }
}
SDK'nın zorunlu kıldığı üç kural, bu yüzden onları önceden tasarlayın:
- Özellik değerleri dize, sayı veya boolean olmalıdır. Diziler, sözlükler ve tarihler istemci tarafında reddedilir — göndermeden önce düzleştirin.
- Etkinlik adları ve özellik anahtarları boş olmamalıdır. Tamamlama işleyicisi doğrulamanın ne zaman başarısız olduğunu size söyler; hata ayıklama sürümlerinde günlüğe kaydedin.
- Tamamlama işleyicileri arka plan kuyruğunda gelir. Kullanıcı arayüzüne dokunmadan önce ana kuyruğa aktarın.
Kullanıcı tanımlandığında profileId'yi geçirin — bu, bir kampanyanın bir cihazı takip etmek yerine bir müşteriyi cihazlar arasında takip etmesini sağlayan şeydir.
sendTriggerEvent: klasik tetikleyici kampanyaları bağlama
Kontrol panelinin tetikleyici oluşturucusunda oluşturulan kampanyalar için — sepeti terk etme, göz atma terk etme, özel yolculuklar — uygulama, pazarlamacının yapılandırdığı kampanya ve etkinlik adlarıyla birlikte bildirim şablonunun oluşturacağı veri jetonlarını ateşler: sendTriggerEvent
let trigger = TriggerCampaign(campaignName: "cart_abandonment",
eventName: "add_to_cart",
data: [
"productname": "Waxed Canvas Jacket",
"price": "$189",
"cartlink": "myapp://cart"
])
PushEngage.sendTriggerEvent(triggerCampaign: trigger) { success, error in
// background queue — dispatch before UI work
}
data jetonları bildirim metnine akar — pazarlamacının koda dokunmadan “Waxed Canvas Ceketin Bekliyor” ifadesinin nasıl kişiselleştirildiği budur. Tam sepet kurtarma dizisini mobil uygulama sepeti terk etme oyun kitabında yürüdük; bu çağrı onun motorudur.
addAlert: yerleşik fiyat düşüşü ve stokta geri dönüş
En yüksek niyetli iki ticaret tetikleyicisi özel kampanyalara bile gerek duymaz — birinci sınıf SDK vatandaşlarıdır. Bir kullanıcı bir ürünü izlediğinde, uyarıyı kaydedin:
let alert = TriggerAlert(type: .priceDrop, // or .inventory
productId: "WCJ-1042",
link: "myapp://product/WCJ-1042",
price: 189.00,
data: ["size": "M"])
PushEngage.addAlert(triggerAlert: alert) { success, error in }
PushEngage, izlemeyi, eşleştirmeyi ve fiyat düştüğünde veya stok geri döndüğünde göndermeyi halleder. Fiyat düşüşü bildirim kılavuzumuzu okuduysanız, bu, bu kampanyaların ateşlenmesini sağlayan uygulama tarafı kaydıdır.
Ölçeklenebilen bir etkinlik taksonomisi
Enstrümantasyon borcu gerçektir: altı ay sonra, kimse olayın addToCart, cart_add veya CartUpdated olup olmadığını hatırlamıyor. İlk günden itibaren kuralları belirleyin — snake_case adları, object_action sıralaması, tekil özellik anahtarları — ve temel ticaret setini kapsayın:
| Olay | Anahtar özellikler | Desteklediği kampanyalar |
|---|---|---|
product_viewed | sku, kategori, fiyat | Göz atma terk etme, kişiselleştirme |
product_saved | sku, fiyat | Fiyat düşüşü, stokta geri dönüş, geri kazanma tetikleyicileri |
cart_updated | sepet_değeri, öğe_sayısı, en_iyi_öğe | Sepet terk etme |
purchase_completed | sipariş_değeri, öğe_sayısı | Çıkış koşulları, satın alma sonrası, hedefler |
search_performed | sorgu, sonuç_sayısı | Sıfır sonuç kurtarma, ilgi alanları segmentleri |
onboarding_step | adım, tamamlandı | Onboarding serisi dallanması |
Altı olay, bir kez enstrümante edildi, onboarding serisini, sepet kurtarmayı, geri kazanma tetikleyicilerini ve bu yıl pazarlama ekibinizin isteyeceği her segmenti destekler.
Teslim etmeden önce döngüyü test edin
PushEngage.enableLogging = true değerini hata ayıklama sürümlerinde ayarlayın ve olayların cihazdan ayrılmasını izleyin. Her olayı bir test sürümünden tetikleyin, kontrol panelinin olay görünümünde göründüğünü doğrulayın ve tetikleyici başına bir uçtan uca test kampanyası gönderin. SDK deposundaki örnek uygulamalar, akışı kopyalayabileceğiniz çalışan bir tetikleyici ekranı içerir. Buradaki on beş dakikalık doğrulama, daha sonraki "neden kampanya tetiklenmedi" araştırmasını kurtarır — ki bu genellikle sözleşmenin bir tarafındaki yanlış yazılmış bir olay adıdır.
Teslimat: pazarlama bundan sonra neyi sahipleniyor
Olaylar aktıktan sonra, sizin göreviniz biter. Pazarlama, tetikleyici kurallarını oluşturur, metinleri yazar, gecikmeleri ve çıkış koşullarını ayarlar, varyantları A/B test eder ve gelir ataması için hedef takibini ekler — hepsi kontrol panelinde, hepsi bilet olmadan. Olay taksonomi tablosunu, iki taraf arasındaki sözleşme olarak ekip wiki'nizde yayınlayın. Ardından, "bir anlık bildirim gönderebilir misin" biletleri için istek kuyruğunu sessizce sıfıra inerken izleyin — ki amaç da buydu. Bu kampanyaların izlemesi gereken strateji için, pazarlama ekibinize uygulama anlık bildirim pazarlama kılavuzunu verin.