מפעיל צריך גישה בזמן אמת לצ'אטבוטים, אבל לא תמיד יש לו מחשב בהישג יד. אפליקציה ניידת לניהול בוטים פותרת את זה: ניטור שיחות, התערבות ידנית, מעבר בין תרחישים — הכל מהטלפון. הניסיון שלנו מראה שפאנל כזה מאיץ את זמן התגובה לאירועים פי 3 בהשוואה לפתרון שולחני. לדוגמה, עבור רשת קמעונאית עם 20 מפעילים, יישמנו אפליקציה — זמן התגובה לשיחה ירד מ-45 ל-15 שניות (שיפור של 67%). עם ניסיון של למעלה מ-5 שנים ו-20+ פרויקטים מוצלחים, אנו מספקים פיתוח אפליקציות ניידות חזק לניהול צ'אטבוטים. צרו קשר לקבלת הצעת מחיר מותאמת אישית ולראות כיצד הפתרון מתאים לתשתית שלכם.
אילו בעיות אנחנו פותרים
השתלטות אנושית — הפונקציה המרכזית. כאשר בוט לא יכול לטפל בבקשה או שמשתמש מבקש מפעיל, השיחה מועברת לאדם. המפעיל מקבל התראה, פותח את הצ'אט, עונה, ומחזיר שליטה לבוט. זמן השהיה הוא קריטי: אם לא מטפלים במהירות, הלקוח עוזב. אנו משתמשים ב-FCM בעדיפות גבוהה עם data payload באנדרואיד ו-APNs ב-iOS — האפליקציה מתעוררת אפילו במצב Doze. WebSocket שומר על החיבור להחלפת הודעות מיידית. זמן השהיה אופייני למשלוח התראות הוא פחות משתי שניות, מאומת על ידי בדיקות על מכשירים במצב המתנה.
ניהול תרחישי בוט — לא כל המפעילים צריכים לערוך תשובות. מודל תפקידים מפריד הרשאות: מפעיל רק צ'אט, מנהל גם תרחישים. זה מפחית את הסיכון לשגיאות מקריות בסביבת ייצור. בפרויקט אחד, תיעדנו הפחתה של 90% בשינויים לא מכוונים לאחר יישום תפקידים. אנו תומכים גם בתכונות מתקדמות כמו גרסאות תרחישים וחזרה לגרסה קודמת.
ניטור צ'אטבוטים — לראות כמה ממתינים למפעיל, כמה בטיפול, ואילו תקועים. מיון לפי זמן המתנה מבטיח שהשיחות הקריטיות ביותר מטופלות ראשונות. סטטיסטיקות: תחת עומס של 500 שיחות בשעה, זמן הטיפול הממוצע בשיחות קריטיות אינו עולה על 10 שניות. מנגנון תור השיחות עם SLA מבטיח שאף לקוח לא נשכח.
איך תור השיחות עם SLA עובד (שלב אחרי שלב)
- העברת שיחה: כאשר בוט לא יכול לטפל בבקשה, הוא מפרסם אירוע ל-RabbitMQ.
- הקצאת תור: האירוע מקושר לתור של מפעילים פנויים. אם כל המפעילים עסוקים, השיחה נכנסת לתור המתנה עם טיימר SLA.
- התראה Push: האפליקציה שולחת התראת FCM/APNs בעדיפות גבוהה למפעיל המוקצה (או לכולם אם אין פנויים).
- פעולת מפעיל: המפעיל פותח את האפליקציה, מקבל את השיחה, ומתקשר דרך WebSocket.
- ניטור SLA: אם לא התקבלה תוך N דקות, נשלחת התראה חוזרת. שיחות באיחור מוסללות.
- חזרה לבוט: לאחר פתרון, המפעיל יכול להחזיר את השיחה לבוט.
איך אנחנו עושים את זה: טכנולוגיות ודוגמה
אנו משתמשים ב-Swift 5.9+ (SwiftUI) ל-iOS, Kotlin (Jetpack Compose) לאנדרואיד, ו-Flutter 3.x לפלטפורמות מרובות. להלן קטע מפתח של צ'אט המפעיל ב-WebSocket ב-iOS:
לחצו להרחבת דוגמת קוד
class OperatorChatViewModel: ObservableObject {
@Published var messages: [Message] = []
@Published var isConnected = false
private var wsTask: URLSessionWebSocketTask?
func connect(conversationId: String) {
let url = URL(string: "wss://api.example.com/operator/conversations/\(conversationId)/ws")!
wsTask = URLSession.shared.webSocketTask(with: url)
wsTask?.resume()
isConnected = true
receiveNext()
}
private func receiveNext() {
wsTask?.receive { [weak self] result in
guard let self else { return }
if case .success(let msg) = result, case .string(let text) = msg, let decoded = try? JSONDecoder().decode(Message.self, from: Data(text.utf8)) {
DispatchQueue.main.async {
self.messages.append(decoded)
}
}
self.receiveNext()
}
}
func send(_ text: String) {
let msg = OutgoingMessage(text: text, conversationId: conversationId)
let payload = try! JSONEncoder().encode(msg)
wsTask?.send(.string(String(data: payload, encoding: .utf8)!)) { _ in }
}
func returnToBot() {
Task {
await conversationService.handoff(conversationId, to: .bot)
}
}
}תור מפעילים: אם מספר מפעילים פנויים, השתמשו ב-round-robin או first-click. אם כולם עסוקים, השיחה נכנסת לתור, טיימר SLA מתחיל. התראה חוזרת לאחר N דקות.
למה FCM בעדיפות גבוהה במקום התראה רגילה?
התראה רגילה באנדרואיד לא מעירה את האפליקציה במצב Doze. payload מסוג class OperatorChatViewModel: ObservableObject { @Published var messages: [Message] = [] @Published var isConnected = false private var wsTask: URLSessionWebSocketTask? func connect(conversationId: String) { let url = URL(string: "wss://api.example.com/operator/conversations/\(conversationId)/ws")! wsTask = URLSession.shared.webSocketTask(with: url) wsTask?.resume() isConnected = true receiveNext() } private func receiveNext() { wsTask?.receive { [weak self] result in guard let self else { return } if case .success(let msg) = result, case .string(let text) = msg, let decoded = try? JSONDecoder().decode(Message.self, from: Data(text.utf8)) { DispatchQueue.main.async { self.messages.append(decoded) } } self.receiveNext() } } func send(_ text: String) { let msg = OutgoingMessage(text: text, conversationId: conversationId) let payload = try! JSONEncoder().encode(msg) wsTask?.send(.string(String(data: payload, encoding: .utf8)!)) { _ in } } func returnToBot() { Task { await conversationService.handoff(conversationId, to: .bot) } } } עם עדיפות data תמיד נמסר. זה מבטיח שהמפעיל יקבל קריאה גם בטלפון ישן. ב-iOS, אנו משתמשים ב-APNs עם עדיפות דומה. השוואה:
| טכנולוגיה | עדיפות | התנהגות ב-Doze | זמן השהיה אופייני |
|---|---|---|---|
| FCM data + עדיפות גבוהה | גבוהה | מעירה | < 5 שניות |
| התראת FCM | רגילה | לא מעירה | > 30 שניות |
| התראה קריטית APNs | קריטית | מעירה | < 2 שניות |
מקור: תיעוד Firebase Cloud Messaging
FCM בעדיפות גבוהה מהיר פי 6 מהתראה רגילה במצב Doze, ומבטיח התראה כמעט מיידית.
השוואת פלטפורמות: iOS מול אנדרואיד
| פרמטר | iOS | אנדרואיד |
|---|---|---|
| אישור Push | APNs דרך Keychain | FCM לפי פרויקט |
| מצב רקע | Background fetch עם מגבלת 30 שניות | Doze עם חלונות |
| הישרדות WebSocket | עד 30 דקות | עד 10 דקות |
| קישורים עמוקים | Universal Links | App Links |
לפלטפורמות מרובות, אנו מציעים פיתוח Flutter, שמקצר את זמן היציאה לשוק ב-40% בהשוואה לאפליקציות native נפרדות.
מה כלול
- רשימת שיחות מקובצות לפי סטטוס עם עדכונים בזמן אמת
- מסך צ'אט מפעיל עם WebSocket
- התראות Push לשיחות חדשות (FCM בעדיפות גבוהה)
- תור עם טיימר SLA והתראות חוזרות
- מודל תפקידים (מפעיל / מנהל)
- ניהול תרחישים (הפעלה/כיבוי, עריכת תשובות)
- אנליטיקה: זמן תגובה, מספר שיחות שהועברו, הפרות SLA
לוח זמנים ותמחור
לוח זמנים משוער: 8 עד 14 ימי עבודה. העלות מחושבת באופן אישי — השקעה אופיינית מתחילה ב-$5,000 לפלטפורמה (iOS או אנדרואיד). יישום פאנל מפעיל נייד מחזיר את עצמו תוך 3–6 חודשים על ידי האצת עיבוד השיחות והפחתת עומס על מומחי תורן — לקוחות מדווחים על חיסכון ממוצע של $12,000 בשנה. אנו מבטיחים SLA לזמן תגובה של התראות push (לא יותר מ-5 שניות) וחיבור WebSocket ללא הפרעות. במשך 5 שנים, השלמנו יותר מ-20 פרויקטים של ניהול בוטים — קבלו ייעוץ כדי לדון במשימות שלכם ולהעריך את ההשפעה הכלכלית של יישום פאנל מפעיל נייד.







