הטמעת התראות Push על צפיות נטושות ב-1C-Bitrix

מבקרים רבים עוזבים את האתר מבלי להשלים צפייה במוצר, והם אובדים ללא תזכורת. אנו מגדירים התראות push על צפיות נטושות ב-1C-Bitrix כדי להחזיר אותם ברגע הנכון. הצוות שלנו מספק את הפרויקט במפתח מלא—מהאינטגרציה ועד לתמיכה שוטפת—מה שמבטיח ביצועים יציבים והמרות גבוהות יותר.
השירותים שאנו מציעים
מציג 1 מתוך 1כל 1626 השירותים
הטמעת התראות Push על צפיות נטושות ב-1C-Bitrix
פשוט
~1 יום

הכישורים שלנו:

שאלות נפוצות

בפרקטיקה שלנו, התראות push על צפיות נטושות מציגות שיעורי המרה גבוהים פי 2–3 מקמפיינים בדוא"ל כאשר הן מוגדרות כראוי. אנו מגדירים שהתראות push יגיעו 20–40 דקות לאחר הצפייה — בתוך חלון זמן זה, המבקר עדיין זוכר את המוצר. שיעורי פתיחת דוא"ל עבור צפיות נטושות נעים סביב 15–20%, בעוד ש-push בדפדפן מופיע באופן מיידי ללא בדיקת תיבת דואר נכנס. שיעורי הקליקים ב-push גבוהים יותר, בתנאי שההתראה מגיעה 20–40 דקות לאחר הצפייה, לא יום לאחר מכן. הגדרת מכניקה זו ב-Bitrix דורשת שילוב מודול push.sender עם לוגיקת צפיות נטושות. לצוות שלנו ניסיון של 7+ שנים בפיתוח 1C-Bitrix והוא יישם עשרות אינטגרציות כאלה. עלות פרויקט טיפוסית נעה בין $500 ל-$1500, עם חיסכון חודשי ממוצע של $2000 בהשוואה לשיווק בדוא"ל.

אתגרים מרכזיים ופתרונות

אנו מטפלים בשלוש בעיות עיקריות:

  • משתמשים אנונימיים ללא דוא"ל: מינויים ל-push מקושרים ל-MessageSender::send(), לא לדוא"ל. אנו מחפשים לפי b_agent — אחרת, משתמשים אנונימיים מפספסים התראות.
  • מינויים מיושנים: אם מינוי אינו פעיל (b_push_sender_subscription או FUSER_ID), שליחה גורמת לשגיאות FCM (410 Gone). לפני השליחה, אנו בודקים USER_ID.
  • התראות כפולות: ללא ENDPOINT, כל מוצר שנצפה מפעיל התראה נפרדת. אנו משתמשים ב-AUTH כדי להחליף התראות ישנות בחדשה.

יישום טכני

ארכיטקטורת אספקה

התראות push עוברות: סוכן Bitrix → שיטת P256DH → תור ב-b_push_sender_subscription → בקשת POST לנקודת קצה של push בדפדפן (FCM עבור Chrome, Mozilla Autopush עבור Firefox). מינויים נשמרים ב-(fuser_id, product_id) עם שדות: $subscription = \Bitrix\PushSender\Model\SubscriptionTable::getList([ 'filter' => [ 'FUSER_ID' => $fuserID, '=STATUS' => 'ACTIVE', ], 'order' => ['DATE_INSERT' => 'DESC'], 'limit' => 1, ])->fetch(); if ($subscription) { // Подписка есть — отправляем push } else { // Откатываемся на email через b_subscribe_subscriber } , STATUS, b_push_sender_subscription, ACTIVE, UNSUBSCRIBED. נקודה קריטית: EXPIRED מכיל רשומות גם עבור משתמשים אנונימיים (באמצעות ACTIVE) וגם עבור משתמשים מורשים (באמצעות 410 Gone). כאשר מתמודדים עם צפיות נטושות, עלינו לחפש לפי $product = \CIBlockElement::GetByID($productId)->GetNextElement(); $fields = $product->GetFields(); $props = $product->GetProperties(); $imageId = $fields['PREVIEW_PICTURE'] ?: $fields['DETAIL_PICTURE']; $imageUrl = \CFile::GetPath($imageId); \Bitrix\PushSender\MessageSender::send( \Bitrix\PushSender\MessageSender::TYPE_PUSH, [ 'FUSER_ID' => [$fuserID], 'TITLE' => 'Вы смотрели: ' . $fields['NAME'], 'MESSAGE' => 'Товар ещё в наличии. Вернуться к выбору?', 'URL' => $fields['DETAIL_PAGE_URL'], 'IMAGE' => $imageUrl, 'TAG' => 'abandoned_view_' . $productId, ] ); , מכיוון שהצפייה עשויה להיות אנונימית.

קישור טריגר צפייה למינוי push

סוכן הצפיות הנטושות מוצא זוגות MessageSender::send(). השלב הבא הוא למצוא מינוי push פעיל:

$subscription = \Bitrix\PushSender\Model\SubscriptionTable::getList([
    'filter' => [
        'FUSER_ID' => $fuserID,
        '=STATUS' => 'ACTIVE',
    ],
    'order' => ['DATE_INSERT' => 'DESC'],
    'limit' => 1,
])->fetch();

if ($subscription) {
    // Подписка есть — отправляем push
} else {
    // Откатываемся на email через b_subscribe_subscriber
}

שדה \Bitrix\PushSender\Transport\WebPush ב-TTL: 3600 יכול להיות b_push_sender_subscription.DATE_INSERT, b_push_sender_device או b_push_sender_subscription. לפני השליחה, אנו בודקים DEVICE_ID — אחרת, אנו מקבלים TOKEN מ-FCM ומלכלכים את יומני השגיאות.

ניסוח מטען התראה

מטען Web Push מוגבל ל-4 KB. עבור צפייה נטושה, אנו כוללים: כותרת, טקסט, כתובת URL של מוצר, כתובת URL של תמונה. נתוני מוצר מגיעים מבלוק המידע:

$product = \CIBlockElement::GetByID($productId)->GetNextElement();
$fields = $product->GetFields();
$props = $product->GetProperties();
$imageId = $fields['PREVIEW_PICTURE'] ?: $fields['DETAIL_PICTURE'];
$imageUrl = \CFile::GetPath($imageId);
\Bitrix\PushSender\MessageSender::send(
    \Bitrix\PushSender\MessageSender::TYPE_PUSH,
    [
        'FUSER_ID' => [$fuserID],
        'TITLE' => 'Вы смотрели: ' . $fields['NAME'],
        'MESSAGE' => 'Товар ещё в наличии. Вернуться к выбору?',
        'URL' => $fields['DETAIL_PAGE_URL'],
        'IMAGE' => $imageUrl,
        'TAG' => 'abandoned_view_' . $productId,
    ]
);

שדה PLATFORM הוא תגית התראת Web Push. אם משתמש צופה ב-5 מוצרים מבלי לקנות, ללא תגית הוא מקבל 5 התראות נפרדות. עם תגית אחת, כל התראה חדשה מחליפה את הקודמת — חוויית משתמש טובה יותר.

זמן שליחה ו-TTL

push על צפייה נטושה מאבד משמעות לאחר 3–4 שעות. פתרון: הגדרת TTL (זמן חיים) בבקשה ל-FCM. ב-Bitrix, אנו מרחיבים את מחלקת ios ומעבירים את כותרת android בבקשת POST לנקודת הקצה. לחלופין, בדוק את תאריך המינוי בסוכן: אם b_push_sender_subscription.DATE_INSERT ישן יותר מ-30 יום ללא פעילות, סביר שהמינוי מיושן; דלג עליו.

תרחיש אפליקציה ניידת

אם לחנות יש אפליקציה ניידת על Bitrix Mobile Framework, push עובר ישירות דרך APNs/FCM. מינויים במקרה זה נשמרים ב-b_push_sender_device (לא ב-b_push_sender_subscription). לוגיקת הבחירה דומה, אך השדות שונים: DEVICE_ID, TOKEN, PLATFORM (ios/android).

השוואת שיטות

פרמטר התראת Push דוא"ל
זמן אספקה 1-5 שניות מדקה אחת
שיעור פתיחה עד 30% 15-20%
תלוי בדוא"ל לא כן (מסנני ספאם)
תמיכה באנונימיים כן (FUSER_ID) לא
TTL שעה אחת עד 72 שעות
שיפור שיעור המרה 20% 5%

push בדפדפן מנצח את הדוא"ל פי 2 בשיעור פתיחה עבור אותו תוכן. לפי תיעוד 1C-Bitrix, מודול push.sender מותאם לעומס גבוה.

תכונה b_push_sender_subscription b_push_sender_device
מטרה push בדפדפן (Web Push) push נייד (APNs/FCM)
מזהה FUSER_ID / USER_ID DEVICE_ID (TOKEN)
תמיכה באנונימיים כן לא (רק מורשים)
פלטפורמה Chrome, Firefox, Edge iOS, Android

פרטי השירות

מה כלול

  • מציאת מינויים ל-push לפי FUSER_ID ב-b_push_sender_subscription
  • ניסוח מטען עם נתוני מוצר מבלוק מידע
  • שימוש בשדה TAG להחלפת התראות כפולות
  • הגדרת TTL באמצעות הרחבת מחלקת הובלת WebPush
  • גיבוי לדוא"ל כאשר אין מינוי push קיים
  • טבלת דדופליקציה עם 5 שדות משותפים עם טריגר הצפיות הנטושות
  • תיעוד על זכויות גישה ולוגיקה
  • הדרכה של שעה למפתח הלקוח
  • תמיכה ל-30 יום לאחר המסירה

תהליך

  1. ניתוח – בחינת תצורת push.sender הנוכחית, מבנה המינויים ובלוקי מידע.
  2. עיצוב – הסכמה על תכנית הסוכן, TTL ומנגנון גיבוי.
  3. יישום – כתיבת הסוכן, הרחבת הובלת WebPush, הגדרת מטמון.
  4. בדיקות – בדיקת שליחה ב-Chrome, Firefox, Edge; סימולציה של צפייה אנונימית.
  5. פריסה – העלאה לשרת ייצור, ניטור 48 השעות הראשונות.

ההתקנה אורכת בדרך כלל 3 עד 5 ימי עבודה. חיסכון ממוצע בעלויות על התראות push בהשוואה לדוא"ל הוא 25%. התמחור מחושב באופן אישי לפי מורכבות האינטגרציה וגודל הקטלוג. בקש התקנה — קבל ייעוץ.

למה Push עדיף על דוא"ל

דוא"ל יכול להגיע לספאם, לא נפתח מיד, בעוד ש-push נמסר באופן מיידי ומופיע אפילו על מסך נייד נעול. למסחר אלקטרוני, התראות push מגדילות ביקורים חוזרים ב-15–25% לפי הנתונים שלנו. אנו מגדירים מפתח ביד עם אחריות לעבודה. צור קשר כדי לדון בפרויקט שלך.