דלגו לתוכן

ערכות SDK לנייד

ערכות ה-SDK לנייד הן המקבילה של וידג’ט הווב באפליקציות שלכם: הלקוחות שלכם מקבלים תמיכה בתוך האפליקציה עם היסטוריית שיחות מלאה והתראות פוש, והנציגים שלכם רואים את השיחות האלה באותה תיבת דואר נכנס. אלה אינן אפליקציות לנציגים בצוות שלכם; אלה קו מוצרים נפרד.

פלטפורמה שפה וסביבת ריצה הפצה מצב
iOS Swift 5.9+, iOS 15+ Swift Package Manager, CocoaPods בפיתוח
Android Kotlin 1.9+, Android 8.0 (API 26)+ Maven Central בפיתוח
React Native עוטפת את ערכות ה-SDK הנייטיב npm מתוכנן (בטא)
Flutter עוטפת את ערכות ה-SDK הנייטיב pub.dev מתוכנן (בטא)

ערכות ה-SDK הנייטיב הן המחייבות; העטיפות יוצאות אחריהן. אפליקציות לשעונים או לטלוויזיה וערכות SDK למחשב שולחני אינן בהיקף; למחשב שולחני השתמשו בווידג’ט הווב.

הודעות טקסט, קבצים מצורפים, הודעות קוליות, תמונות ווידאו, סשנים אנונימיים ומזוהים, ערכות עיצוב, אווטאר ומיתוג מותאמים, 40 שפות, עוזר ה-AI, היסטוריית שיחות, תגים של הודעות שלא נקראו, התראות פוש, קישורי עומק, חיוג בלחיצה דרך החייגן של הטלפון, תור לא מקוון עם סנכרון ברקע, פתיחה ביומטרית של הצ’אט, תמיכה ב-VoiceOver וב-TalkBack, מצב כהה. גודל יעד לאחר קומפילציה: 5 MB או פחות לכל פלטפורמה.

שיחות WebRTC בתוך האפליקציה ושיתוף מסך מצד הלקוח יגיעו בגרסה מאוחרת יותר. גלישה משותפת זמינה באינטרנט בלבד: מערכות ההפעלה לנייד אינן מאפשרות ל-SDK של צד שלישי לצפות במסך או לשלוט בו.

אתחלו פעם אחת, מוקדם במחזור החיים של האפליקציה:

// iOS
let config = RolChatConfig(
siteId: "site_abc123",
apiKey: "pk_live_…", // public key - safe to ship in the app
region: .eu, // eu / us
theme: RolChatTheme(primaryColor: .blue)
)
RolChat.shared.initialize(config: config)
// Android
val config = RolChatConfig.Builder()
.siteId("site_abc123")
.apiKey("pk_live_…")
.region(Region.EU)
.theme(RolChatTheme(primaryColor = Color.Blue))
.build()
RolChat.initialize(context, config)

זהו את המשתמש אחרי שהוא מתחבר, ונתקו אותו כשהוא מתנתק:

RolChat.shared.identify(userId: "user_12345", email: "alice@example.com", name: "Alice",
metadata: ["tier": "gold"])
RolChat.shared.logout() // on host-app sign-out, or the next user sees this history

הציגו את הממשק:

RolChat.shared.openChat() // modal
RolChat.shared.openChat(conversationId: id) // a specific conversation
RolChat.shared.openChatInline(view) // inside your own layout
RolChat.shared.close()

פונקציות callback: rolChatDidOpen, rolChatDidClose, rolChatDidReceiveMessage(_:), rolChatDidFailToSend(_:). ה-API הציבורי בטוח לשימוש מה-thread הראשי ב-iOS ומ-threads ברקע ב-Android; החיבורים נסגרים כשהאפליקציה עוברת לרקע ומתחדשים כשהיא חוזרת לחזית.

  • אנונימי: מזהה סשן של המכשיר שנשמר ב-keychain או בהעדפות מוצפנות שורד עדכוני אפליקציה וקשור למכשיר, לא למשתמש. הוא נמחק אחרי 90 יום של חוסר פעילות.
  • מזוהה: אחרי identify, הסשן מקודם וממוזג עם ההיסטוריה האנונימית באותו מכשיר כשאין עמימות. זיהוי זהות בין ערוצים עוקב אחר כללי גרף הזהויות וההסכמה.
  • זיהוי מהימן: השרת שלכם חותם על אסימון עם הטענות של המשתמש; ה-SDK מעביר אותו ו-RolChat מאמת את החתימה לפני קידום הסשן. identify לא חתום עובד, אבל ברמת אמון נמוכה יותר.

מפתח ה-API הציבורי באפליקציה בטוח מעצם התכנון: הוא מוגבל להיקף האתר ולמגבלת קצב.

פלטפורמה תעבורה מה אתם מספקים
iOS APNs מפתח אימות APNs בלוח הבקרה של RolChat
Android FCM קובץ ה-JSON של חשבון השירות של FCM
RolChat.shared.setPushToken(deviceToken, type: .apns)
if RolChat.shared.handleNotification(userInfo) { return } // consumed: a chat message

טקסט ההתראה מתורגם בצד השרת לשפת המשתמש. התראות עשירות תומכות באווטאר, מענה מתוך ההתראה וסימון כנקרא. ה-SDK לעולם אינו מבקש הרשאת פוש בעצמו; קראו ל-requestPushPermission() כשזה מתאים לתהליך ההטמעה שלכם. ביטול נעשה עם setPushEnabled(false) או דרך הגדרות מערכת ההפעלה; שניהם נרשמים.

ניהול גרסאות סמנטי מחמיר. שתי גרסאות ראשיות נתמכות במקביל, עם שנה למעבר אחרי גרסה ראשית. גרסאות משניות יוצאות מדי חודש; תיקוני אבטחה יוצאים מיד; גרסאות ראשיות מוכרזות שלושה חודשים מראש. SDK שהוצא משימוש או שאינו נתמך רושם אזהרה בעלייה, ולוח הבקרה מציג אותה תחת אינטגרציות.

אין מעקב מעבר למה שאתם מפעילים, ממשקי ההסכמה משתמשים בדפוסים הנייטיב של הפלטפורמה, ובקשות של נושאי מידע לפי GDPR, CCPA ו-LGPD מכסות סשנים של ה-SDK כמו כל ערוץ אחר. קבצים מצורפים נדחסים במכשיר, מועלים לכתובות URL חתומות ונסרקים לאיתור וירוסים לפני שנציגים רואים אותם.