Ana içeriğe atla
Mesajları ve teslimat yüklerini Liquid sözdizimi ile kişiselleştirmek için özellikleri (kullanıcı etiketleri ve External ID gibi tanımlayıcılar gibi) kullanın. OneSignal, Liquid yer tutucularını gönderim anında işler ve kullanıcı, abonelik, Journey, mesaj, şablon, uygulama veya organizasyon üzerinde zaten depolanmış verileri kullanır. Bu verileri mesajları, Journey webhook’larını ve Event Streams verilerini kişiselleştirmek için kullanabilirsiniz.

Özellik kişiselleştirmesi ne zaman kullanılır

OneSignal’da zaten mevcut olan verileri kullanarak gönderim anında içerik oluşturmak için özellik kişiselleştirmesini kullanın—en yaygın olarak kullanıcı etiketleri, External ID ve e-posta veya telefon numarası gibi abonelik alanları. Bu doğru yaklaşımdır şu durumlarda:
  • Veri zaten OneSignal’da depolanmış olduğunda
  • Mesaj gönderildiğinde Liquid yer tutucularının otomatik olarak değiştirilmesini istediğinizde
  • Teslimat anında yeni veri çekmenize veya hesaplamanıza gerek olmadığında
Değerin gönderim anında çekilmesi veya hesaplanması gerekiyorsa (örneğin, canlı fiyatlandırma veya envanter), Data Feeds veya custom_data ile API kullanın.Değer, bir kullanıcının bir Journey’ye girmesine veya ilerlemesine neden olan olaydan geliyorsa, Custom Event kişiselleştirme kullanın.

Kanal desteği

Her kanal belirli özellik türlerini ve alanlarını destekler.
Şu alanlarda Kullanıcı ve Abonelik özelliklerini destekler:
  • Konu, Yanıtla ve Ön Başlık
  • Mesaj gövdesi
  • HTML özellikleri (örneğin: <img src="{{ image_url }}" />)
  • Buton eylemleri (URL’ler, mailto vb.)

Özellik kişiselleştirmesi nasıl çalışır

OneSignal, Liquid yer tutucularını mesaj gönderilen kullanıcı ve abonelik için karşılık gelen özellik değerleriyle değiştirir.
Liquid
Hi {{ first_name | default: "friend" }}!
Congrats on reaching level {{ level | default: "1" }}!
Bir kullanıcının first_name: Jon ve level: 5 etiketleri varsa şunu görür:
Text
Hi Jon!
Congrats on reaching level 5!

Bir kullanıcının ayarlanmış etiketi yoksa, bunun yerine varsayılan değerleri görür.

Özellik Liquid nesneleri referansı

Liquid’de kullanılabilir tam nesne ve alan adlarını aramak için bu bölümü kullanın.

Kullanıcı ve Abonelik özellikleri

Kullanıcı düzeyindeki veriler için user nesnesini kullanın. E-posta adresi veya telefon numarası gibi kanala özel değerlere ihtiyaç duyduğunuzda subscription nesnesini kullanın.
user.tags
Kullanıcının Tags değerleri. Etiketlere çeşitli şekillerde başvurabilirsiniz:
  • key değerini doğrudan kullanın veya anahtarı tags nesnesinden sonra yerleştirin
  • Ayarlanmış örnek etiketler: first_name: Jon, level: 5
Liquid
Your first name is {{ first_name }}.
Your first name is {{ user.tags.first_name }}.
Your level is {{ level }}.
Your level is {{ user.tags.level }}.
  • Etiketler üzerinde for döngüsü sözdizimi ile yineleme yapın. Bu örnek, virgüllerle ayrılmış anahtar:değer çiftlerini çıktı olarak verir.
Liquid
{% for tag in user.tags %}
{{ tag[0] }}: {{ tag[1] }}
{% unless forloop.last %},
{% endunless %}{% endfor %}
user.external_id
Kullanıcının External ID değeri.
Liquid
Your user ID is {{ user.external_id }}.
Your user ID is {{ subscription.external_id }}.
user.onesignal_id
Kullanıcının OneSignal ID değeri.
Liquid
Your OneSignal user ID is {{ user.onesignal_id }}.
subscription.email
Mesaj gönderilen e-posta Subscription’ının e-posta adresi.
Liquid
Thanks for subscribing with email {{ subscription.email }}.
subscription.phone_number
Mesaj gönderilen SMS Subscription’ının telefon numarası.
Liquid
Thanks for subscribing with phone number {{ subscription.phone_number }}.
user.language
Kullanıcının dil kodu.
Liquid
Preferred language: {{ user.language }}
Preferred language: {{ subscription.language }}
user.subscriptions
Kullanıcının Subscriptions değerleri.
  • Abonelikler üzerinde for döngüsü sözdizimi ile yineleme yapın.
  • Bu örnek, her aboneliğin token ve ID değerlerini virgüllerle ayırarak çıktı olarak verir.
JSON
{
  "subscriptions": "{% for subscription in user.subscriptions %}{% if subscription.subscription_token %}{{ subscription.subscription_token }}: {{ subscription.id }}{% unless forloop.last %}, {% endunless %}{% endif %}{% endfor %}"
}
subscription.unsubscribe_token
Token ile E-posta Aboneliğinden Çıkma API’si ile kullanılan token.
Unsubscribe: https://your-domain.com/unsubscribe?token={{ subscription.unsubscribe_token }}

Journey özellikleri

journey nesnesi, Journey adına başvurmanızı veya Journey için Custom Event Kişiselleştirme verilerine erişmenizi sağlar.
journey.name
Journey’nin adı.
JSON
{
  "journey_name": "{{ journey.name }}"
}

Mesaj özellikleri

message nesnesi, Event Streams için faydalı olabilecek mesaj ID’sine, adına ve şablon ID’sine erişim sağlar; ayrıca arka ucunuzdan gönderilen mesajları kişiselleştirmek için custom_data verilerine erişim sunar.
message.id
OneSignal tarafından belirlenen mesaj ID’si.
{
  "message_id": "{{ message.id }}"
}
message.name
Gönderen tarafından belirlenen mesajın adı.
{
  "message_name": "{{ message.name }}"
}
message.template_id
OneSignal tarafından belirlenen şablon ID’si.
{
  "template_id": "{{ message.template_id }}"
}

Şablon özellikleri

template nesnesi, mesajı göndermek için kullanılan Template hakkında şablon ID’si ve adına erişim sağlar. Bu, Event Streams için faydalı olabilir.
template.id
OneSignal tarafından belirlenen şablon ID’si.
{
  "template_id": "{{ template.id }}"
}
template.name
Gönderen tarafından belirlenen şablonun adı.
{
  "template_name": "{{ template.name }}"
}

Uygulama ve organizasyon özellikleri

app ve org nesneleri, mesajı gönderen Uygulama ve Organizasyon hakkında bilgi sağlar. Bu, Event Streams için faydalı olabilir.
app.id
OneSignal tarafından belirlenen uygulama ID’si.
{
  "app_id": "{{ app.id }}"
}
app.name
Uygulama sahibi tarafından belirlenen uygulamanın adı.
{
  "app_name": "{{ app.name }}"
}
org.id
OneSignal tarafından belirlenen Organization ID’si.
{
  "org_id": "{{ org.id }}"
}
org.name
Organization sahibi tarafından belirlenen Organization’ın adı.
{
  "org_name": "{{ org.name }}"
}

Örnek: Etiketlerle terk edilmiş sepet

Bu örnek, kullanıcı etiketlerini kullanarak terk edilmiş sepet mesajlarının nasıl kişiselleştirileceğini gösterir. Terk Edilmiş Sepet öğreticisi üzerine inşa edilmiştir. Ayarlanmış örnek etiketler:
JSON
{
  "cart_updated": "unix_timestamp_seconds",
  "product_image": "https://i.imgur.com/ssPCfbC.png",
  "product_name": "24 Pack of Acorns",
  "product_quantity": "1",
  "product_price": "$12.99",
  "cart_items_count": "4",
  "cart_url": "https://yourdomain.com/cart"
}

E-posta şablonu

1

Yeni bir e-posta şablonu oluşturun

Messages > Templates > New Email Template bölümüne gidin ve Sürükle ve Bırak Düzenleyicisini açın.
2

Düzen yapısını ekleyin

Beş satır oluşturun:
  • Satır 1, 2 ve 4: bir Paragraf bloğu ile tek sütun
  • Satır 3: HTML | Paragraf | Paragraf | Paragraf ile dört sütun
  • Satır 5: bir Buton bloğu ile tek sütun
3

Paragraf bloklarına Liquid ekleyin

Satır 1’de şu içeriği ekleyin:
Liquid
We're holding onto {{cart_items_count}} items in your cart, but don't wait too long, other squirrels are getting ahead!
Satır 2’de kullanıcının neye baktığını açıklayan bir metin ekleyin:
Text
Currently in your cart:
Satır 4’te başka bir harekete geçirici mesaj ekleyin:
Text
Checkout now while supplies last!
4

En son öğeyi görüntüleyin

Satır 3’te dört sütunu yapılandırın:Sütun 1 (HTML bloğu):
HTML
<img src="{{product_image}}" alt="Image" style="max-width:100%;" />
Sütun 2–4 (Metin blokları):
  • Sütun 2: {{product_name}}
  • Sütun 3: {{product_quantity}}
  • Sütun 4: {{product_price}}
5

Butona sepet URL'sini ekleyin

Satır 5 Buton bloğunda, Eylem URL’sini şu şekilde ayarlayın:
{{cart_url}}
6

Şablonu test edin ve önizleyin

Test & preview butonunu kullanarak kendinize bir test e-postası gönderin.
  • Etiketlerin e-posta Subscription’ınızda ayarlanmış olduğundan emin olun.
7

Şablonu stillendirin

Başarılı! Artık şablona kendi stilinizi uygulayabilirsiniz. Bkz. Sürükle ve bırak ile e-posta tasarlama.

Push şablonu

Push bildirimleri sınırlı alana sahiptir, bu nedenle bir öğe görüntüleyin ve toplam sayıyı belirtin. Mesaj alanı: Koşullu ifadeler kullanarak doğru dilbilgisi ile öğe ve sayıyı görüntüleyin.
Liquid
{% assign item_count = cart_items_count | plus: 0 %}
{% if item_count == 1 %}
You left {{product_name}} in your cart.
{% endif %}
{% if item_count == 2 %}
You left {{product_name}} and {{item_count | minus: 1}} more item in your cart.
{% endif %}
{% if item_count > 2 %}
You left {{product_name}} and {{item_count | minus: 1}} more items in your cart.
{% endif %}
Görsel alanı:
Liquid
{{product_image | default: "https://i.imgur.com/ssPCfbC.png"}}
Açılış URL’si alanı:
{{cart_url | default: "https://yourdomain.com/cart"}}
Başarılı! Artık daha fazla şablon oluşturabilir ve bunları Terk Edilmiş Sepet Journey’sinde kullanabilirsiniz.

İlgili sayfalar

Yardıma mı ihtiyacınız var?Destek ekibimizle sohbet edin veya support@onesignal.com adresine e-posta gönderinLütfen şunları ekleyin:
  • Yaşadığınız sorunun ayrıntıları ve varsa yeniden üretme adımları
  • OneSignal Uygulama Kimliğiniz
  • Varsa Harici ID veya Abonelik ID
  • Varsa OneSignal Panosunda test ettiğiniz mesajın URL’si
  • İlgili günlükler veya hata mesajları
Size yardımcı olmaktan mutluluk duyarız!