הגדרת התראות Push לאפליקציית 1C-Bitrix לנייד

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

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

שאלות נפוצות

הגדרת התראות Push לאפליקציית 1C-Bitrix למובייל

יישומים ניידים הבנויים על 1C-Bitrix (Bitrix Mobile) כוללים מנגנון התראות Push מובנה. אך ללא הגדרה נכונה, ההתראות לא מגיעות למשתמשים. אנו מטפלים בהגדרת Push החל מקבלת מפתחות ועד סקריפטים מותאמים אישית עם פילוח ובקרת תדירות. יש לנו ניסיון רב עם Bitrix24 והשלמנו למעלה מ-50 פרויקטים של אפליקציות מובייל. מקרה טיפוסי: חנות איקומרס עם למעלה מ-10,000 מוצרים שבה התראות Push על ירידת מחירים הגדילו את שיעור החזרת המשתמשים ב-25%. ההגדרה ארכה 3 ימים וכללה סקריפט מותאם אישית. קבלו הערכת פרויקט מהמהנדסים שלנו.

מדוע התראות Push מפסיקות לעבוד לאחר בניית האפליקציה?

מפתחים נתקלים לעיתים קרובות במצב: האפליקציה נבנתה, פורסמה, אך הודעות Push אף פעם לא מגיעות. הסיבה היא בדרך כלל מפתחות Firebase Cloud Messaging (Android) או APNs (iOS) שגויים, או תבניות התראות שהוגדרו בצורה לא נכונה בלוח הניהול של Bitrix. על פי סטטיסטיקות, 60% מבעיות ה-Push נפתרות על ידי רישום נכון של המפתחות.

Firebase Cloud Messaging (Android)

  1. בקונסולת Firebase, צרו פרויקט והוסיפו אפליקציית Android עם ה-Bundle ID הנכון.
  2. הורידו את google-services.json והניחו אותו בפרויקט Bitrix Mobile.
  3. העתיקו את ה-Server Key מ-Firebase Console → Cloud Messaging.

בלוח הניהול של Bitrix: הגדרות → הגדרות מוצר → יישומים ניידים → Push ו-Pull — הדביקו את ה-Firebase Server Key.

APNs (iOS)

  1. ב-Apple Developer: צרו מפתח APNs (קובץ .p8), שימו לב ל-Key ID ול-Team ID.
  2. ב-Bitrix: הדביקו את תוכן קובץ ה-.p8, Key ID, Team ID ו-Bundle ID.

לאחר מכן, התראות Bitrix הסטנדרטיות (הזמנה חדשה, שינויי סטטוס דרך אירועים סטנדרטיים) יתחילו לעבוד.

השוואה בין FCM ל-APNs

תכונה FCM (Android) APNs (iOS)
סוג מפתח Server Key (מחרוזת או JSON) קובץ .p8 עם Key ID ו-Team ID
אבטחה דורש הגדרת SHA נוספת אימות תעודה מובנה
משלוח ברקע WorkManager/JobScheduler Background Task Framework
תוחלת חיים של טוקן יכול להשתנות בעדכון אפליקציה יציב עד להסרת האפליקציה
ביטול טוקנים מיושנים אוטומטי בתגובת FCM ידני על HTTP 410 מ-APNs

כיצד ליישם התראות Push מותאמות אישית לתרחישי איקומרס?

לשליחת התראות לא סטנדרטיות (לדוגמה, "ההזמנה שלך נשלחה" עם מספר מעקב או "ירידת מחיר על פריט ברשימת המשאלות"), השתמשו במודול pull ובמחלקה \Bitrix\Pull\MobileNotify. מנגנון מובנה זה מקצר את זמן הפיתוח פי שלושה בהשוואה ליישום ידני של WebSocket.

use Bitrix\Pull\MobileNotify; // Уведомление о статусе заказа

public function sendOrderStatusPush(int $userId, array $order): void
{
    if (!\Bitrix\Main\Loader::includeModule('pull')) {
        return;
    }

    $message = [
        'module_id' => 'local.shop',
        'command' => 'orderStatusChanged',
        'expiry' => 3600, // секунды
        'user_list' => [$userId],
        'message' => "Заказ #{$order['ID']}: статус изменён на «{$order['STATUS']}»",
        'params' => [
            'orderId' => $order['ID'],
            'status' => $order['STATUS'],
            'trackCode' => $order['TRACK_CODE'] ?? '',
        ],
        'push' => [
            'sound' => 'default',
            'badge' => 1,
        ],
    ];

    MobileNotify::send($message);
}

באפליקציה הניידת (אם נבנתה בהתאמה אישית עם React Native), מטפל האירועים עבור use Bitrix\Pull\MobileNotify; // Уведомление о статусе заказа public function sendOrderStatusPush(int $userId, array $order): void { if (!\Bitrix\Main\Loader::includeModule('pull')) return; $message = [ 'module_id' => 'local.shop', 'command' => 'orderStatusChanged', 'expiry' => 3600, // секунды 'user_list' => [$userId], 'message' => "Заказ #{$order['ID']}: статус изменён на «{$order['STATUS']}»", 'params' => [ 'orderId' => $order['ID'], 'status' => $order['STATUS'], 'trackCode' => $order['TRACK_CODE'] ?? '', ], 'push' => [ 'sound' => 'default', 'badge' => 1, ], ]; MobileNotify::send($message); } מעדכן את מסך ההזמנה.

התראות ירידת מחיר (רשימת משאלות)

טריגר — מטפל אירועים לעדכוני מחירים בקטלוג:

\Bitrix\Main\EventManager::getInstance()->addEventHandler(
    'catalog',
    'OnPriceUpdate',
    function (\Bitrix\Main\Event $event) {
        $priceData = $event->getParameter('fields');
        $productId = $priceData['PRODUCT_ID'];
        $newPrice = $priceData['PRICE'];

        // Находим пользователей, у которых товар в вишлисте
        $wishlistUsers = WishlistTable::getUsersByProduct($productId);

        foreach ($wishlistUsers as $userId) {
            $oldPrice = $this->getLastNotifiedPrice($userId, $productId);

            if ($newPrice < $oldPrice * 0.95) {
                // скидка более 5%
                $this->sendPricePush($userId, $productId, $oldPrice, $newPrice);
            }
        }
    }
);

פילוח והגבלת תדירות

שליחת Push המונית דרך Bitrix — נעשית על ידי מעבר על משתמשים עם מגבלת תדירות. משתמשים יכולים להשבית סוגי התראות מסוימים בהגדרות האפליקציה. Bitrix מאחסן את module.local.shop.orderStatusChanged בטבלת \Bitrix\Main\EventManager::getInstance()->addEventHandler( 'catalog', 'OnPriceUpdate', function (\Bitrix\Main\Event $event) { $priceData = $event->getParameter('fields'); $productId = $priceData['PRODUCT_ID']; $newPrice = $priceData['PRICE']; // Находим пользователей, у которых товар в вишлисте $wishlistUsers = WishlistTable::getUsersByProduct($productId); foreach ($wishlistUsers as $userId) { $oldPrice = $this->getLastNotifiedPrice($userId, $productId); if ($newPrice < $oldPrice * 0.95) { // скидка более 5% $this->sendPricePush($userId, $productId, $oldPrice, $newPrice); } } } ); , ואת מצב ההרשאות ב-device_token.

מגבלת תדירות: לא יותר מ-Push אחד מסוג מסוים בתוך N שעות למשתמש בודד — מיושם עם לוגיקת PHP, בדיקה לפני שליחה.

if ($this->canSendPush($userId, 'price_drop', 24)) { // не чаще раза в сутки
    MobileNotify::send($message);
    $this->recordPushSent($userId, 'price_drop');
}

ניטור משלוח

FCM ו-APNs מחזירים סטטוסי משלוח. טוקנים שלא נמסרו (אפליקציה הוסרה, מכשיר הוחלף) חייבים להיות מבוטלים — אחרת טבלת הטוקנים תהיה עמוסה. Bitrix מטפל בתגובות FCM אוטומטית כאשר הוא מוגדר כראוי. עבור APNs עם שליחה מותאמת אישית, בדקו HTTP 410 (טוקן לא חוקי) ומחקו את הטוקן מ-b_pull_client. שמירה על טבלת טוקנים נקייה חוסכת עד 30% מזמן המנהל.

שלבי העבודה

הרחבו תוכנית עבודה מפורטת
  1. ביקורת תשתית קיימת — בדיקת גרסת Bitrix, סטטוס מודול pull, טוקנים קיימים.
  2. קבלת מפתחות — הרשמה ב-Firebase Console וב-Apple Developer, יצירת מפתחות.
  3. הגדרת לוח Bitrix — הזנת Server Key, מפתחות APNs, הרצת בדיקה.
  4. פיתוח סקריפטים מותאמים אישית — כתיבת פקודות, אירועים, אינטגרציה עם האפליקציה הניידת.
  5. בדיקות — אימות על Android ו-iOS, סימולציה של כשלי משלוח.
  6. פריסה וניטור — הפעלה בסביבת ייצור, מעקב אחר משלוח למשך שבועיים.

מה כלול בעבודה

  • יצירת פרויקטים ב-Firebase וב-Apple Developer, קבלת ורישום מפתחות
  • הגדרת FCM ו-APNs בלוח הניהול של Bitrix
  • בדיקת התראות סטנדרטיות (הזמנות, סטטוסים)
  • פיתוח התראות Push מותאמות אישית: ירידת מחיר, מבצעים חדשים, תזכורות
  • פילוח: שליחה לקבוצות משתמשים
  • הגבלת תדירות, ביטול טוקנים מיושנים
  • תיעוד אינטגרציה והעברת גישה
  • אחריות משלוח: ניטור למשך שבועיים לאחר ההשקה

לוח זמנים

  • התראות סטנדרטיות: יום עד יומיים
  • סקריפטים מותאמים אישית עם פילוח: שבוע עד שבועיים

השוואה בין גישה סטנדרטית למותאמת אישית

פרמטר Push סטנדרטי Push מותאם אישית
זמן הגדרה 1–2 ימים 1–2 שבועות
גמישות רק אירועי מערכת כל תרחיש עסקי
פילוח לא לפי קבוצות, תדירות, תחומי עניין
בקרת משלוח דרך לוגי Bitrix ניטור מותאם אישית, ניסיונות חוזרים

קבלו הערכת פרויקט. בקשו ייעוץ מהנדס לדיון בפרטים.