Ana içeriğe atla

Genel Bakış

OneSignal’de bir Kullanıcı, mesajlaşma kanallarınız (mobil push, web push, e-posta ve SMS) genelinde bir veya daha fazla Aboneliği olan bir bireyi temsil eder.
  • Her Kullanıcı en fazla 20 Aboneliğe sahip olabilir.
  • Her Kullanıcıya otomatik olarak bir OneSignal ID (UUID v4) atanır.
  • Kullanıcılar, onlara bir External ID atanana kadar anonim olarak başlar. External ID atamak Abonelikleri birbirine bağlar ve kullanıcı uygulamanızda zaten varsa mevcut OneSignal ID’yi değiştirebilir.
  • Kullanıcılar ve Aboneliklerin farklı özellikleri vardır. Örneğin, Etiketler Kullanıcı düzeyinde saklanırken, abonelik durumu (katılım/çıkış) Aboneliğe aittir.
  • Kullanıcı bağlamı değiştiğinde — örneğin, giriş yapma (anonim → tanımlanmış) veya hesap değiştirme (KullanıcıA → KullanıcıB) — Abonelik eski Kullanıcıdan yenisine yeniden atanır.
    • Abonelik artık yeni Kullanıcının özelliklerini devralacaktır.
    • Önceki Kullanıcıya bağlı özellikler (Etiketler, dil veya External ID gibi) artık geçerli olmayacaktır.
Örnek:
  • KullanıcıA, premium=true Etiketi’ne sahip
  • KullanıcıB, premium=false Etiketi’ne sahip
  • Bir Abonelik KullanıcıA’dan KullanıcıB’ye geçerse, artık premium=true ile ilişkilendirilmeyecek ve bunun yerine KullanıcıB’nin özelliklerini yansıtacaktır.

Anonim ve tanımlanmış kullanıcılar

  • Anonim kullanıcı: External ID’ye sahip değil → her Abonelik kendi OneSignal ID’sine sahip ayrıdır (ayrı Kullanıcılar olarak değerlendirilir).
  • Tanımlanmış kullanıcı: External ID’ye sahip → OneSignal tüm Abonelikleri tek bir OneSignal ID altında birleştirir.
Örnek: Anonim kullanıcı
  • Web push Aboneliği → OneSignal_ID_1
  • Mobil Abonelik → OneSignal_ID_2
  • E-posta Aboneliği → OneSignal_ID_3
  • SMS Aboneliği → OneSignal_ID_4
  • Sonuç: Dört Kullanıcı (her Abonelik benzersiz özelliklere sahip ayrı bir Kullanıcıdır)
Örnek: Tanımlanmış kullanıcı
  • External_ID_A External ID’sine sahip Web push Aboneliği → OneSignal_ID_1
  • Aynı External_ID_A ile Mobil Abonelik → OneSignal_ID_1’e birleştirildi
  • Aynı External_ID_A ile E-posta Aboneliği → OneSignal_ID_1’e birleştirildi
  • Aynı External_ID_A ile SMS Aboneliği → OneSignal_ID_1’e birleştirildi
  • Sonuç: Dört Aboneliği olan Bir Kullanıcı (tümü aynı Kullanıcıya bağlı)
Her zaman bir External ID atayın. Bu, kanallar ve cihazlar genelindeki Aboneliklerin tek bir Kullanıcı profili altında birleşmesini sağlar ve çoğaltmayı önler.
  • Kararlı, genel olmayan tanımlayıcılar kullanın (örneğin, dahili kullanıcı kimliğiniz veya e-posta adresiniz).
  • Uygulama yaşam döngünüzün başlarında OneSignal.login çağrısı yapın.

Anonim ve tanımlanmış kullanıcılar

  • Anonim kullanıcı: External ID’ye sahip değil → her Abonelik kendi OneSignal ID’sine sahip ayrıdır (ayrı Kullanıcılar olarak değerlendirilir).
  • Tanımlanmış kullanıcı: External ID’ye sahip → OneSignal tüm Abonelikleri tek bir OneSignal ID altında birleştirir.
Örnek: Anonim kullanıcı
  • Web push Aboneliği → OneSignal_ID_1
  • Mobil Abonelik → OneSignal_ID_2
  • E-posta Aboneliği → OneSignal_ID_3
  • SMS Aboneliği → OneSignal_ID_4
  • Sonuç: Dört Kullanıcı (her Abonelik benzersiz özelliklere sahip ayrı bir Kullanıcıdır)
Örnek: Tanımlanmış kullanıcı
  • External_ID_A External ID’sine sahip Web push Aboneliği → OneSignal_ID_1
  • Aynı External_ID_A ile Mobil Abonelik → OneSignal_ID_1’e birleştirildi
  • Aynı External_ID_A ile E-posta Aboneliği → OneSignal_ID_1’e birleştirildi
  • Aynı External_ID_A ile SMS Aboneliği → OneSignal_ID_1’e birleştirildi
  • Sonuç: Dört Aboneliği olan Bir Kullanıcı (tümü aynı Kullanıcıya bağlı)
Her zaman bir External ID atayın. Bu, kanallar ve cihazlar genelindeki Aboneliklerin tek bir Kullanıcı profili altında birleşmesini sağlar ve çoğaltmayı önler.
  • Kararlı, genel olmayan tanımlayıcılar kullanın (örneğin, dahili kullanıcı kimliğiniz veya e-posta adresiniz).
  • Uygulama yaşam döngünüzün başlarında OneSignal.login çağrısı yapın.

Kullanıcı özellikleri

ÖzellikAçıklama
KanalKullanıcının sahip olduğu Abonelikler, Push, E-posta veya SMS gibi.
OneSignal IDHer kullanıcı için OneSignal tarafından otomatik oluşturulan UUID v4. External ID atandığında değişebilir.
Son oturumUygulama etkileşiminin en son zaman damgası.
İlk oturumKullanıcının OneSignal’de ilk oluşturulduğu zaman.
E-postaEn son E-posta Aboneliğinden gelen e-posta.
TelefonEn son SMS Aboneliğinden gelen telefon numarası.
IP AdresiEn son güncellenmiş Abonelikten.
External IDKullanıcıyı sisteminizle birleştirmek için atadığınız benzersiz tanımlayıcı.
EtiketlerÖzel meta veriler (örneğin tercihler, davranış). Veri Etiketleri’ne bakın.
KonumMobil aboneliklerin GPS koordinatları (konum takibi etkinse). Konuma Dayalı Bildirimler’e bakın.
Saat DilimiSDK tarafından ayarlanan IANA TZ formatında timezone_id. API aracılığıyla güncellenebilir.
DilISO 639-1 formatında kullanıcının dili. API veya setLanguage aracılığıyla güncellenebilir.
Takma Adlarmixpanel_id : 1234 gibi anahtar-değer çiftleri. Takma Adlar’a bakın.

OneSignal ID

OneSignal ID, bir kullanıcıyı benzersiz şekilde temsil etmek için oluşturulan dahili bir UUID v4’tür. Şu gibi senaryolarda otomatik olarak oluşturulur:
  • İlk kez mobil uygulama açılışı (veya yeniden yükleme sonrası)
  • Yeni web push Aboneliği
  • Create user veya CSV Import aracılığıyla Kullanıcı/Abonelik oluşturma
  • Tarayıcı önbelleğini temizleme ve siteye geri dönme
  • OneSignal.logout ile çıkış yapma
OneSignal.login aracılığıyla bir External ID kullanıldığında, mevcut Aboneliğe bağlı olan mevcut OneSignal ID, o External ID ile ilişkili olanla değiştirilir. Platformlar genelinde (Push, E-posta, SMS) Abonelikler, aynı External ID’yi paylaşıyorlarsa aynı OneSignal ID altında birleştirilecektir.

Yeniden atama ve davranış

Bir kullanıcı uygulamayı yeniden yüklerse veya önbelleği temizlerse, yeni bir OneSignal ID ve Abonelik oluşturulur. Ancak, OneSignal.login çağrısı yapmak yeni Aboneliği orijinal kullanıcı profiline geri bağlar. OneSignal.User.addEmail veya addSms aracılığıyla eklenen Abonelikler, mevcut OneSignal ID’yi devralacaktır. SDK referansları:

External ID

External ID, kullanıcıları cihazlar ve abonelikler genelinde izlemek için atadığınız benzersiz bir string’dir.

Kullanıcıyı abonelikleri genelinde izlemek için External ID'yi kullanın.

External ID’yi şu yollarla ayarlayabilir veya kaldırabilirsiniz:

Kısıtlı ID’ler

External ID’ler için yer tutucu değerler veya geçici değerler kullanmayın. Aşağıdaki değerler External ID’ler için kullanılamaz:
  • NA
  • NULL
  • -1
  • 0
  • 1
  • all
  • 00000000-0000-0000-0000-000000000000

Aynı cihazda birden fazla kullanıcı

Birden fazla kullanıcı bir cihazı paylaştığında, her yeni giriş farklı bir External ID ile OneSignal.login çağrısını tetiklemelidir. Bu, OneSignal ID’yi ve Aboneliği yeni kullanıcıya yeniden atar. Çıkış işlemini yönetmek için, kullanıcı bağlamını kaldırmak için aşağıdakileri yapabilirsiniz:
  • OneSignal.logout() çağrısı yapın → External ID’yi temizler, önceki kullanıcı özelliklerini (Etiketler, Takma Adlar, vb.) kaldırır ve anonim OneSignal ID atar.
  • İsteğe bağlı olarak optOut kullanarak bildirimleri devre dışı bırakın ve tekrar giriş yaparken optIn ile yeniden etkinleştirin.

Aylık aktif kullanıcılar (MAU)

MAU, faturalandırma için kullanılır ve 30 günlük faturalandırma dönemi içinde son oturumu olan bir mobil Abonelik olarak tanımlanır. Bu şunları içerir:
  • SDK’mız aracılığıyla bir mobil Abonelik oluşturarak uygulamanızı ilk kez açan kullanıcılar
  • Uygulamayı yeniden yükleyen ve tekrar açan, SDK’mız aracılığıyla başka bir mobil Abonelik oluşturan kullanıcılar
  • API’miz aracılığıyla içe aktarılan kullanıcılar

MAU faturalandırma örneği

Bir Kullanıcının şu Abonelikleri varsa:
  • iOS mobil (son 30 günde etkin)
  • Android mobil (son 30 günde etkin)
  • Web push
  • E-posta
  • SMS
Yalnızca iOS ve Android mobil Abonelikler sayılır, bu da 2 MAU ile sonuçlanır. Abonelik durumu MAU faturalandırması için önemli değildir.

MAU’ları azaltma (örneğin, ödeme duvarı kullanım durumları)

Mobil SDK gizlilik yöntemlerini kullanarak SDK başlatmayı ve Abonelik oluşturmayı geciktirebilirsiniz.
  1. SDK’yı başlatmadan önce setConsentRequired() çağrısı yapın – bu, Aboneliğin otomatik oluşturulmasını önler
  2. Kullanıcı için bir Abonelik oluşturmaya hazır olduğunuzda setConsentGiven() çağrısı yapın