בדף הזה מוסבר איך לבנות את הרכיבים והמבנה של כרטיס. כרטיסים הם ממשקי משתמש שאפליקציות ל-Google Chat יכולות להשתמש בהם כדי להציג מידע למשתמשי Chat ולאסוף מהם מידע. אפליקציות ל-Chat יכולות ליצור ולהציג כרטיסים בממשקים הבאים:
- הודעות שכוללות כרטיס אחד או יותר.
- דפי הבית, שהם כרטיסים שמופיעים בכרטיסייה דף הבית בצ'אטים ישירים עם אפליקציית Chat.
- תיבות דו-שיח, שהן כרטיסים שנפתחים בחלון חדש מתוך הודעות ודפים ראשיים.
בדף הזה אנחנו מסבירים על הרכיבים הבאים של כרטיס:
- כותרות, שבדרך כלל מכילות את השם של כרטיס או של קטע בכרטיס.
- הקטעים שמרכיבים את החלק העיקרי של הכרטיס, כולל ווידג'טים ואלמנטים אינטראקטיביים אחרים. בקטע של כרטיס, אפשר להוסיף עוד מבנה לכרטיס, כולל עמודות ורשתות.
- כותרות תחתונות קבועות, שמופיעות בתחתית של תיבות דו-שיח כדי להציג רכיבי ממשק משתמש קבועים, כמו לחצנים.
דרישות מוקדמות
אפליקציה ל-Google Chat שמוגדרת לקבל אירועי אינטראקציה ולהגיב להם. כדי ליצור אפליקציית Chat אינטראקטיבית, צריך להשלים אחד מהמדריכים לתחילת העבודה שמפורטים בהמשך, בהתאם לארכיטקטורת האפליקציה שבה רוצים להשתמש:
- שירות HTTP עם Google Cloud Functions
- Google Apps Script
- Google Cloud Dialogflow CX
- Google Cloud Pub/Sub
אתם יכולים להשתמש בכלי ליצירת כרטיסים כדי לעצב ולראות תצוגה מקדימה של הודעות וממשקי משתמש לאפליקציות ל-Chat:
פותחים את הכלי ליצירת כרטיסיםהוספת כותרת
ווידג'ט CardHeader
מייצג את הכותרת של כרטיס. הכותרות יכולות לכלול כותרת, כותרת משנה ותמונת אווטאר לכרטיס.
דוגמה ל-CardHeader
:
הוספה של קטע כרטיס אחד או יותר
הווידג'ט CardSection
הוא קונטיינר ברמה גבוהה בתוך כרטיס. משתמשים בקטעי כרטיסים כדי לקבץ ווידג'טים בתוך כרטיס. בכל קטע של כרטיס אפשר לכלול כותרת ווידג'ט אחד או יותר.
הנה דוגמה ל-CardSection
שמכיל שני ווידג'טים של textParagraph
:
הוספת קו מפריד אופקי בין הווידג'טים
בווידג'ט divider
מוצג קו אופקי לרוחב הכרטיס בין ווידג'טים שמוערמים אנכית. הקו הוא מחיצה חזותית שעוזרת למשתמשים להבחין בין ווידג'ט אחד לאחר, וכך קל יותר לסרוק את הכרטיסים ולהבין אותם.
הכרטיס הבא מורכב מווידג'ט divider
בין סוגים אחרים של ווידג'טים:
הוספת עמודות
בווידג'ט columns
מוצגות עד 2 עמודות בכרטיס. אפשר להוסיף ווידג'טים לכל עמודה. הווידג'טים מופיעים בסדר שבו הם צוינו.
כדי לכלול יותר מ-2 עמודות או להשתמש בשורות, צריך להשתמש בווידג'ט grid
.
הגובה של כל עמודה נקבע לפי העמודה הגבוהה יותר. לדוגמה, אם העמודה הראשונה גבוהה יותר מהעמודה השנייה, שתי העמודות יהיו בגובה של העמודה הראשונה. מכיוון שכל עמודה יכולה להכיל מספר שונה של ווידג'טים, אי אפשר להגדיר שורות או ליישר ווידג'טים בין העמודות.
בדוגמה הבאה מוצג כרטיס עם ווידג'ט columns
שמציג 2 עמודות של טקסט. כדי לראות רק את פריסת העמודות ולכווץ את דוגמת הקוד, לוחצים על כיווץ.
כשהשטח מוגבל, כמו בדוגמה הבאה, העמודה השנייה מוצגת מתחת לעמודה הראשונה.
הגדרת רוחב העמודה
העמודות מוצגות זו לצד זו. אפשר להתאים אישית את הרוחב של כל עמודה באמצעות השדה horizontalSizeStyle
.
אם רוחב המסך של המשתמש צר מדי, העמודה השנייה מוצגת מתחת לעמודה הראשונה:
- באינטרנט, העמודה השנייה עוברת לשורה חדשה אם רוחב המסך קטן מ-480 פיקסלים או שווה לו.
- במכשירי iOS, העמודה השנייה עוברת לשורה חדשה אם רוחב המסך קטן מ-300pt או שווה לו.
- במכשירי Android, העמודה השנייה עוברת לשורה חדשה אם רוחב המסך קטן מ-320 dp או שווה לו.
בדוגמה הבאה מוצג כרטיס עם ווידג'ט columns
שמציג 2 עמודות של טקסט עם 4 פריטים בעמודות. לכל פריט בעמודות מוחל התג horizontalSizeStyle
כדי לשנות את כמות המקום שהטקסט תופס בכל עמודה:
- בפסקה הראשונה של הטקסט נעשה שימוש ב-
FILL_MINIMUM_SPACE
כדי למלא עד 30% מרוחב הכרטיס. - בפסקה השנייה של הטקסט נעשה שימוש ב-
FILL_AVAILABLE_SPACE
כדי למלא את הרווח הזמין ברוחב הכרטיס. בדוגמה הזו, הוא ממלא 70% מהרוחב של הכרטיס. - בפסקה השלישית של הטקסט לא מוגדר
horizontalSizeStyle
ולכן ברירת המחדל היא מילוי השטח הפנוי של הכרטיס. - בפסקה הרביעית של הטקסט נעשה שימוש ב-
FILL_MINIMUM_SPACE
כדי למלא עד 30% מרוחב הכרטיס.
הגדרת היישור האופקי של עמודה
כדי ליישר ווידג'טים אופקית לשמאל, לימין או למרכז של עמודה, צריך להגדיר את השדה horizontalAligment
.
אם השדה horizontalAlignment
לא מוגדר, הווידג'טים מיושרים לימין בעמודה.
בדוגמה הבאה, הטקסט בעמודה מיושר אופקית לשמאל:
בדוגמה הבאה, הטקסט בעמודה מיושר אופקית למרכז:
בדוגמה הבאה, הטקסט בעמודה מיושר אופקית לצד שמאל:
הגדרת היישור האנכי של עמודה
אתם יכולים ליישר ווידג'טים אנכית לחלק העליון, התחתון או המרכז של עמודה על ידי הגדרת השדה verticalAlignment
.
אם השדה verticalAlignment
לא מוגדר, הווידג'טים בעמודה מיושרים לחלק העליון.
בדוגמה הבאה, הטקסט בעמודה מיושר אנכית לחלק העליון:
בדוגמה הבאה מוצג יישור אנכי של טקסט בעמודה במרכז:
בדוגמה הבאה, הטקסט בעמודה מיושר אנכית למטה:
הוספת רשת להצגת אוסף פריטים
בווידג'ט grid
מוצגת רשת עם אוסף של פריטים. תצוגת משבצות תומכת בכל מספר של עמודות ופריטים. מספר השורות נקבע על ידי חלוקת מספר הפריטים במספר העמודות.
רשת עם 10 פריטים ו-2 עמודות כוללת 5 שורות. רשת עם 11 פריטים ו-2 עמודות כוללת 6 שורות.
הווידג'ט תומך בהצעות, שעוזרות למשתמשים להזין נתונים אחידים, ובפעולות on-change, שהן Actions
שמופעלות כשמתרחש שינוי בשדה להזנת טקסט, כמו הוספה או מחיקה של טקסט על ידי משתמש.
הדוגמה הבאה היא של רשת עם 2 עמודות ופריט אחד:
כדי להגדיר איפה הטקסט יופיע עם תמונה ברשת, אפשר לציין את השדה gridItemLayout
.
בשדה הזה אפשר להגדיר אם הטקסט יופיע מעל הפריט או מתחתיו ברשת. אם gridItemLayout
לא מוגדר, הטקסט יופיע כברירת מחדל מתחת לפריט ברשת.
בדוגמה הבאה מוצגת רשת עם שלוש עמודות, ובכל משבצת יש טקסט ותמונה. ברשת הראשונה מוגדר טקסט שיופיע מעל התמונה, ברשת השנייה מוגדר טקסט שיופיע מתחת לתמונה, וברשת השלישית לא מוגדר מיקום הטקסט.
הוספת גבול לרשת או לעמודה
לפריטים שמופיעים בווידג'ט column
או grid
, אפשר להוסיף גבול לרכיבי ממשק המשתמש האלה על ידי הגדרה של שדה borderType
ושל שדה borderStyle
.
אם לא מוגדר שדה borderStyle
, ברירת המחדל היא שלא יוצג גבול. אפשר להגדיר borderType
כדי להחיל אותו על כל הפריטים בווידג'ט, או להחיל את הסגנון על כל פריט בנפרד בווידג'ט.
בדוגמה הבאה מוצגת רשת עם 2 עמודות, ובכל משבצת ברשת יש תמונה. סוג הגבול, הסגנון והצבע הוגדרו כך שיחולו על כל הפריטים ברשת.
בדוגמה הבאה מוצגת רשת עם 3 עמודות, תמונה בכל משבצת וסגנון וסוג הגבול מוגדרים בנפרד. התמונה הראשונה כוללת גבול שמוגדר כ-STROKE
. בתמונה השנייה יש גבול שמוגדר כ-NO_BORDER
. בתמונה השלישית לא הוגדר גבול.
הוספת קרוסלה
בווידג'ט Carousel
מוצג אוסף של CarouselCard
אובייקטים שאפשר לגלול אותם במסך ומחוצה לו. אפשר להוסיף כמה ווידג'טים לכל CarouselCard
.
הוספת כותרת תחתונה קבועה
ווידג'ט CardFixedFooter
מייצג את הכותרת התחתונה של הודעת דו-שיח שנשלחת על ידי אפליקציית Chat. הכותרות התחתונות יכולות לכלול לחצן ראשי ולחצן משני.
הווידג'ט CardFixedFooter
זמין רק עבור תיבות דו-שיח.
הנה דוגמה לווידג'ט CardFixedFooter
עם שני לחצנים:
פתרון בעיות
כשמוחזרת שגיאה מאפליקציית Google Chat או מכרטיס, בממשק של Chat מוצגת ההודעה 'משהו השתבש'. או 'לא ניתן לעבד את הבקשה שלך'. לפעמים בממשק המשתמש של Chat לא מוצגת הודעת שגיאה, אבל אפליקציית Chat או הכרטיס מפיקים תוצאה לא צפויה. לדוגמה, יכול להיות שהודעה בכרטיס לא תופיע.
יכול להיות שלא תוצג הודעת שגיאה בממשק המשתמש של Chat, אבל אם הפעלתם את רישום השגיאות באפליקציות של Chat, תוכלו לראות הודעות שגיאה ונתוני יומן שיעזרו לכם לתקן את השגיאות. לקבלת עזרה בצפייה בשגיאות, באיתור באגים ובתיקון שלהן, אפשר לעיין במאמר פתרון בעיות ותיקון שגיאות ב-Google Chat.