אפליקציות חכמות

איך להרחיב את האפליקציה ל-Gemini ולחיפוש Google באמצעות Connected Apps Platform

רמקולים

  • Kateryna Semenova

    מהנדס בכיר לקשרי מפתחים

  • מאי לואו

    מנהל קבוצת מוצרים

מידע כללי

מידע על ההרצאה

פלטפורמת האפליקציות המקושרות החדשה מאפשרת לכם לשלב את השירותים של האפליקציה שלכם ישירות ב-Gemini, במצב AI בחיפוש Google ובמערכת Android Intelligence. בסשן הזה נספק מדריך מעשי לתחילת העבודה. בעזרת דוגמאות קוד וניתוח מקרים אמיתיים, נסביר על מחזור החיים של הפיתוח: בנייה, בדיקה ופרסום של האפליקציה המקושרת הראשונה שלכם, כדי להגיע למשתמשים בתהליכי העבודה שלהם שמבוססים על AI.

בסוף הפעילות הזאת, תוכלו:

  • משלבים את השירות עם Connected Apps Platform.
  • בודקים את השילוב בפלטפורמות שונות של AI.
  • פרסמו את התכונות של האפליקציה שלכם בתהליכי העבודה של המשתמשים ב-AI.

סיכום

  • פלטפורמת האפליקציות המקושרות מספקת נקודת כניסה אחת להפעלת יכולות של אפליקציות ב-Gemini ובחיפוש Google באמצעות סכימות הצהרתיות. הוא ייפתח בשלבים, החל מגרסת טרום-השקה (Preview) למפתחים בארה"ב.
  • השילובים משתמשים בתקן Model Context Protocol‏ (MCP) דרך שרתים מרוחקים או שרתים מקומיים במכשיר באמצעות ספריית AppFunctions Jetpack. שרתים מרוחקים יכולים גם להחזיר ממשק משתמש בהתאמה אישית שמוצג בתוך iframe.
  • כדי לשמור על אמון המשתמשים, ככל שהסיכון גבוה יותר, כך נדרשים יותר אישורים. המפתחים מסמנים כלים כ"לקריאה בלבד" או באמצעות destructiveHint, כדי ש-Gemini יבקש אישור מפורש כשפעולות משנות או מוחקות נתונים.
  • מצב המפתחים של Gemini מאפשר לבדוק את קריאות ה-API לכלי ואת זמן האחזור בנקודות קצה ציבוריות. היא זמינה עכשיו למפתחים בארה"ב.
  • ‫Google Connected Console מטפלת בהשקה בסביבת הייצור למפתחים שאושרו. אתם מגדירים נקודות קצה, מנהלים את הבודקים בפלטפורמות נבחרות ושולחים את האפליקציה לבדיקה.

משאבים

Gemini Notebook

נושאים

  • gemini
  • חיפוש
  • connected-apps
  • mcp
  • appfunctions
  • Android

תמליל

הורדת התמליל

מבוא

  • שלום לכולם.

  • אני מאי, מנהלת המוצר של Connected Apps Platform ב-Gemini.

  • בהמשך, תשמעו גם מקייט, מהנדסת DevRel שלנו.

  • היא תעלה.

  • לכן, היום אנחנו שמחים מאוד לדבר איתכם על איך אתם יכולים להרחיב את האפליקציה שלכם לכמה מהמוצרים הפופולריים ביותר של Google, ‏ Gemini וחיפוש Google.

  • אנחנו נסביר לכם איך ולמה אפליקציות מקושרות הן שימושיות ומועילות למשתמשים שלנו.

  • והכי טוב, נראה לכם מה צריך כדי לבנות אחד.

  • אז בואו נתחיל.

  • אני יודע שרבים מאיתנו ראו שמשהו עצום באמת קורה בסביבה העסקית של האפליקציות.

  • האופן שבו אנשים משתמשים במכשירים שלהם, מחפשים תשובות ומבצעים פעולות לא רק מתפתח.

  • הוא השתנה באופן מהותי.

  • אנשים כבר לא פותחים דפדפנים ולוחצים על כל מיני דברים.

  • הם מנהלים שיחה ישירה עם עוזרים אישיים כמו Gemini.

  • הם שואלים את Gemini שאלות מורכבות ומחפשים תשובות בחיפוש Google במגוון דרכים.

  • הם מצפים שמכשירי Android לא רק יבינו מה הם אומרים, אלא גם ידעו מה הם רוצים לעשות.

  • חשבו על כמה מתהליכי העבודה שלכם שאתם יכולים לבצע בכל יום נתון.

  • נניח שאתם מבקשים מ-Gemini עזרה בסיעור מוחות כדי למצוא כמה אפשרויות לסוף שבוע מהנה עם חברים במקום מסוים ובזמן מסוים.

  • המודלים של היום יכולים לעבד את התוכנית הזו תוך שניות.

  • זה מדהים.

  • הוא מאורגן.

  • ומה אז?

  • היא מסתיימת.

  • המשתמש נתקל במכשול ואין לו מה לעשות, יש לו רק תוכנית אבל שום דבר לא אושר.

  • המודל יודע מה לעשות, אבל אין לו ידיים כדי לעשות את זה.

  • לכן, צריך להעתיק את המידע מהשיחה עם Gemini ולהדביק אותו באפליקציה הרלוונטית.

  • לפעמים כשמשתמשים בנייד, זה ממש מסורבל.

  • אחר כך צריך לזכור את כל הפרטים ולהקליד אותם.

  • הקפיצה הקוגניטיבית הזו והחיכוך הזה הורסים לגמרי את הקסם.

  • ומה זה אומר מבחינתכם?

  • זה אומר שיש לכם ביקוש מצד משתמשים עם כוונת רכישה גבוהה, אבל הוא תקוע בבועת צ'אט במקום להביא משתמשים מעורבים לאפליקציה שלכם.

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

  • כרגע, הם מבלים הרבה זמן בשיחות עם עוזרים אישיים כמו Gemini.

  • כשמשתמש מביע כוונה אמיתית לבצע פעולה, זה רגע חשוב מאוד בתהליך שהוא עובר.

  • הם לא גולשים באופן פסיבי.

  • הם רוצים לעשות משהו ספציפי עכשיו.

  • כשמפעילים שילובים בין אפליקציות לבין המודלים הגנרטיביים האלה, עוזרים אישיים כמו Gemini יכולים לא רק לענות על שאלות, אלא גם לבצע משימות.

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

  • אתם יכולים לעזור להם לעשות את הקסם הזה ולבצע את הפעולה הזו באותו רגע.

  • ואני רוצה להבהיר משהו, כי אני יודע שכל מפתח ומוביל מוצר חושב על זה, אפליקציות מקושרות לא נועדו להסתיר את האפליקציה שלכם.

  • המותג, הלוגיקה העסקית, הקשרים המאומתים וחוויות ממשק המשתמש המותאמות אישית – כולם שייכים לכם.

  • אפליקציות מקושרות מאפשרות לשלב את השירותים שלכם בממשק API מבוסס-סוכנים, כדי שהמוצרים מבוססי-הסוכנים של Google יוכלו להפנות משתמשים עם כוונת רכישה גבוהה ישירות למוצר שלכם.

Connected Apps Platform

  • לכן, היום, ממש עכשיו, אני שמח מאוד להכריז באופן רשמי על השקת פלטפורמת האפליקציות המקושרות שלנו.

  • בעבר, כדי להגיע למשתמשים במוצרים שונים של Google, היה צריך לבצע שילוב שונה לכל אחד מהם.

  • אם רציתם פעולה או קיצור דרך באפליקציה ל-Android, הייתם צריכים ליצור אותם.

  • שילוב החיפוש, עוד אחד.

  • אבל אנחנו רוצים שהכול יהיה קל ונוח בשבילכם.

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

  • עכשיו אתם יכולים לפתח את תכונות האפליקציה פעם אחת באמצעות סכימות הצהרתיות סטנדרטיות, וכך הן יפעלו בשני המוצרים העיקריים שלנו, Gemini וחיפוש Google.

  • ובקרוב יהיו עוד מוצרים.

  • בואו נדבר על פוטנציאל החשיפה הזה ומה המשמעות שלו בשבילכם.

  • לא צריך ליצור כמה פלאגינים בהתאמה אישית, לנהל ארבעה מסופים שונים למפתחים ולתחזק כמה לחיצות ידיים מאומתות רק כדי להגיע למשתמשי Google ב-Android, ב-Gemini ובחיפוש Google.

  • בפלטפורמה המאוחדת שלנו, אתם יוצרים ורושמים את הגדרות הכלים פעם אחת.

  • אתם בוחרים את מוצרי Google שאתם רוצים, ואנחנו נותנים לכם כפתור הפעלה אחד ב-Google Connected Console החדש.

  • אחרי שתשיקו את היכולות, כל מי שמשתמש ב-Gemini או בחיפוש Google יוכל למצוא אותן.

  • לא משנה אם המשתמשים מקלידים ב-Gemini במחשב הנייד, שולחים סדרה של שאילתות בחיפוש Google באינטרנט או משתמשים בתכונות של Assistant ב-Android, הם יוכלו להשתמש באפליקציה שלכם בדיוק ברגע שהכי חשוב להם, ובדיוק במקום שבו הם נמצאים.

  • לכן, אנחנו פותחים את הפלטפורמה שלנו בשלבים, החל מגרסת טרום-ההשקה (Preview).

  • אני מבטיח לכם שכל הצוות עובד קשה מאוד כדי להביא את כל התכונות לכמה שיותר מכם, כמה שיותר מהר.

  • בשלב הזה של גרסת טרום-ההשקה (Preview), אנחנו פותחים את הפלטפורמה רק למפתחים בארה"ב.

  • כדי לקבל גישה, אפשר להירשם באמצעות טופס שנמצא במדריך למפתחים בכתובת developers.google.com/connected-apps. מפתחים ב-Play יכולים למצוא את הטופס גם בדף הבית של Google Play Console.

  • אז השאלה הבאה היא, עד כמה קשה לבנות דבר כזה?

  • אם יש לכם API בארכיטקטורת REST או Intent ב-Android, אתם במצב טוב.

  • אנחנו מתבססים על מושגים מוכרים למפתחים.

  • הפלטפורמה שלנו משתלבת עם תקן Model Context Protocol, או MCP, באמצעות שרתים ו-MCP מקומיים ל-Android.

  • כדי לשפר את חוויית השימוש שלכם, אנחנו משיקים היום תכונה חדשה ב-Gemini שנקראת "מצב פיתוח". היא זמינה לכולם בארה"ב כבר עכשיו.

  • כך תוכלו לשחק עם האפליקציה בתוך Gemini, לקבל משוב בזמן אמת על מצבי שגיאה, זמן אחזור ותשובות מהמודל.

  • ובקרוב תוכלו ליצור קבוצות הערכה משלכם, ולקבל כרטיסי ניקוד ונקודות השוואה של מדדי איכות.

  • זה הולך להיות מדהים.

  • לא משנה מה רמת הגישה שלכם לפלטפורמה, אתם תמיד יכולים לנסות את האפליקציה במצב פיתוח.

  • אני בטוח שאתם רוצים לשמוע עוד פרטים, וקייט תעלה לבמה מיד אחרי ותסביר לכם הכול תוך כמה דקות.

אמון, פרטיות ושליטה של המשתמשים

  • אז קודם כול, אני רוצה לדבר איתכם על משהו שהחשיבות שלו רק הולכת וגדלה: אמון המשתמשים.

  • בכל פעם שאנחנו מדברים על סוכנים שמבצעים פעולות בשם מישהו, השאלה הראשונה היא בדרך כלל "איך אנחנו שומרים על השליטה של המשתמש?"

  • אז הנה כמה מושגים פשוטים שיעזרו לכם להבין את זה.

  • קודם כל, האישורים שלנו משתנים בהתאם לרמת הסיכון.

  • אנחנו לא מתכוונים להציג חלון קופץ לפני כל קריאת API לכלי.

  • חיפוש מידע, בדיקת זמינות של תפריט, מעקב אחרי הזמנה – כל אלה צריכים להיות חלקים.

  • אבל כשלפעולה יש השלכות אמיתיות, כמו עריכה של תוכן משותף, השלמת הזמנה או מחיקה של תוכן שהמשתמש לא יכול לשחזר בקלות, המודל מבקש מהמשתמש אישור מפורש לפני שהוא מבצע את הפעולה.

  • שנית, מידע אישי רגיש מוצג ולא מוסתר.

  • לכן, המוצרים שלנו נועדו לבדוק איזה מידע אישי יכול להיות משותף עם האפליקציה שלכם.

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

  • שלישית, כשאנחנו מבקשים, אנחנו ספציפיים.

  • אנחנו לא שואלים שאלה מעורפלת כמו "בטוח?", אלא מציינים את שם האפליקציה ואת מה שנשלח או משתנה בפועל.

  • כך, האישור עוזר למשתמש להחליט באמת במקום להיות רק משהו שהוא לוחץ עליו באופן אקראי.

  • ואף אחד לא רוצה מסע מלא באישורים, אז המשתמשים מקבלים יותר שליטה על התדירות שבה הם מתבקשים לאשר.

  • באפליקציית Gemini, למשל, המשתמשים יכולים לבחור לכל אפליקציה ואפילו לכל פעולה אם לאשר את הפעולה כל הזמן או לא.

  • כל מה שזה אומר מבחינתכם הוא שאנחנו מבקשים מכם לסמן את הכלים שלכם בצורה כנה.

  • סמנו מה לקריאה בלבד, מה משתנה ומה מוחק נתונים.

  • האותות האלה עוזרים למוצרים שלנו להחליט מתי להציג את ההודעה למשתמש.

  • וקייט תראה לכם בדיוק איך לעשות את זה בעוד כמה דקות.

חוויות של שותפים והדרך לייצור

  • אז בואו נחזור למסע של סוף השבוע שדיברנו עליו, לחלק של התכנון.

  • זוכרים כמה זה היה קשה ומפוצל?

  • הייתה לכם תוכנית נהדרת לקבוצת חברים, אבל אז נתקלתם במכשול, הייתם צריכים להעתיק ולהדביק דברים, לעבור בין אפליקציות.

  • ‫Viator ו-Ticketmaster הם שניים מהשותפים המדהימים הראשונים שלנו, והם זיהו הזדמנות אמיתית לפגוש את המשתמשים במקום שבו הם נמצאים.

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

  • בזכות האפליקציות המקושרות שהשותפים האלה פיתחו, כל התהליך הרבה יותר חלק ופשוט.

  • בואו נראה.

  • המשתמש מחבר את האפליקציות ומבקש מ-Gemini למצוא סיור קולינרי בשעות היום ב-Viator וכמה כרטיסים להופעה ב-Ticketmaster לקבוצה של 4 אנשים.

  • ‫Gemini יכול לזהות את היכולת, להפעיל את הכלים של Viator ו-Ticketmaster ישירות, ולמלא את גודל הקבוצה, התאריכים וההעדפות הנכונים.

  • בלי לצאת מהשיחה, שתי האפליקציות שולפות את הזמינות בזמן אמת ומציגות למשתמש חוויות אינטראקטיביות עשירות ישירות בתוך הצ'אט.

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

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

  • המשתמשים שלכם כבר נעזרים בחיפוש Google וב-Gemini.

  • ביחד, אנחנו יכולים לעזור להם להגיע מעבר לתשובות ולספק חוויות עוצמתיות וקסומות באמת.

  • זה הכול ממני.

  • עכשיו אעביר את רשות הדיבור לקייט, שתסביר לכם בדיוק איך ליצור אפליקציה מקושרת.

  • בואו.

  • שלום לכולם.

  • אני קייט, מהנדסת קשרי מפתחים, ואני עוזרת למפתחים כמוך לשלב את האפליקציות שלהם ב-Connected Apps Platform.

  • אז אני אסביר לכם איך לבדוק, ליצור ולפרוס את האפליקציה המקושרת.

  • כמו שמאי ציינה קודם, יש שתי שיטות עיקריות לשילוב עם Connected Apps Platform: באמצעות שרת MCP מרוחק באמצעות פרוטוקול MCP, או באמצעות Android MCP, כשאתם יכולים ליצור את שרת ה-MCP המרוחק במכשיר באמצעות ספריית AppFunctions.

  • מומלץ להשתמש בשרתי MCP מרוחקים כשרוצים לשלב בין פלטפורמות כמו Android,‏ iOS ואינטרנט.

  • בנוסף, קיבלנו משוב מחלק מהמפתחים שלפעמים אתם מעדיפים הפעלה מקומית, כשנתוני האפליקציה זמינים רק במכשיר.

  • בתרחישים לדוגמה כאלה, מומלץ להשתמש ב-Android MCP באמצעות ספריית AppFunctions Jetpack.

  • כדאי גם לצפות בהרצאה הייעודית שבה דן ושרה מסבירים לעומק איך לשלב את האפליקציה עם פלטפורמת האפליקציות המקושרות באמצעות AppFunctions ו-Android MCP.

שילוב והדגמה של שרת MCP מרוחק

  • עכשיו נראה איך יוצרים שרת MCP מרוחק.

  • כדי להראות לכם איך זה עובד בפועל, בנינו את האפליקציה המקושרת הרשמית של AndroidDevSummit.

  • אז בואו נראה איך זה עובד.

  • בואו נחזור להדגמה בשידור חי.

  • לדוגמה, אתם יכולים לשאול: "AndroidDevSummit, tell me more about XR sessions" (ספר לי עוד על מפגשי XR).

  • בשלב הזה, Gemini מתחבר לשרת ה-MCP שלנו שבנינו בשביל האפליקציה המקושרת הזו.

  • הוא מוצא את הכלי המתאים להפעלה ומשתמש בנתונים שלו כדי ליצור תשובה ידידותית למשתמש.

  • אז הוא מוצא את המידע על הסשנים שקשורים ל-XR כאן ליום 1 וליום 2, ובסוף הוא מעבד את הווידג'ט הממותג בהתאמה אישית שלנו ל-AndroidDevSummit עם הרובוט של Android.

  • אז אתם יכולים להשתמש בווידג'ט הזה ישירות ב-Gemini.

  • אתם יכולים לעיין בלוח הזמנים, למשל לשנות את המיקום או לסנן לפי יום.

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

  • אז, יש!

  • הכול בתוך Gemini, חוויה מותאמת אישית למותג שלכם, והמשתמשים לא צריכים לעבור, המשתמשים לא צריכים ללכת ולמצוא מידע אחר באפליקציה אחרת, הכול במקום אחד בלי אינטראקציה – בלי לעבור או לעזוב את האפליקציה עצמה.

  • אז בואו נחזור לשקפים.

פיתוח שרת MCP וממשק משתמש בהתאמה אישית

  • בואו נראה איך יוצרים את האפליקציות המקושרות האלה.

  • לכן, קל מאוד להפעיל את שרת ה-MCP באמצעות ספריית FastMCP, אבל יש ארבע שיטות מומלצות וחשובות מאוד שצריך לפעול לפיהן.

  • קודם כל, צריך לספק הוראות מפורשות לשרת.

    from mcp.server.fastmcp import FastMCP
    
    mcp = FastMCP(
        name="ADS-MCP",
        instructions=(
            "A Model Context Protocol server providing event "
            "overview, schedules, sessions, speakers, and "
            "sandbox demos for the Android Developer Summit "
        ),
    )
  • כשמפעילים את שרת ה-MCP, תמיד צריך להגדיר הוראות ברורות שמתארות את הדומיין והיכולות של האפליקציות המקושרות.

  • Connected Apps Platform מסתמכת על ההוראות האלה כדי לדעת מתי להעביר את הבקשה לשרת שלכם.

  • בנוסף, Google Connected Console, שאציג לכם בהמשך, גם מאמת באופן מפורש שההוראות האלה קיימות.

  • שנית, הוסיפו הערות לכלי כדי לשמור על הבטיחות והשליטה.

    @mcp.tool(
        title="List Sessions",
    
        annotations=ToolAnnotations(
            readOnlyHint=True,
            destructiveHint=False,
        ),
    
        meta={ … },
    )
    def list_sessions( … )
    …
  • לשרת ה-ADS שלנו יש את שתי ההערות האלה.

  • חשוב שהמודל ידע אם הכלי הוא לקריאה בלבד או שהוא משנה נתונים.

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

  • כך, פלטפורמת האפליקציות המקושרות תדע שהיא צריכה להציג למשתמש הודעת אישור, כדי שהוא יוכל להשלים את הפעולה הזו.

  • אפשר גם להגדיר את הכלים ב-Google Connected Console, שאראה לכם בהמשך.

  • שלישית, סכימות עם טיפוסים חזקים (strongly typed) ותיאורי פונקציות סמנטיים.

    def list_sessions(
        track: Optional[str] = None,
        location: Optional[str] = None,
    ) -> List[Dict[str, Any]]:
        """Lists all sessions, optionally filtered by track
        (e.g. 'Tools and performance', 'Apps Foundation',
        'AI experiences', 'Android XR') or location
        (e.g. 'MTV', 'Mountain View', 'London', 'LON').
        """
        …
  • התייחסו למחרוזות התיעוד של הפרמטרים כחלק מההנחיה.

  • בכלי list_sessions הזה, אנחנו מתעדים באופן מפורש את הערכים הצפויים, כמו כלים וביצועים, או MTV לעומת לונדון למיקום.

  • הגורם החשוב ביותר לקריאת API מדויקת לכלי הוא סכימות ברורות ומפורטות.

  • והאחרון, קישור מטא-נתונים של משאבי ממשק משתמש.

    @mcp.tool(
        …
        meta={
            "ui": {
                "resourceUri": "ui://ads-mcp/summit-app",
            },
            …
        },
    )
    def list_sessions(…)
    …
  • תסתכלו על הגדרת ממשק המשתמש שלנו במטא.

  • המטא-נתונים האלה הם הגשר שמורה ל-Gemini לקשר את הפלט של הכלי ישירות למשאב של ממשק המשתמש המותאם אישית שלנו כאן.

  • זה מוביל אותנו לעיבוד של ממשק המשתמש.

    @mcp.resource(
        "ui://ads-mcp/summit-app",
        name="summit-app",
        mime_type="text/html",
    )
    def get_summit_ui() -> ResourceResult:
        """Renders the interactive ADS 2026 dashboard."""
        return ResourceResult([
            ResourceContent(
                _build_summit_ui_html(),
                mime_type="text/html",
            )
        ])
  • פלטפורמת האפליקציות המקושרות מאפשרת לכם להציג ממשקי משתמש עשירים משרת ה-MCP שלכם באמצעות ממשק המשתמש של אפליקציות MCP.

  • ואם אתם רוצים גמישות מלאה לממשק מותאם אישית שמבטא את המותג, כמו מפגש של מפתחי Android, אתם יכולים לחשוף את משאב ממשק המשתמש של MCP.

  • ‫Gemini יכול לעבד את התוכן ב-iframe מאובטח בארגז חול (sandbox).

תהליך עבודה של בדיקה ואימות

  • אחר כך אסביר איך בודקים ופורסים את האפליקציה המקושרת, ישירות מהמחשב המקומי לסביבת הייצור.

  • כן.‏

  • בואו נראה איך אפשר לפתח ולבדוק באופן מקומי.

  • במהלך הפיתוח, אתם יכולים להפעיל בקלות את השרת באופן מקומי באמצעות הפקודה הראשונה.

    ./venv/bin/python server.py
    npx @modelcontextprotocol/inspector
  • ואז אתם יכולים להשתמש ב-MCP Inspector כדי לנפות באגים בשרת, לראות את הכלים הזמינים וגם לבצע פעולות בממשק המשתמש.

  • זו רק דוגמה לאופן שבו נראה MCP Inspector במפגש של מפתחי Android.

  • כך תוכלו לראות את הכלים, לראות גם את ממשק המשתמש ולבדוק אותו באופן מקומי.

  • שנית, צריך לפרוס את שרת ה-MCP בנקודת קצה מרוחקת כלשהי כדי לקבל גישה ולאמת אותו במצב פיתוח ב-Gemini.

  • אתם יכולים לארח את נקודת הקצה של ה-MCP בכל תשתית או ספק שירותי ענן.

  • אבל אם אתם מעדיפים את Google Cloud, קל מאוד להשתמש בו עם Google Cloud CLI.

  • פשוט משתמשים בפקודה הפשוטה הזו כדי לפרוס את האפליקציה, והיא תהיה זמינה מרחוק.

    gcloud run deploy ads-mcp-server
  • השלב הבא הוא לאמת את נקודת הקצה הציבורית במצב פיתוח ב-Gemini.

  • אז בואו נחזור להדגמה בשידור חי, ואראה לכם איך להשתמש במצב פיתוח בפועל.

  • כדי למצוא את מצב הפיתוח, פשוט עוברים להגדרות ולוחצים על "מצב פיתוח".

  • אחר כך תצטרכו לבחור את האפליקציה המקושרת שאתם רוצים לבדוק.

  • לדוגמה, אפשר ליצור שרת חדש פשוט על ידי הזנת כתובת URL של שרת MCP כאן.

  • כבר יצרתי אחד לבדיקה, שנקרא ADS MCP, עם נקודת הקצה לבדיקה.

  • ואני רק רוצה לבדוק איך זה עובד עם Gemini מקצה לקצה.

  • אז בואו נשאל משהו.

  • "ADS MCP, תן לי עוד פרטים על האירוע".

  • אז עכשיו Gemini מפעיל את שרת ה-MCP שלנו, ואפשר גם לראות איזה כלי מופעל במצב פיתוח.

  • לדוגמה, בהנחיה הספציפית הזו, "Tell me more about the event", בוצעה קריאה ל-get_summit_info.

  • אפשר גם לראות את התגובה שהצליחה.

  • אפשר גם לראות את זמן האחזור.

  • אתם יכולים גם לראות את כל פרטי הבקשה והתשובה.

  • לדוגמה, יש לנו הרבה מידע על התגובה שלנו.

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

  • אפשר גם להעתיק אותו, וזה מאוד נוח אם רוצים לשתף אותו עם חבר בצוות.

  • אפשר גם לייצא את כל יומן האירועים ולשתף אותו אם צריך.

  • עוד דבר שאני אוהב הוא שאפשר גם לחקור כלים אחרים שזמינים, אז כאן במצב מפתחים אפשר לראות את get summit info,‏ list session וכלים אחרים.

  • אתם יכולים גם לשנות את הסביבה כדי לדמות הקשרים שונים של משתמשים.

  • לדוגמה, אתם יכולים לשנות את השעה ביום או את ההעדפות כמו שפות, וגם להגדיר את האימות.

  • אז זה היה מצב פיתוח.

  • ואתם יכולים להתחיל לבנות את שרת ה-MCP שלכם כבר היום, ולבדוק אותו במצב פיתוח.

  • הוא זמין לכולם כבר עכשיו.

  • בואו נחזור לשקפים.

  • אוקיי.

  • נניח שכבר בדקתם את התיוג באמצעות מצב פיתוח והכול נראה תקין. מה עושים עכשיו?

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

  • הוא זמין גם במסמכי העזרה שלנו וב-Google Connected Console.

הכנה לייצור ומשאבים

  • אחרי שהבקשה תאושר, תהיה לך גישה ל-Google Connected Console, שם אפשר להכין את האפליקציה להשקה בסביבת הייצור.

  • במסוף, צריך לבצע רק כמה שלבים כדי להכין את האפליקציה.

  • קודם כול, צריך ליצור שם אפליקציה מקושרת חדשה ולתת לה שם.

  • ואז פשוט צריך לבחור את היכולות ואת הקטגוריה.

  • לדוגמה, בחרנו באפשרות "פרודוקטיביות". עכשיו פשוט לוחצים על "יצירה".

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

  • כשמגדירים את שרת ה-MCP, צריך לציין את נקודת הקצה.

  • צריך לאמת שהדומיין הזה שייך לכם, ואפשר גם להגדיר פרטי כניסה לכלי סנכרון.

  • חשוב לזכור ש-Google Console יוצרת תמונת מצב של סכימת ה-MCP, כך שבכל פעם שאתם מבצעים שינויים בסכימה, אתם צריכים לחזור ולפרוס אותה מחדש.

  • אחרי זה, אתם יכולים פשוט להגדיר את זמינות האפליקציה.

  • אתם יכולים לבחור באילו אזורים האפליקציה תהיה זמינה, באילו שפות, באילו פלטפורמות ובהגדרות אישיות אחרות של הכלים.

  • משם, פשוט לוחצים על "העברת השינויים" ושולחים את השינויים לבדיקה ב-Gemini Stage.

  • אפשר גם להוסיף חשבונות בדיקה בקטע "ניהול הבודקים".

  • אפשר לבדוק את הפעולה באופן מיידי באמצעות חשבונות הבדיקה האלה באינטרנט, בנייד או בכל פלטפורמה אחרת שנבחרה קודם, כמו Gemini או חיפוש Google, ואז לשלוח אותה לתצוגה מקדימה סופית.

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

  • זה הכול!

  • אנחנו סקרנים לראות מה אפשר ליצור באמצעות Connected Apps Platform, בין אם חושפים את יכולות האפליקציה דרך שרת MCP מרוחק או דרך Android MCP.

  • נשמח לעזור לך ליצור את השילובים המדהימים האלה.

  • פשוט פועלים לפי המסמכים האלה והדוגמאות שלנו שזמינות באמצעות הברקוד הזה.

  • תודה רבה שהצטרפת אלינו היום.

  • בהצלחה!

קוד

קטעי קוד

קטע קוד ב-Python בדקה 14:56 בסרטון "פיתוח שרת MCP וממשק משתמש בהתאמה אישית"
from mcp.server.fastmcp import FastMCP

mcp = FastMCP(
    name="ADS-MCP",
    instructions=(
        "A Model Context Protocol server providing event "
        "overview, schedules, sessions, speakers, and "
        "sandbox demos for the Android Developer Summit "
    ),
)
קטע קוד ב-Python בדקה 15:22 בסרטון "פיתוח שרת MCP וממשק משתמש בהתאמה אישית"
@mcp.tool(
    title="List Sessions",

    annotations=ToolAnnotations(
        readOnlyHint=True,
        destructiveHint=False,
    ),

    meta={ … },
)
def list_sessions( … )
…
קטע קוד ב-Python בדקה 16:08 בסרטון "פיתוח שרת MCP וממשק משתמש מותאם אישית"
def list_sessions(
    track: Optional[str] = None,
    location: Optional[str] = None,
) -> List[Dict[str, Any]]:
    """Lists all sessions, optionally filtered by track
    (e.g. 'Tools and performance', 'Apps Foundation',
    'AI experiences', 'Android XR') or location
    (e.g. 'MTV', 'Mountain View', 'London', 'LON').
    """
    …
קטע קוד ב-Python בדקה 16:32 בסרטון "פיתוח שרת MCP וממשק משתמש בהתאמה אישית"
@mcp.tool(
    …
    meta={
        "ui": {
            "resourceUri": "ui://ads-mcp/summit-app",
        },
        …
    },
)
def list_sessions(…)
…
קטע קוד ב-Python בדקה 16:49 בסרטון "פיתוח שרת MCP וממשק משתמש בהתאמה אישית"
@mcp.resource(
    "ui://ads-mcp/summit-app",
    name="summit-app",
    mime_type="text/html",
)
def get_summit_ui() -> ResourceResult:
    """Renders the interactive ADS 2026 dashboard."""
    return ResourceResult([
        ResourceContent(
            _build_summit_ui_html(),
            mime_type="text/html",
        )
    ])
קטע קוד של Shell בדקה 17:29 בסרטון "תהליך עבודה של בדיקה ואימות"
./venv/bin/python server.py
npx @modelcontextprotocol/inspector
קטע קוד של Shell בדקה 18:16 בסרטון Testing and validation workflow
gcloud run deploy ads-mcp-server