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

מגבלות
בשלב הזה, תשובות עם תוכן עשיר זמינות רק באנגלית.
הגדרת הווידג'ט לאתר
כדי להטמיע את הווידג'ט באתר:
- לוחצים על פריסה בחלק העליון של הכלי ליצירת סוכנים.
- לוחצים על יצירת ערוץ או על ערוץ חדש.
- בוחרים בסוג הערוץ ווידג'ט לאתר.
- מזינים שם לערוץ.
- בוחרים או יוצרים גרסה של אפליקציית סוכן.
- מגדירים העדפות אחרות, כמו ערכת הצבעים וסוג החוויה (צ'אט, שיחה או שילוב של שניהם).
- לוחצים על יצירת ערוץ כדי ליצור את קוד הפריסה.
- מוסיפים את קוד ההטמעה לקוד ה-HTML של האתר.
- מגדירים אימות למשתמשי הקצה. אם משתמשים בקוד ההטמעה ללא שינוי בלי להגדיר אימות, מוצגת בווידג'ט אזהרה. פרטים על האפשרויות וההגדרה מופיעים בקטע הגדרת אימות.
הטמעת הווידג'ט באתר
כדי להוסיף את הווידג'ט לאתר, צריך להוסיף את קטעי ה-HTML הבאים.
קטע הקוד הבא כולל סקריפט שנדרש ל-reCAPTCHA. אם נעשה שימוש ב-reCAPTCHA בווידג'ט, תוצג הודעה בתחתית הווידג'ט שמציינת שהאתר מוגן על ידי Google ושהוא כפוף למדיניות הפרטיות של Google ולתנאים ולהגבלות של Google. אפשר גם להסתיר את תג reCAPTCHA.
כדי לתמוך בפריסות רספונסיביות, אפשר גם לטעון את chat-messenger-layout.css.
קובץ chat-messenger-layout.css משמש לעיצוב רספונסיבי ולגלילה של חלון הצ'אט פנימה והחוצה כשמשתמשים ב-render-mode="slide-in" או ב-render-mode="slide-over".
התג הזה מעצב את body, ולכן הוא עשוי להשפיע על האתר שלכם.
לכן, אתם יכולים לבחור שלא לטעון את chat-messenger-layout.css, או להעתיק את התוכן שלו ולשלב אותו ב-CSS שלכם.
כדי להשיג את הביצועים הטובים ביותר ולהבטיח פריסות רספונסיביות, כדאי להשתמש במיקומי המודעות הבאים:
בקטע <header>:
<header>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script defer src="https://www.gstatic.com/ces-console/fast/chat-messenger/prod/v1/chat-messenger.js"></script>
<!-- Chat Messenger CSS -->
<link rel="stylesheet" href="https://www.gstatic.com/ces-console/fast/chat-messenger/prod/v1/themes/chat-messenger-default.css">
<!-- Optional responsive styling -->
<!-- <link rel="stylesheet" href="https://www.gstatic.com/ces-console/fast/chat-messenger/prod/v1/themes/chat-messenger-layout.css"> -->
<!-- CSS customization -->
<style>
chat-messenger {
z-index: 999;
position: fixed;
<!-- Your CSS customization goes here if needed -->
}
</style>
</header>
בקטע <body>:
<body>
<!-- Your website's main content goes here -->
<script>
window.addEventListener("chat-messenger-loaded", () => {
chatSdk.registerContext(
chatSdk.prebuilts.ces.createContext({
deploymentName: "projects/YOUR_PROJECT_ID/locations/YOUR_REGION/apps/YOUR_APP_ID/deployments/YOUR_DEPLOYMENT_ID",
tokenBroker: {
enableTokenBroker: true,
// If you enabled reCAPTCHA for the token broker, set enableRecaptcha to true.
// enableRecaptcha: true,
},
// Automatically prompt the agent to start the conversation with a greeting.
enableWelcomeEvent: true,
}),
);
});
</script>
<!-- Messenger component -->
<chat-messenger
language-code="en"
max-query-length="-1">
<chat-messenger-chat-bubble
chat-title="${your-chat-title}">
</chat-messenger-chat-bubble>
</chat-messenger>
<!-- Page content continues -->
</body>
התחלת השיחה באופן אוטומטי
כברירת מחדל, ווידג'ט הצ'אט מחכה שהמשתמש ישלח את ההודעה הראשונה. כדי להנחות את הנציג להתחיל את השיחה באופן אוטומטי עם ברכה, מגדירים את enableWelcomeEvent: true בפונקציה chatSdk.prebuilts.ces.createContext.
כשהאפשרות הזו מופעלת, הווידג'ט שולח אוטומטית אירוע welcome לסוכן כשהסשן של הצ'אט מתחיל. הסוכן מגיב לאירוע הזה עם הודעת הפתיחה שהוגדרה לו.
שיקולי אבטחה
כשמטמיעים את הווידג'ט כרכיב מותאם אישית (<chat-messenger>) ישירות באתר, הווידג'ט פועל בshadow DOM בדף המארח.
כברירת מחדל, הוא לא אוכף ארגז חול קפדני (כמו iframe).
כי הווידג'ט משתף את מקור החלון עם האפליקציה:
- גישה ל-Shared Storage:
לכל סקריפט שפועל ברכיב המותאם אישית של הווידג'ט
יש גישה ל-
window.sessionStorageול-window.localStorageשל הדף המארח. זה כולל טוקנים לאימות או נתוני סשן רגישים שמאוחסנים בווידג'ט עצמו. - Cross-Site Scripting (XSS): אם קוד הרכיב המותאם אישית או מטען הייעודי של תוכן עשיר מכילים קלט לא מחוטא, אפשר לנצל אותם כדי להריץ JavaScript שרירותי בהקשר של האפליקציה הראשית.
כדי לשמור על האבטחה של האפליקציה ושל נתוני המשתמשים, אתם צריכים:
- ניקוי קוד מותאם אישית: חשוב לוודא שכל קוד ה-JavaScript וה-HTML המותאם אישית שמשמש ברכיבים מותאמים אישית או במטענים ייעודיים (payloads) עובר ניקוי קפדני.
- אימות קלט: צריך להתייחס לכל הנתונים שמועברים לווידג'ט ממקורות חיצוניים (כולל תשובות של סוכנים) כאל נתונים לא מהימנים.
- בידוד של רכיבים: אם דרישות האבטחה שלכם מחייבות בידוד קפדני בין ווידג'ט הצ'אט לבין הנתונים של האפליקציה, אתם צריכים להטמיע ארגז חול משלכם (לדוגמה, לעטוף את רכיב הווידג'ט במאגר שאתם שולטים בו ומבודדים אותו).
הגדרת העברה לסוכן אנושי
לפני שמגדירים את הווידג'ט, צריך לוודא שהמשאבים הנדרשים נוצרו ושהפריסה של WebChat Proxy הושלמה.
- הגדרת מספר להעברת שיחה לטיפול ברמה גבוהה יותר.
- יוצרים משאב PhoneNumber לפרויקט.
- צריך להשתמש בפרופיל שיחה תקין שהוגדר לאפליקציית הנציג.
- משייכים את פרופיל השיחה למספר הטלפון כדי לאפשר למערכת לטפל בהעברה לנציג אנושי.
- פועלים לפי ההוראות להגדרה של WebChat Proxy.
- יוצרים משאב PhoneNumber לפרויקט.
הגדרת לקוח לצ'אט באתר:
מגדירים את המאפיין מ-WebChat Proxy כדי להפעיל את התכונה 'העברה לשידור חי'. קטע קוד לדוגמה:
<chat-messenger service='{"name":"ces","deployment-id":"projects/YOUR_PROJECT_ID/locations/YOUR_REGION/apps/YOUR_APP_ID/deployments/YOUR_DEPLOYMENT_ID"}' liveHandoff="true" escalationNumber="projects/YOUR_PROJECT_ID/locations/global/phoneNumbers/YOUR_PHONE_NUMBER_ID" url-allowlist="*" > </chat-messenger>
התאמה אישית של HTML
אתם יכולים להתאים אישית היבטים שונים של אופן ההצגה וההתנהגות של תיבת הדו-שיח של הצ'אט.
רכיב ה-HTML chat-messenger ו-chat-messenger-container כולל את המאפיינים הבאים:
| מאפיין | שיוך רכיבים | ערך (אופציונלי) | אפקט |
|---|---|---|---|
| שירות | chat-messenger | שם השירות הנדרש לשירות קצה עורפי מקושר. | |
| רשימת כתובות URL מותרות | chat-messenger | * | (רשימה מופרדת בפסיקים של דומיינים של תמונות |
| logging-level | chat-messenger | ניפוי באגים | <OMIT> |
| enable-audio-input-only | chat-messenger-container | מצב קולי בלבד | |
| start-with-recording | chat-messenger-container | נדרש מצב אודיו בלבד. מצב שיחה קולית בלבד מתחיל ברגע שרכיב הצ'אט-הודעות-הקונטיינר מוצג | |
| enable-audio-input | chat-messenger-container | הוספת כפתור שמאפשר צ'אט מרובה מצבים | |
| enable-file-upload | chat-messenger-container | הפעלת העלאות של תמונות | |
| bot-writing-image | chat-messenger-container | מחרוזת | כתובת ה-URL של התמונה שמוצגת בזמן שהבוט 'חושב' |
| chat-title-icon | chat-messenger-container | מחרוזת | כתובת ה-URL של התמונה שמוצגת בחלק העליון של הצ'אט (תמונת מותג) |
| chat-title | chat-messenger-container | מחרוזת | הטקסט של הכותרת של הצ'אט |
| render-mode | chat-messenger | מחרוזת (slide-in או slide-over) | מצב העיבוד של תיבת הדו-שיח של הצ'אט ביחס לשאר הדף. האפשרויות הן slide-over או slide-in. אם לא מציינים מיקום, יכול להיות שהלקוח יציין אותו. נדרשים סגנונות כדי לתמוך במצב רינדור. אפשר להשתמש ב-chat-messenger-layout.css כנקודת השוואה. |
התאמה אישית של CSS
ההתאמה האישית של מראה הווידג'ט מתבצעת באמצעות מערכת של טוקנים של CSS. אם תשנו את הטוקנים האלה, תוכלו לוודא שממשק הצ'אט ייראה בהתאם למותג שלכם, וגם לשמור על פריסה תקינה ועל נגישות.
טוקנים של צבעים
הטוקנים האלה מגדירים את לוח הצבעים של משטחי הווידג'ט, רכיבים אינטראקטיביים, טקסט ומצבים.
| מאפיין (property) | תיאור | עיצוב בהיר שמוגדר כברירת מחדל | עיצוב כהה שמוגדר כברירת מחדל |
|---|---|---|---|
| קונטיינרים / משטחים | |||
| --chat-messenger-color--surface | צבע הרקע הראשי של גוף הצ'אט ואזור הכותרת התחתונה. | #F8FAFD | #1B1B1B |
| --chat-messenger-color--surface-container | צבע הרקע של מאגרי הווידג'טים (לדוגמה, כרטיסי מוצרים וקרוסלות) שמוטמעים בתוך הצ'אט. | #FFFFFF | #131314 |
| --chat-messenger-color--surface-container-high | רקע עם הדגשה גבוהה לאלמנטים בווידג'טים (לדוגמה, שדות קלט) | #F0F4F9 | #1E1F20 |
| מותג / הדגשה | |||
| --chat-messenger-color--primary | הצבע הראשי של המותג משמש למילויים מודגשים ולכפתורים ראשיים. | #303030 | #E3E3E3 |
| --chat-messenger-color--primary-container | צבע רקע בולט לרכיבים מרכזיים כמו בועות של הודעות למשתמשים. | #E9EEF6 | #282A2C |
| --chat-messenger-color--secondary | הצבע של רכיבים אינטראקטיביים משניים, כמו הכפתור 'שליחה' או כפתורים טונאליים. | #DDE3EA | #333537 |
| טקסט וסמלים | |||
| --chat-messenger-color--on-surface | הצבע הראשי של הטקסט והסמלים שמוצגים על רקעים סטנדרטיים של משטחים. | #1F1F1F | #E3E3E3 |
| --chat-messenger-color--on-surface-variant | צבע עם פחות הדגשה לטקסט משני ולסמלים דקורטיביים. | #444746 | #C4C7C5 |
| --chat-messenger-color--on-primary | הצבע של הטקסט והסמלים שמוצבים מעל הרקעים הראשיים של המותג. | #F2F2F2 | #303030 |
| --chat-messenger-color--on-primary-container | הצבע של הטקסט והסמלים שמוצבים מעל הרקעים של הרכיב הראשי. | #1F1F1F | #E3E3E3 |
| --chat-messenger-color--on-secondary | הצבע של הטקסט והסמלים שמוצבים מעל רקעים משניים של המותג. | #444746 | #C4C7C5 |
| מדינות | |||
| --chat-messenger-color--state-layer-on-surface | שכבת-העל השקופה שמשמשת לציון מצבי ריחוף או בחירה בממשקים רגילים. הצבע של הרכיבים המושבתים. | #1F1F1F 8% | #E3E3E3 8% |
| --chat-messenger-color--state-layer-on-primary | שכבת-העל השקופה שמשמשת למצבי אינטראקציה מעל רכיבים בצבע הראשי. | #FFFFFF 8% | #062E6F 8% |
| --chat-messenger-color--state-layer-on-secondary | השכבה השקופה למחצה שמשמשת למצבי אינטראקציה מעל רכיבים בצבע משני. | #1F1F1F 8% | #E3E3E3 8% |
| --chat-messenger-color--state-on-surface-mute | הצבע של טקסט וסמלים מושבתים. | #444746 (38%) | #C4C7C5 (38%) |
| כלי | |||
| --chat-messenger-color--outline | הצבע של גבולות כלליים, קווים מפרידים ומתארים דקורטיביים. | #C4C7C5 | #444746 |
| --chat-messenger-color--outline-variant | צבע לגבולות עדינים (לדוגמה, המסגרת החיצונית של הווידג'טים) | #747775 ב-16% | #8E918F ב-16% |
| --chat-messenger-color--outline-active | צבע הגבול של שדות קלט ותפריטים נפתחים כשהם במיקוד או פעילים. | #747775 | #8E918F |
| --chat-messenger-color--error | צבע בולט שמשמש למילוי, לסמלים ולטקסט, ומצביע על דחיפות. | #B3261E | #F2B8B5 |
| --chat-messenger-color--error-container | צבע מילוי הרקע של באנרים של שגיאות או של מאגרי התראות אינטראקטיביים. | #F9DEDC | #8C1D18 |
| --chat-messenger-color--on-error-container | טקסט וסמלים שמוצבים על רקע של מאגר שגיאות. | #8C1D18 | #F9DEDC |
| --chat-messenger-color--link | הצבע שבו מוצגים היפר-קישורים שאפשר ללחוץ עליהם בהודעות או בתיאורים. | #0B57D0 | #A8C7FA |
אסימוני צורה וגובה
האסימונים האלה שולטים ברדיוס הפינות ובעומק החזותי (הצללות) של רכיבי הצ'אט.
| מאפיין (property) | תיאור | ברירת מחדל |
|---|---|---|
| --chat-messenger-shape--corner-value-small | רדיוס הפינות של רכיבים קטנים שמוטמעים בווידג'טים (לדוגמה, תמונות ממוזערות של מוצרים) | 8px |
| --chat-messenger-shape--corner-value-medium | רדיוס הפינות של רכיבים מוטמעים בווידג'טים (לדוגמה, שדות קלט, תמונות) | 16px |
| --chat-messenger-shape--corner-value-large | רדיוס הפינות של קונטיינרים מוטמעים בווידג'טים (לדוגמה, כרטיסי קרוסלה, כרטיסי פעולות מהירות) | 20 פיקסלים |
| --chat-messenger-shape--corner-value-extra-large | רדיוס הפינות של חלון הצ'אט הראשי ושל מאגרי הווידג'טים. | 28px |
| --chat-messenger-shape--corner-fully-rounded | משמש לכפתורים ולרכיבים אינטראקטיביים בצורת גלולה כדי להבטיח קצה מעוגל לחלוטין. | 100px |
| --chat-messenger-elevation | הצללה של תיבה שמוחלת על רכיבים צפים ועל רכיב הצ'אט הראשי. | 0 1px 2px 0 rgba(0,0,0,0.3), 0 2px 6px 2px rgba(0,0,0,0.15) |
טוקנים של טיפוגרפיה
הטוקנים האלה מגדירים את הגופן ואת הסקאלה הספציפית (גודל, עובי, ריווח) שמשמשים בכל הממשק.
| מאפיין (property) | שימוש מיועד | ברירת מחדל |
|---|---|---|
| --chat-messenger-font-family | משפחת הגופנים הראשית | Google Sans |
| כותרת גדולה | כותרות בולטות | |
| --chat-messenger-typescale--title-large-font-size | 18px | |
| --chat-messenger-typescale--title-large-font-weight | 400 | |
| --chat-messenger-typescale--title-large-line-height | 24px | |
| --chat-messenger-typescale--title-large-letter-spacing | 0 | |
| כותרת בגודל בינוני | כותרות של קטעים בווידג'טים. | |
| --chat-messenger-typescale--title-medium-font-size | 16px | |
| --chat-messenger-typescale--title-medium-font-weight | 500 | |
| --chat-messenger-typescale--title-medium-line-height | 24px | |
| --chat-messenger-typescale--title-medium-letter-spacing | 0 | |
| כותרת קטנה | ||
| --chat-messenger-typescale--title-small-font-size | כותרות משנה או כותרות בכרטיסים קטנים יותר. | 14px |
| --chat-messenger-typescale--title-small-font-weight | 500 | |
| --chat-messenger-typescale--title-small-line-height | 20 פיקסלים | |
| --chat-messenger-typescale--title-small-letter-spacing | 0 | |
| Body large | תיאורים ארוכים. | |
| --chat-messenger-typescale--body-large-font-size | 16px | |
| --chat-messenger-typescale--body-large-font-weight | 400 | |
| --chat-messenger-typescale--body-large-line-height | 24px | |
| --chat-messenger-typescale--body-large-letter-spacing | 0 | |
| Body medium | טקסט סטנדרטי בממשק המשתמש | |
| --chat-messenger-typescale--body-medium-font-size | 14px | |
| --chat-messenger-typescale--body-medium-font-weight | 400 | |
| --chat-messenger-typescale--body-medium-line-height | 20 פיקסלים | |
| --chat-messenger-typescale--body-medium-letter-spacing | 0 | |
| Body small | מטא-נתונים ותיאורים משניים. | |
| --chat-messenger-typescale--body-small-font-size | 12px | |
| --chat-messenger-typescale--body-small-font-weight | 400 | |
| --chat-messenger-typescale--body-small-line-height | 16px | |
| --chat-messenger-typescale--body-small-letter-spacing | 0.1 | |
| תווית גדולה | טקסט בתוך לחצנים וצ'יפים של פעולות ראשיות. | |
| --chat-messenger-typescale--label-large-font-size | 14px | |
| --chat-messenger-typescale--label-large-font-weight | 500 | |
| --chat-messenger-typescale--label-large-line-height | 20 פיקסלים | |
| --chat-messenger-typescale--label-large-letter-spacing | 0 | |
| תווית אמצעי הגעה לאתר | טקסט של כפתור משני ותוויות של שדות | |
| --chat-messenger-typescale--label-medium-font-size | 12px | |
| --chat-messenger-typescale--label-medium-font-weight | 500 | |
| --chat-messenger-typescale--label-medium-line-height | 16px | |
| --chat-messenger-typescale--label-medium-letter-spacing | 0.1 | |
| תווית קטנה | תוויות מיקרו וטקסט בתג | |
| --chat-messenger-typescale--label-small-font-size | 11px | |
| --chat-messenger-typescale--label-small-font-weight | 500 | |
| --chat-messenger-typescale--label-small-line-height | 16px | |
| --chat-messenger-typescale--label-small-letter-spacing | 0.1 |
טוקנים של ריווח
הטוקנים האלה שומרים על צפיפות עקבית של הפריסה, ומגדירים שוליים, ריווחים ומרווחים בין רכיבים.
| מאפיין (property) | ברירת מחדל |
|---|---|
| --chat-messenger-spacing--half | 4 פיקסלים |
| --chat-messenger-spacing--one | 8px |
| --chat-messenger-spacing--one-and-half | 12px |
| --chat-messenger-spacing--two | 16px |
| --chat-messenger-spacing--two-and-half | 20 פיקסלים |
| --chat-messenger-spacing--three | 24px |
| --chat-messenger-spacing--three-and-half | 28px |
| --chat-messenger-spacing--four | 32px |
אירועי JavaScript
מערכת Messenger מפעילה מגוון אירועים שאפשר ליצור עבורם פונקציות event listener.
יעד האירוע של האירועים האלה הוא הרכיב chat-messenger.
כדי להוסיף רכיב event listener לרכיב chat-messenger, מוסיפים את קוד ה-JavaScript הבא, כאשר event-type הוא אחד משמות האירועים שמתוארים בקטע הזה
const chatMessenger = document.querySelector('chat-messenger');
chatMessenger.addEventListener('event-type', function (event) {
// Handle event
...
});
סוגי האירועים הנתמכים:
chat-messenger-loaded: האירוע הזה מופעל כשהרכיבchat-messengerנטען ומאותחל באופן מלא.chat-messenger-close
chat-messenger-error: האירוע הזה מתרחש כשסוכן CES שולח קוד סטטוס של שגיאה. מבנה האירוע נראה כךeventId= `chat-messenger-error-v2` event.details { message: string; code: number | undefined; status: number | string; }df-update-cart-count: האירוע הזה מתרחש כשפעולות כמו 'הוספה לעגלת קניות', 'שינוי כמות הפריטים' ו'מחיקת פריט' מתבצעות ברכיבי התוכן העשירproduct_carousel,product_detailו-product_comparison. מבנה האירוע נראה כך{ "detail": { "count": <cart_item_count>, } }
פונקציות JavaScript
רכיב chat-messenger מספק פונקציות שאפשר להפעיל כדי להשפיע על ההתנהגות שלו.
renderCustomEvent
הפונקציה הזו מעבדת הודעת טקסט כאילו היא הגיעה מאפליקציית הסוכן כתשובה בטקסט.
לדוגמה:
const chatMessenger = document.querySelector('chat-messenger');
chatMessenger.renderCustomText('Custom text');
renderCustomCard
הפונקציה הזו מעבדת כרטיס בהתאמה אישית, כאילו הוא הגיע מאפליקציית הסוכן כהודעת תשובה עשירה. הפורמט של תגובת המטען הייעודי (payload) המותאם אישית מוגדר בקטע הודעות תגובה עשירות.
לדוגמה:
const chatMessenger = document.querySelector('chat-messenger');
const payload = [
{
"type": "info",
"title": "Info item title",
"subtitle": "Info item subtitle",
"image": {
"src": {
"rawUrl": "https://example.com/images/logo.png"
}
},
"actionLink": "https://example.com"
}];
chatMessenger.renderCustomCard(payload);
הגדרת אימות
כל בקשות ה-API שווידג'ט האינטרנט שולח לשירותי הבק-אנד של Google חייבות להיות מאומתות. הפעולה הזו מתבצעת באמצעות אסימון גישה לטווח קצר מסוג OAuth 2.0.
לזהות שמשויכת לאסימון הזה, בין אם מדובר במשתמש קצה או בחשבון שירות, צריכות להיות הרשאות ה-IAM הנדרשות כדי לקיים אינטראקציה עם הסוכן.
בקטעי המשנה שנותרו מתוארות הדרכים שבהן אפשר להגדיר אימות.
הגדרת ברוקר של טוקנים
ברוקר אסימונים הוא שירות אינטרנט שפועל ב Google Cloud פרויקט שלכם ויוצר אסימון גישה בשם חשבון שירות שבבעלותכם. ווידג'ט האינטרנט יכול להפעיל באופן אוטומטי את כתובת ה-URL של ברוקר האסימונים בתחילת השיחה כדי לקבל אסימון חדש לשימוש בתקשורת עם CX Agent Studio API.
יש שתי דרכים להגדיר ברוקר של טוקנים: שמתארח ב-Google או באירוח עצמי.
שמתארח ב-Google
משתמשים בטוקן ברוקר ש-Google מספקת כדי לאפשר גישה ציבורית לווידג'ט של הצ'אט:
- כשיוצרים את הפריסה ואת הגדרות הווידג'ט, מפעילים גישה ציבורית, ואם רוצים, מפעילים בדיקות של מקור ו-reCAPTCHA (מומלץ כדי למנוע זיוף ושימוש לרעה).
- ווידג'ט הצ'אט יבקש מברוקר האסימונים שסופק על ידי Google אסימון בהיקף סשן וישתמש בו לסשנים של צ'אט.
אירוח עצמי
כדי להגדיר ברוקר של טוקנים באירוח עצמי:
- יוצרים חשבון שירות בפרויקט ומעניקים לו את התפקיד 'לקוח של חבילת Customer Engagement Suite'.
- פורסים פונקציה של Cloud Run Functions עם קוד לדוגמה של ברוקר אסימונים שאנחנו מספקים.
הוראות מפורטות זמינות במאגר הקוד הפתוח.
הגדרת OAuth2
לקוח OAuth2 מאפשר לווידג'ט האינטרנט להתחיל תהליך אימות עבור משתמש הקצה. בדרך כלל, המשמעות היא שנפתח חלון דו-שיח שבו המשתמש מתחבר לחשבון Google שלו (או לספקים אחרים), ווידג'ט האינטרנט מקבל טוקן כדי לפעול בשם המשתמש.
בוחרים באפשרות הזו כדי לדרוש ממשתמשי הקצה להיכנס לחשבון לפני השימוש בסוכן, כאשר פרטי הכניסה של המשתמש משמשים לגישה לאפליקציית הסוכן.
אלה השלבים העיקריים שצריך לבצע:
- במסוף Google Cloud , עוברים אל Google Auth Platform ובוחרים באפשרות Clients.
- לוחצים על Create Client.
- בוחרים באפשרות Web application (אפליקציית אינטרנט) כסוג הלקוח.
- מזינים שם ללקוח החדש.
- מוסיפים את כתובת ה-URL של האתר גם ל'מקורות מורשים של JavaScript' וגם ל'כתובות URI מורשות להפניה אוטומטית'.
- לוחצים על יצירה וממתינים 5 דקות לפני שממשיכים.
אחרי שמבצעים את השלבים, מקבלים Client-ID בפורמט הבא:
123456789012-abcdefghijklmnopqrstuvwxyz.apps.googleusercontent.com
צריך לספק את הערך הזה במאפיין oauth-client-id של רכיב האינטרנט chat-messenger.
יצירת API משלכם לאימות
בונים API משלכם לטיפול באימות ובמתן הרשאות למשתמש הקצה, שמחזיר אסימון גישה של Google או JWT חתום עם הרשאה להתקשר אל runSession באפליקציה.
מידע על השימוש ב-CX Agent Studio API זמין במאמר בנושא גישה ל-API.