Ana içeriğe geç

Analitik

Olaylar

OlayYazanNe zaman
sentworkertransport push'u kabul etti (APNs 200, FCM 200, push servisi 201)
failedworkertüm denemelerden sonra transport reddetti; meta.code = sağlayıcı kodu, meta.invalidated = aboneliğin öldürülüp öldürülmediği
skippedworkerteslimat kuralı tuttu; meta.reason = frequency_cap / quiet_hours
deliveredSDKiOS NSE / Android handler / service worker push
openedSDKgövdeye dokunuldu
clickedSDKaksiyon butonuna dokunuldu
dismissedSDKkaydırılıp kapatıldı — yalnızca Android ve web; iOS bildirmez

Olaylar EVENT_RETENTION_DAYS (180) TTL'li MongoDB time-series koleksiyonunda (ts, campaignId meta, saniye çözünürlük) saklanır. Her olay ayrıca kampanyanın stats sayaçlarını (A/B için stats.variants.<id>) artırır; raporlar toplam için koleksiyonu hiç taramaz.

SDK pingleri nasıl gelir

Her push bir izleme kimliği taşır:

base64url("appId|campaignId|userId|subscriptionId|platform|variant") . hmac16

POST /v1/e/<d|o|c|x>/<msgId> HMAC'i doğrular, olayı yazar, sayaçları artırır ve webhook atar — veritabanı okuması yok, API anahtarı yok. IP başına sınırlı.

Oranlar

OranFormülNeden
İletim oranıulaşan / gönderilenSağlayıcının kabul ettiğinin ne kadarı cihaza ulaştı.
Açılma oranıaçılan / ulaşanHiç ulaşmayan push açılamaz. Gönderilene bölmek — çoğu aracın yaptığı gibi — her kampanyayı düşük gösterir ve teslimat sorunlarını etkileşim rakamlarının içine gizler.
Tıklanma oranıtıklanan / ulaşanYalnızca butonlar.

Payda sıfırsa null ( gösterilir).

Sayılar nerede

Yerİçerik
Uygulama genel bakışplatforma göre aktif abone, 7 günlük gönderilen/ulaşan/başarısız, 30 günlük büyüme, son kampanyalar
Kampanya raporukutular, huni, saatlik seri, A/B tablosu, başarısızlık kodları, atlanma nedenleri, platform kırılımı
GET /v1/campaigns/:id/statskendi panelleriniz için stats + rates
Webhook'larher olay neredeyse anlık, ambarınıza

Platform notları

PlatformdelivereddismissedNotlar
iOSNotification Service Extension isterNSE olmadan iOS iletim oranı %0 okurken açılmalar saymaya devam eder.
AndroidData-only mesajlar bunu mümkün kılar; zorla durdurulmuş uygulama bildiremez.
WebService worker ikisini de bildirir. Safari'de buton yok, dolayısıyla clicked yok.

Dışa aktarma

  • Kampanya başına: Olayları CSV indirts, type, platform, userId, subscriptionId, reason, code, invalidated.
  • Kullanıcılar ve abonelikler: mevcut filtreye uyan CSV, liste sayfalarından.
  • Token ve endpoint'ler hiçbir dışa aktarımda yoktur.

Gerisi için events koleksiyonu sizindir ({ appId, campaignId, type, ts } şekli); ya da webhook'larla olduğu anda dışarı akıtın.