ערכות SDK לניידים

ערכות ה-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.

כדי להריץ את האפליקציה לדוגמה באופן מקומי:

  1. מורידים את קובץ ה-ZIP של הדוגמה ל-Flutter ופותחים אותו.

  2. בטרמינל, עוברים לספרייה של דוגמת Flutter.

  3. מזינים את הקוד הבא בטרמינל:

    cd example
    cp .env.example .env
    
  4. מזינים את הערכים של משתני הסביבה בקובץ .env, לדוגמה, API_KEY=your_api_key. אין צורך במירכאות.

  5. כדי להתקין יחסי תלות, מזינים flutter pub get בטרמינל.

  6. כדי לעדכן את פרטי החברה, עוברים אל android/app/src/main/res/values/strings.xml ומעדכנים את ujet_company_key,‏ ujet_subdomain ו-ujet_company_url.

  7. בהתאם לפלטפורמה שלכם, מריצים אמולטור של Android או סימולטור של iOS.

  8. מזינים flutter run בטרמינל.

ייבוא המודול של CCAI Platform לפרויקט

כדי לייבא את המודול של פלטפורמת CCAI לפרויקט, צריך:

  • נקודת קצה של API לחתימה על JWT. מידע נוסף זמין במאמר בנושא אימות משתמשי קצה ב-SDK.

  • ב-Android, יעד הפריסה של הפרויקט צריך להיות iOS 13.0 ואילך.

  • ב-iOS, גרסת minSdkVersion של הפרויקט צריכה להיות 21 ומעלה.

כדי לייבא את מודול CCAI Platform לפרויקט, פועלים לפי השלבים הבאים:

  1. מעתיקים את התוכן של הספרייה example/lib/ujet ומדביקים אותו בפרויקט Flutter בספרייה lib.

  2. עוברים אל example/android/app/src/main/kotlin/co/ujet/flutter_example_app ומעתיקים את הקבצים הבאים לפרויקט Flutter שבו נמצאת המחלקה MainActivity:

    • UJETModule.kt

    • Application.kt

    • firebase\MyFirebaseMessagingService.kt

    • firebase\FirebaseTokenManager.kt

  3. פותחים את XCode וגוררים את example/ios/Runner/UJETModule.swift אל הפרויקט.

  4. פותחים את 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
      };
    }
    
  5. מטמיעים את 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, פועלים לפי השלבים הבאים:

      1. פותחים את הקובץ info.plist.

      2. מגדירים את המפתח FLTEnableImpeller לערך false, כמו בדוגמת הקוד הבאה:

        <key>FLTEnableImpeller</key>
        <false/>
        

המשך השילוב

כדי להמשיך בשילוב באמצעות Flutter, אפשר לעיין באחד מהדפים הבאים, בהתאם לפלטפורמה לנייד:

אינטגרציה באמצעות React Native

בקטע הזה מוסבר איך להשתמש ב-React Native כדי לשלב את ערכות ה-SDK לנייד באפליקציות לנייד. השלבים בקטע הזה זהים ל-Android SDK ול-iOS SDK. אחרי שמסיימים את השלבים האלה, אפשר להמשיך באמצעות הוראות שספציפיות ל-Android SDK או ל-iOS SDK, בהתאם לפלטפורמה לנייד.

אין צורך ב-React Native כדי לשלב את ערכות ה-SDK לנייד באפליקציות לנייד. אפשר גם לבצע שילוב לפי ההוראות הבאות:

הפעלת האפליקציה לדוגמה באופן מקומי

כדי להריץ את האפליקציה לדוגמה באופן מקומי:

  1. מורידים ומחלצים את האפליקציה לדוגמה ujet-react-native-example.zip.

  2. פותחים את הקובץ README.md בתיקייה שחולצה ופועלים לפי ההוראות.

הפעלת אפליקציה לדוגמה משרת מקומי

אפשר גם להריץ את האפליקציה לדוגמה שהורדתם בהליך הקודם משרת מקומי. לשם כך, בצע את הצעדים הבאים:

  1. מורידים את קובץ ה-ZIP של הדוגמה ל-React Native ופותחים אותו.

  2. ניגשים לספרייה שבה נפרסה דוגמת השרת.

  3. מזינים את הפקודות הבאות:

    cd server
    cp .env.example .env
    Edit .env
    nvm use
    npm install
    npm start```
    

הרצה של React Native

כדי להריץ את React Native, פועלים לפי השלבים הבאים:

  1. משנים את ספריית האפליקציה.

  2. מזינים את הפקודות הבאות:

    cd app
    nvm use
    npm install
    bundle install
    npx pod-install
    
  3. מעדכנים את פרטי החברה:

    1. ‫src/screens/Home.tsx: מעדכנים את הפרמטרים ב-UJET.initialize({})

    2. ‫android/app/src/main/res/values/strings.xml: עדכון של ‫ujet_company_key, ujet_subdomain ו-ujet_company_url.

  4. מזינים את הפקודה npm start.

  5. מריצים את האפליקציה לנייד ל-iOS או ל-Android באמצעות ה-CLI האינטראקטיבי של Meteor או סביבת פיתוח משולבת (IDE) לפי בחירתכם.

ייבוא מודול CCAI Platform לפרויקט

בקטע הזה מוסבר איך לייבא את מודול CCAI Platform לפרויקט.

דרישות

צריך להשתמש בנקודת קצה של API לחתימת JWT. פרטים נוספים מופיעים בקובץ server/app.js באפליקציית הדוגמה, או במאמר בנושא אימות משתמשי קצה.

התהליך

כדי לייבא את מודול CCAI Platform לפרויקט, פועלים לפי השלבים הבאים:

  1. מעתיקים את הקבצים הבאים מאפליקציית הדוגמה ומדביקים אותם בפרויקט במקומות המתאימים:

    1. app/src/native_modules/UJETInterfaces.ts
    2. app/src/native_modules/UJETNativeModule.ts
    3. app/ios/UJETModule.h
    4. app/ios/UJETModule.m
    5. app/android/src/main/java/com/sampleapp/UJETModule.kt
  2. פתיחת UJETNativeModule.ts

    1. מסירים את השורה הבאה:

      import AsyncStorage from '@react-native-async-storage/async-storage';

    2. עורכים את הפונקציה 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'
        }
      }
      
    3. מעדכנים את המשתנה SIGNING_BASE_URL כך שיצביע על נקודת הקצה של החתימה.

  3. מפעילים את האפליקציה באמצעות קוד לדוגמה:

    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, אפשר לעיין באחד מהדפים הבאים, בהתאם לפלטפורמה לנייד: