ערכות ה-SDK לנייד של Contact Center AI Platform (פלטפורמת CCAI) כוללות את Android SDK ו-iOS SDK. באמצעות ערכות ה-SDK האלה, אתם יכולים לספק ללקוחות תמיכה קולית ותמיכה בצ'אט ישירות באפליקציה שלכם לנייד ל-iOS או ל-Android.
יש כמה דרכים להגדיר אפליקציות לנייד כך שיפעלו עם CCAI Platform, כולל שילוב של ערכות SDK לנייד באפליקציות לנייד, כמו שמוסבר במדריך ל-Android SDK או במדריך ל-iOS SDK. אפשר גם לשלב את ערכות ה-SDK לנייד באפליקציות לנייד באמצעות Flutter או React Native.
אינטגרציה באמצעות Flutter
בקטע הזה מפורטים השלבים הראשונים לשימוש ב-Flutter כדי לשלב את ערכות ה-SDK לנייד באפליקציות לנייד. השלבים בקטע הזה זהים ל-Android SDK ול-iOS SDK. אחרי שמסיימים את השלבים האלה, אפשר להמשיך באמצעות הוראות שספציפיות ל-Android SDK או ל-iOS SDK, בהתאם לפלטפורמה לנייד.
אין צורך ב-Flutter כדי לשלב את ערכות ה-SDK לנייד באפליקציות לנייד. אפשר גם לבצע שילוב לפי ההוראות הבאות:
הפעלת האפליקציה לדוגמה באופן מקומי
כדי להריץ אפליקציה לדוגמה, אתם צריכים:
Flutter: Framework לבניית אפליקציות חוצות-פלטפורמות.
Android Studio: סביבת פיתוח משולבת לפיתוח אפליקציות ל-Flutter ול-Android.
Xcode: סביבת פיתוח משולבת לפיתוח אפליקציות ל-iOS.
Cocoapods: מנהל יחסי תלות לפרויקטים ב-iOS.
כדי להריץ את האפליקציה לדוגמה באופן מקומי:
מורידים את קובץ ה-ZIP של הדוגמה ל-Flutter ופותחים אותו.
בטרמינל, עוברים לספרייה של דוגמת Flutter.
מזינים את הקוד הבא בטרמינל:
cd example cp .env.example .envמזינים את הערכים של משתני הסביבה בקובץ
.env, לדוגמה,API_KEY=your_api_key. אין צורך במירכאות.כדי להתקין יחסי תלות, מזינים
flutter pub getבטרמינל.כדי לעדכן את פרטי החברה, עוברים אל
android/app/src/main/res/values/strings.xmlומעדכנים אתujet_company_key,ujet_subdomainו-ujet_company_url.בהתאם לפלטפורמה שלכם, מריצים אמולטור של Android או סימולטור של iOS.
מזינים
flutter runבטרמינל.
ייבוא המודול של CCAI Platform לפרויקט
כדי לייבא את המודול של פלטפורמת CCAI לפרויקט, צריך:
נקודת קצה של API לחתימה על JWT. מידע נוסף זמין במאמר בנושא אימות משתמשי קצה ב-SDK.
ב-Android, יעד הפריסה של הפרויקט צריך להיות iOS 13.0 ואילך.
ב-iOS, גרסת
minSdkVersionשל הפרויקט צריכה להיות 21 ומעלה.
כדי לייבא את מודול CCAI Platform לפרויקט, פועלים לפי השלבים הבאים:
מעתיקים את התוכן של הספרייה
example/lib/ujetומדביקים אותו בפרויקט Flutter בספרייהlib.עוברים אל
example/android/app/src/main/kotlin/co/ujet/flutter_example_appומעתיקים את הקבצים הבאים לפרויקט Flutter שבו נמצאת המחלקהMainActivity:UJETModule.ktApplication.ktfirebase\MyFirebaseMessagingService.ktfirebase\FirebaseTokenManager.kt
פותחים את XCode וגוררים את
example/ios/Runner/UJETModule.swiftאל הפרויקט.פותחים את
example/lib/ujet/ujet_module.dartועורכים את השיטה_getUserDataכך שהיא תחזיר את פרטי משתמש הקצה המתאימים. דוגמה לקוד:static Future<Map<String, String?>> _getUserData() async { String? name = "John Doe"; // end-user name String? identifier = "id1234"; // end user identifier String? email = "jdoe@example.com"; // end user email String? phone = "+12223334444"; // end user phone return { "name": name, "identifier": identifier, "email": email, "phone": phone }; }מטמיעים את
signPayloadב-server_api.dartכדי לקבל את אסימון ה-JWT החתום משרת ה-API. מידע נוסף זמין במאמר בנושא אימות משתמשי קצה ב-SDK.
הפעלה והתחלה
כדי לאתחל ולהתחיל, מזינים את הקוד הבא בטרמינל:
await UJET.init(key: 'your_ujet_key', baseUrl: 'your_ujet_base_url');
await UJET.start(UjetStartOptions(skipSplashScreen: true));
בעיות מוכרות
אלה בעיות ידועות בשימוש ב-Flutter לשילוב ערכות SDK לנייד באפליקציות לנייד:
הבעיה: צילומי המסך לא מצולמים באמצעות הפעולות החכמות לצילום מסך.
- פעולה: Google פועלת לפתרון הבעיה.
בעיה: המסך של הגלישה המשותפת לא מוצג מהצד של הנציג במהלך סשן של גלישה משותפת (ב-iOS בלבד).
פעולה: Google ממליצה להשבית את מנוע Impeller במכשירי iOS. כדי להשבית את מנוע Impeller, פועלים לפי השלבים הבאים:
פותחים את הקובץ
info.plist.מגדירים את המפתח
FLTEnableImpellerלערךfalse, כמו בדוגמת הקוד הבאה:<key>FLTEnableImpeller</key> <false/>
המשך השילוב
כדי להמשיך בשילוב באמצעות Flutter, אפשר לעיין באחד מהדפים הבאים, בהתאם לפלטפורמה לנייד:
אינטגרציה באמצעות React Native
בקטע הזה מוסבר איך להשתמש ב-React Native כדי לשלב את ערכות ה-SDK לנייד באפליקציות לנייד. השלבים בקטע הזה זהים ל-Android SDK ול-iOS SDK. אחרי שמסיימים את השלבים האלה, אפשר להמשיך באמצעות הוראות שספציפיות ל-Android SDK או ל-iOS SDK, בהתאם לפלטפורמה לנייד.
אין צורך ב-React Native כדי לשלב את ערכות ה-SDK לנייד באפליקציות לנייד. אפשר גם לבצע שילוב לפי ההוראות הבאות:
הפעלת האפליקציה לדוגמה באופן מקומי
כדי להריץ את האפליקציה לדוגמה באופן מקומי:
מורידים ומחלצים את האפליקציה לדוגמה ujet-react-native-example.zip.
פותחים את הקובץ README.md בתיקייה שחולצה ופועלים לפי ההוראות.
הפעלת אפליקציה לדוגמה משרת מקומי
אפשר גם להריץ את האפליקציה לדוגמה שהורדתם בהליך הקודם משרת מקומי. לשם כך, בצע את הצעדים הבאים:
מורידים את קובץ ה-ZIP של הדוגמה ל-React Native ופותחים אותו.
ניגשים לספרייה שבה נפרסה דוגמת השרת.
מזינים את הפקודות הבאות:
cd server cp .env.example .env Edit .env nvm use npm install npm start```
הרצה של React Native
כדי להריץ את React Native, פועלים לפי השלבים הבאים:
משנים את ספריית האפליקציה.
מזינים את הפקודות הבאות:
cd app nvm use npm install bundle install npx pod-installמעדכנים את פרטי החברה:
src/screens/Home.tsx: מעדכנים את הפרמטרים ב-
UJET.initialize({})android/app/src/main/res/values/strings.xml: עדכון של
ujet_company_key,ujet_subdomainו-ujet_company_url.
מזינים את הפקודה
npm start.מריצים את האפליקציה לנייד ל-iOS או ל-Android באמצעות ה-CLI האינטראקטיבי של Meteor או סביבת פיתוח משולבת (IDE) לפי בחירתכם.
ייבוא מודול CCAI Platform לפרויקט
בקטע הזה מוסבר איך לייבא את מודול CCAI Platform לפרויקט.
דרישות
צריך להשתמש בנקודת קצה של API לחתימת JWT. פרטים נוספים מופיעים בקובץ server/app.js באפליקציית הדוגמה, או במאמר בנושא אימות משתמשי קצה.
התהליך
כדי לייבא את מודול CCAI Platform לפרויקט, פועלים לפי השלבים הבאים:
מעתיקים את הקבצים הבאים מאפליקציית הדוגמה ומדביקים אותם בפרויקט במקומות המתאימים:
app/src/native_modules/UJETInterfaces.tsapp/src/native_modules/UJETNativeModule.tsapp/ios/UJETModule.happ/ios/UJETModule.mapp/android/src/main/java/com/sampleapp/UJETModule.kt
פתיחת
UJETNativeModule.tsמסירים את השורה הבאה:
import AsyncStorage from '@react-native-async-storage/async-storage';עורכים את הפונקציה
getUserDataכדי להחזיר מידע מדויק על משתמשי הקצה:async function getUserData({ name: anonymousName }: SignPayloadData): Promise<Object> { // fetch the end user information from your application return { name: 'John Doe', identifier: 'id1234', email: 'jdoe@example.com', phone: '+12223334444' } }מעדכנים את המשתנה SIGNING_BASE_URL כך שיצביע על נקודת הקצה של החתימה.
מפעילים את האפליקציה באמצעות קוד לדוגמה:
import { UJET } from '../path/UJETNativeModule'; UJET.initialize({ key: 'your-key', baseUrl: 'your-base-url' }); const startUJET = () => { UJET.start({ skipSplashScreen: true }); };- מחליפים את
your-keyבמזהה החברה. - מחליפים את
your-base-urlבנקודת הקצה של ה-API עבור המארח של פלטפורמת CCAI – לדוגמה,https://ccaas-host.uc1.ccaiplatform.com/api/v2/.
- מחליפים את
המשך השילוב
כדי להמשיך בשילוב באמצעות React Native, אפשר לעיין באחד מהדפים הבאים, בהתאם לפלטפורמה לנייד: