דמיינו אפליקציה עם אלפי משתמשים — תמיכה בדוא"ל טובעת בכאוס. צ'אט בתוך האפליקציה הפך לסטנדרט, אבל לא כל SDK יכול לעמוד בעומס. Freshdesk SDK פופולרי, אבל נתקלנו באובדן היסטוריות לאחר התקנה מחדש, בקונפליקטים של ערכות נושא באנדרואיד, ובצריכת זיכרון בלתי צפויה. הניסיון שלנו עם שילוב Freshdesk SDK משתרע על פני יותר מ-50 פרויקטים — מפינטק ועד מסחר אלקטרוני. ה-SDK מכסה את הבסיס: צ'אט, שאלות נפוצות, התראות push, וניהול פניות. עם זאת, התיעוד לעיתים קרובות מפגר אחרי הגרסאות, וללא ניסיון מעשי, אפשר בקלות להיתקל בבעיות. בואו נפרק את הנקודות המרכזיות לשילוב חלק.
למה לבחור ב-Freshdesk SDK?
Freshdesk SDK הוא הבחירה כשצריך מערכת ניהול פניות עם צ'אט אבל רוצים להימנע מתמחור ארגוני של Zendesk או Intercom. Freshdesk זול יותר עם פונקציונליות דומה ומתאים לפרויקטים עם תקציבים מבוקרים. ה-SDK תומך בצ'אט, שאלות נפוצות, התראות push, ו-REST API. השילוב אורך בין יומיים לשבוע — תלוי בהתאמות הנדרשות. לדוגמה, תצורה בסיסית עם צ'אט ושאלות נפוצות מוכנה תוך 2–3 ימים, בעוד הגדרה מלאה עם Restore ID ותמיכה רב-לשונית אורכת עד שבוע. ב-90% מהמקרים, צוותים מצליחים להישאר במסגרת הזמנים הזו.
איך אנחנו מחברים את ה-SDK
כדי להתקין את ה-SDK, בצעו את השלבים הבאים:
- הוסיפו את התלות לפרויקט שלכם.
- הגדירו את האתחול בנקודת הכניסה של האפליקציה.
- הגדירו התראות push (APNs/FCM).
- התאימו את ערכת הנושא למותג שלכם.
iOS
# Podfile pod 'FreshchatSDK' Freshchat SDK מוסיף כ-8–12 MB לגודל הקובץ הבינארי. עבור אפליקציות שבהן הגודל קריטי, יש לקחת זאת בחשבון לפני תחילת השילוב.
Android
// build.gradle.kts implementation("com.freshchat.consumer.sdk:freshchat-android:5.x.x") עבור אנדרואיד, נדרש # Podfile pod 'FreshchatSDK' מינימלי — אם הפרויקט שלכם נמוך יותר, תצטרכו להוריד אותו או להשתמש בטעינה מותנית.
אתחול (iOS)
import FreshchatSDK
let config = FreshchatConfig(
appID: "YOUR_APP_ID",
andAppKey: "YOUR_APP_KEY"
)
config.teamMemberInfoVisible = true
config.showNotificationBanner = true
Freshchat.sharedInstance().initWith(config)לפי התיעוד הרשמי של Freshdesk, יש לאתחל את ה-SDK בנקודת הכניסה של האפליקציה. באנדרואיד, האתחול דומה: צרו // build.gradle.kts implementation("com.freshchat.consumer.sdk:freshchat-android:5.x.x") ב-minSdk = 21.
הגדרת התראות Push עבור Freshchat
התראות push הן ערוץ מפתח לתגובות מיידיות. Freshchat משתמש בערוץ push משלו דרך APNs ב-iOS ו-FCM באנדרואיד. עליכם להעלות מפתח p8 או תעודת p12 ב-Freshdesk Admin → Mobile App. באפליקציה, העבירו את ה-APNs token בעת הרישום:
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
Freshchat.sharedInstance().setPushRegistrationToken(deviceToken)
}בעת קבלת התראה, בדקו אם היא שייכת ל-Freshchat:
func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable: Any]) {
if Freshchat.sharedInstance().isFreshchatNotification(userInfo) {
Freshchat.sharedInstance().handleRemoteNotification(userInfo, andAppState: application.applicationState)
}
}קטע קוד זה הוא טיפול סטנדרטי. אל תשכחו להגדיר App Groups לשיתוף נתוני push בין האפליקציה והרחבות.
שגיאות שילוב נפוצות
להלן טבלה של בעיות נפוצות והפתרונות שלהן:
| בעיה | פתרון |
|---|---|
| קונפליקט ערכת נושא באנדרואיד | ירשו את ערכת הנושא של Freshchat מהבסיס שלכם באמצעות עקיפת import FreshchatSDK let config = FreshchatConfig( appID: "YOUR_APP_ID", andAppKey: "YOUR_APP_KEY" ) config.teamMemberInfoVisible = true config.showNotificationBanner = true Freshchat.sharedInstance().initWith(config) ב-FreshchatConfig |
| אובדן היסטוריית צ'אט | יישמו את מנגנון Restore ID: שמרו את ה-ID בשרת ושחזרו אותו לאחר התקנה מחדש |
| לוקליזציה של מחרוזות | עקפו מחרוזות SDK באמצעות Application.onCreate() (iOS) או func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) { Freshchat.sharedInstance().setPushRegistrationToken(deviceToken) } (Android) עם אותם מפתחות |
| אי-תאימות ProGuard | הוסיפו כללי שמירה: func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable: Any]) { if Freshchat.sharedInstance().isFreshchatNotification(userInfo) { Freshchat.sharedInstance().handleRemoteNotification(userInfo, andAppState: application.applicationState) } } |
דוגמה לתצורת ProGuard
```proguard -keep class com.freshchat.** { *; } -keep class com.freshchat.consumer.** { *; } -keepclassmembers class * { @com.freshchat.consumer.sdk.annotation.Keep *; } ```חשוב: מאפיינים מותאמים אישית מועברים לסוכן — הם נראים בלוח Freshdesk בעת צפייה בצ'אט. אל תעבירו נתונים רגישים (סיסמאות, מספרי כרטיס מלאים) אפילו בצורה מוסווית.
שחזור היסטוריית צ'אט: מה צריך לדעת
לאחר מחיקת האפליקציה, היסטוריית הצ'אט אובדת אם לא מיישמים את מנגנון Restore ID. Freshchat יוצר ID ייחודי באתחול הראשון — עליכם לשמור אותו בשרת ולשחזר אותו בסשן הבא על ידי קריאה ל-FreshchatTheme. זה קריטי עבור אפליקציות שבהן המשכיות התמיכה חשובה. Restore ID אינו תלוי ב-device tokens ומאפשר שחזור הצ'אט אפילו במכשיר חדש. זמן היישום הממוצע הוא 2–3 שעות.
מה כלול בשילוב
- הגדרת צ'אט ושאלות נפוצות עם תגיות מותאמות אישית
- שילוב התראות push (APNs / FCM)
- התאמת ערכת נושא למותג שלכם
- יישום Restore ID לשימור היסטוריה
- תיעוד שילוב והדרכת צוות
- תמיכה במהלך השחרור ל-App Store ו-Google Play
לוח זמנים
| שלב | זמן |
|---|---|
| שילוב בסיסי (צ'אט + push) | 2–4 ימים |
| התאמת ערכת נושא | +1–2 ימים |
| Restore ID ותמיכה רב-לשונית | +2–3 ימים |
| מחזור מלא | שבוע |
שילוב Freshdesk SDK מהיר ב-50% משילוב Zendesk SDK לפי נתוני הפרויקטים שלנו. בממוצע, לקוחות חוסכים עד 40% מעלויות השילוב של Zendesk. לשילוב מוצלח של Freshdesk SDK, בצעו את השלבים הבאים. המחיר מחושב באופן אישי. צרו קשר להערכת פרויקט ונכין הצעה תוך יום אחד. קבלו ייעוץ על שילוב Freshdesk SDK ובקשו הדגמה על ההתקנה שלכם.
אנו מבטיחים פעולה תקינה של התראות push ושימור היסטוריית צ'אט. הניסיון שלנו עם יותר מ-50 פרויקטים עוזר להימנע ממלכודות נפוצות. 95% מהשילובים שלנו מסתיימים במסגרת הזמן המשוערת, עם אחוז הצלחה של 98%.







