1. סקירה כללית
פעולות באפליקציה מאפשרות למשתמשים להפעיל ישירות תכונות ספציפיות באפליקציה מ-Google Assistant, וכך לעזור לכם להרחיב את טווח ההגעה של אפליקציית Android שלכם. כמפתחי Android, אתם יכולים להטמיע יכולות שמאפשרות ל-Google Assistant לדעת איזה סוג של פונקציונליות זמין למשתמשים ואיך אתם רוצים למלא את הבקשות האלה.
בCodelab הראשון בנושא פעולות באפליקציות למדתם איך להרחיב את היכולות של Google Assistant לאפליקציית כושר לדוגמה באמצעות הטמעה של כוונות מובנות (BII) מהקטגוריה 'בריאות וכושר'. ממשקי BII מאורגנים בקטגוריות שמייצגות את סוגי המשימות שמשתמשים מבקשים מ-Assistant לבצע.
ב-codelab הזה תלמדו איך להוסיף פעולות באפליקציה לאפליקציה באמצעות BIIs מהקטגוריה 'נפוצות' של BIIs, שמייצגת משימות נפוצות באפליקציה שניתן לבצע כמעט בכל אפליקציית Android.
ב-codelab הזה נסביר מושגים ברמת ביניים לפיתוח פעולות באפליקציות. צריך להיות לכם ניסיון קודם בפיתוח אפליקציות ל-Android ובהטמעה של כוונות (intents) ב-Android.
מה תפַתחו
ב-codelab הזה מוסיפים שתי פעולות BII נפוצות לאפליקציה לדוגמה של רשימת מטלות, כדי לאפשר למשתמשים לבקש מ-Assistant:
- אפשר לנווט לתכונות באפליקציה באמצעות ה-BII
actions.intent.OPEN_APP_FEATURE. - חיפוש תוכן באמצעות חיפוש בתוך האפליקציה עם
actions.intent.GET_THINGBII.

איור 1. שלושה מסכים מתקדמים שבהם Google Assistant מציגה משימות פעילות באפליקציה.
מה תלמדו
תלמדו איך להשתמש ב-BIIs נפוצים מקטגוריה B כדי להרחיב את השימוש ב-Assistant לרוב אפליקציות Android. בנוסף, תלמדו איך לבדוק ממשקי BII נפוצים באמצעות הפלאגין של Google Assistant ל-Android Studio.
דרישות מוקדמות
- טרמינל להרצת פקודות של מעטפת עם Git מותקן.
- הגרסה היציבה האחרונה של Android Studio.
- מכשיר Android פיזי או וירטואלי עם גישה לאינטרנט לחנות Google Play כדי לבדוק את הפעולות.
- צריך להיכנס לאותו חשבון Google ב-Android Studio, ובאפליקציית Google ובאפליקציית Google Assistant במכשיר הבדיקה.
ב-codelab הזה, משתמשים במכשיר Android (פיזי או וירטואלי) כדי לבדוק את הפעולות. אם משתמשים במכשיר פיזי, צריך לוודא שהוא מחובר למכונת הפיתוח המקומית. בנוסף, אתם צריכים להיות מחוברים לאפליקציית Google במכשיר ומחוברים ל-Android Studio באמצעות אותו חשבון Google. במכשיר צריכה להיות מותקנת גם אפליקציית Google Assistant.
2. איך זה עובד
פעולות באפליקציה מקשרות משתמשים מ-Google Assistant לאפליקציית Android שלכם. אבל איך הן פועלות?
כשמשתמש מציין ל-Assistant שהוא רוצה להשתמש באפליקציה שלכם, Assistant מחפש פעולות באפליקציה שרשומות באפליקציה שלכם מתוך קובץ shortcuts.xml. הקובץ הזה מכיל את היכולות של האפליקציה, שמקשרות בין כוונה מובנית או כוונה בהתאמה אישית של Assistant לבין כוונה או קישור עומק של Android.
כשמשתמש אומר שאילתה לעוזר האישי, העוזר האישי מנתח את הקלט של המשתמש ומתאים אותו לכוונת פעולה באפליקציה (ב-Codelab הזה, זו תהיה BII). העוזר הדיגיטלי יודע אילו יכולות אתם תומכים בהן מתוך קובץ shortcuts.xml באפליקציית Android שלכם. בהתאמה לכוונת המשתמש, היכולת עם ה-BII הזה מכילה את האופן שבו אתם רוצים למלא את הבקשה הזו. ב-codelab הזה, ההשלמה היא intent של Android שמפעיל פעילות באפליקציה.
התרשים הבא מציג את התהליך הזה ב-Assistant:
איור 2. תרשים שמראה איך Google Assistant מעבדת שאילתה קולית.
קובץ הפרויקט shortcuts.xml מכיל את הפרטים הבאים לגבי כל פעולת אפליקציה:
- הכוונה המובנית או הכוונה המותאמת אישית שבה פעולות באפליקציה משתמשות
- איזו פעילות ב-Android או קישור עומק צריך לספק למשתמש
- איך פרמטרים של כוונות מובנות ממופים למידע שהמשתמש מספק ל-Assistant
הפעילות ב-Android מסננת את הכוונה או את קישור העומק שסופקו ל-Android ומטפלת בהם כדי לספק למשתמש את הפונקציונליות הרצויה. התוצאה היא חוויית משתמש שבה Assistant מפעילה את תכונות האפליקציה בתגובה לשאילתה של משתמש.
3. הכנת סביבת הפיתוח
ב-codelab הזה נעשה שימוש באפליקציה לדוגמה של רשימת מטלות ל-Android. באפליקציה לדוגמה הזו אפשר להוסיף פריטים לרשימות משימות, לחפש פריטים לפי קטגוריה ולראות מידע על משימות שהושלמו.
הורדת קבצי הבסיס
מריצים את הפקודה הבאה כדי לשכפל את מאגר GitHub של האפליקציה לדוגמה:
git clone --branch codelab-start https://github.com/actions-on-google/appactions-common-biis-kotlin.git
אחרי שיבוט המאגר, פועלים לפי השלבים הבאים כדי לפתוח אותו ב-Android Studio:
- בתיבת הדו-שיח Welcome to Android Studio (ברוכים הבאים ל-Android Studio), לוחצים על Import project (ייבוא פרויקט).
- מוצאים את התיקייה שבה שיבטתם את המאגר ובוחרים בה.
כדי לראות גרסה של האפליקציה שמייצגת את ה-codelab המלא, משכפלים את מאגר האפליקציה לדוגמה באמצעות הדגל --branch master.
עדכון מזהה האפליקציה ל-Android
עדכון מזהה האפליקציה של האפליקציה מזהה באופן ייחודי את האפליקציה במכשיר הבדיקה ומונע את השגיאה 'שם חבילה כפול' אם האפליקציה מועלית ל-Play Console. כדי לעדכן את מזהה האפליקציה, פותחים את app/build.gradle:
android {
...
defaultConfig {
applicationId "com.MYUNIQUENAME.android.fitactions"
...
}
}
מחליפים את הערך MYUNIQUENAME בשדה applicationId במשהו ייחודי לכם.
בדיקת האפליקציה במכשיר
לפני שמבצעים שינויים נוספים באפליקציה, כדאי להבין מה האפליקציה לדוגמה יכולה לעשות. כדי להריץ את האפליקציה באמולטור, פועלים לפי השלבים הבאים:
- ב-Android Studio, בוחרים באפשרות Run (הרצה) > Run app (הרצת האפליקציה) או לוחצים על Run (הרצה)
בסרגל הכלים. - בתיבת הדו-שיח Select Deployment Target, בוחרים מכשיר ולוחצים על OK. גרסת מערכת ההפעלה המומלצת היא Android 10 (רמת API 30) ומעלה, למרות שהפעולות פועלות במכשירים עד Android 5 (רמת API 21).
- לוחצים לחיצה ארוכה על הכפתור הראשי כדי להגדיר את Assistant ולוודא שהיא פועלת. אם עדיין לא נכנסתם לחשבון שלכם ב-Assistant במכשיר, תצטרכו לעשות זאת.
מידע נוסף על מכשירים וירטואליים של Android זמין במאמר יצירה וניהול של מכשירים וירטואליים.

איור 3. אנימציה שמדגימה את אפליקציית הדוגמה של רשימת המשימות.
כדאי לעיין באפליקציה כדי להבין מה היא יכולה לעשות. בלחיצה על סמל הפלוס אפשר ליצור משימה חדשה, ובעזרת האפשרויות בתפריט שבפינה השמאלית העליונה אפשר לחפש משימות ולסנן אותן לפי סטטוס הביצוע.
התקנת פלאגין הבדיקה
התוסף Google Assistant מאפשר לכם לבדוק את פעולות האפליקציה במכשיר בדיקה. אם עדיין אין לכם את כלי הבדיקה, אתם צריכים להתקין אותו לפי השלבים הבאים:
- עוברים אל File > Settings (קובץ > הגדרות) (Android Studio > Preferences (הגדרות) ב-MacOS).
- בקטע Plugins (פלאגינים), עוברים אל Marketplace ומחפשים את Google Assistant. אפשר גם להוריד ולהתקין את כלי הבדיקה באופן ידני.
- אם אתם לא מוצאים את הפלאגין ב-Marketplace, אתם יכולים להוריד את הפלאגין באופן ידני ולפעול לפי ההוראות במאמר התקנת הפלאגין מהדיסק.
- מתקינים את הכלי ומפעילים מחדש את Android Studio.
4. הוספת היכולת Get Thing BII
ה-BII actions.intent.GET_THING מרחיב את פונקציית החיפוש באפליקציה ל-Google Assistant. בשלב הזה תטמיעו ותבדקו את GET_THING BII, כדי לאפשר למשתמשים לחפש משימות ספציפיות באפליקציה לדוגמה.
הגדרת היכולת Get Thing
במהלך פעולה באפליקציה שקשורה לחיפוש, Assistant מחלצת מונחי חיפוש משאילתת המשתמש לפרמטר thing.name BII, ואז מעבירה את הערך הזה לאפליקציה ל-Android.
כדי להוסיף את ה-BII GET_THING לאפליקציה, מעדכנים את shortcuts.xml, שנמצא בספריית פרויקט הדוגמה app/src/main/res/xml, עם רכיב <capability> בתוך התג <shortcuts> ברמה העליונה:
shortcuts.xml
<shortcuts ....>
<capability android:name="actions.intent.GET_THING">
<intent
android:action="android.intent.action.VIEW"
android:targetPackage="com.yourApplicationId.appaction"
android:targetClass="com.example.android.architecture.blueprints.todoapp.tasks.TasksActivity">
<parameter
android:name="thing.name"
android:key="q"/>
</intent>
</capability>
</shortcuts>
ההגדרה שלמעלה:
- מצהיר שהאפליקציה מגיבה ל-BII
GET_THING. - המדיניות מציינת איך ליצור intent של Android שמפעיל את האפליקציה בתגובה ל-BII הזה.
- הפעילות מזוהה באמצעות
targetPackageו-targetClass. - הפרמטר
thing.nameשל BII ממופה ל-Intent Extra בשםq.
- הפעילות מזוהה באמצעות
הפעילות שצוין השם שלה חייבת להיות במניפסט של האפליקציה ולייצא אותה.
אפליקציה ל-Android ששלחת מכילה מטא-נתונים, ולכן קובץ AndroidManifest מודע לקובץ shortcuts.xml:
<meta-data
android:name="android.app.shortcuts"
android:resource="@xml/shortcuts" />
בדיקת פעולה באפליקציה
כדי לבדוק את החיפוש באפליקציה שלכם מ-Assistant, פועלים לפי השלבים הבאים:
- מוודאים שמכשיר Android מחובר.
- עוברים אל כלים > Google Assistant > כלי לבדיקת פעולות באפליקציות.
- לוחצים על יצירת תצוגה מקדימה כדי לאשר את ערכי ברירת המחדל של שם האפליקציה והלוקאל. אם תופיע בקשה, תצטרכו לקרוא את התנאים וההגבלות ואת מדיניות 'פעולות באפליקציה' ולאשר אותם.
- בשלב הראשון שבו הכלי מבקש לבחור ולהגדיר BII, בוחרים באפשרות
actions.intent.GET_THING. משנים את הערך שלnameמ-running shoesל-milk. - לוחצים על הפעלת פעולת אפליקציה.
בבדיקה הזו, GET_THING BII משתמש במאפיין name כדי לחפש באפליקציה משימות שמכילות את המילה 'חלב'. בדומה לפעולת האפליקציה הקודמת, אפשר לבדוק את הפעולה באמצעות כלי הבדיקה, או פשוט לומר "Ok Google, חפש תערובת לעוגה ברשימת המשימות" או ביטויי חיפוש אחרים במכשיר הבדיקה.
5. הוספת יכולת BII של התכונה 'פתיחת אפליקציה'
בשלב הזה מטמיעים את תכונת ה-BII של פתיחת אפליקציה, כדי לאפשר למשתמשים לראות את המשימות הפעילות והמושלמות שלהם באמצעות Assistant. כדי לעשות זאת, משלימים את היכולת ב-shortcuts.xml, שכוללת מידע על האופן שבו היכולת מופעלת, על האופן שבו הפרמטרים מועברים ועל כוונות Android להפעלה. ב-codelab הזה תשתמשו ב-OPEN_APP_FEATURE BII. אחרי שמטמיעים את ה-BII הזה, בודקים את הפעולה במכשיר.
הוספת היכולת 'פתיחת האפליקציה'
מוסיפים יכולת שנייה לתכונה Open app (פתיחת אפליקציה) ב-shortcuts.xml מתחת לרכיב Get Thing Capability (קבלת יכולת של דבר):
shortcuts.xml
<capability android:name="actions.intent.OPEN_APP_FEATURE">
<intent
android:action="android.intent.action.VIEW"
android:targetPackage="yourApplicationId"
android:targetClass="com.example.android.architecture.blueprints.todoapp.tasks.TasksActivity">
<parameter
android:name="feature"
android:key="feature"/>
</intent>
</capability>
היכולת הזו ממפה את ה-BII של התכונה 'פתיחת אפליקציה' ואת ה-Intent של Android יחד, כך שכשהתכונה 'פתיחת אפליקציה' מופעלת, ה-Intent של Android מופעל.
לפני הפעלת ה-Intent של Android, פרמטרים נתמכים נשלפים מהקלט של המשתמש. ה-BII OPEN_APP_FEATURE תומך בפרמטר אחד, feature, שמייצג את תכונת האפליקציה שחולצה משאילתת המשתמש. יש שני סוגים של תכונות שהאפליקציה הזו תתמוך בהן: משימה פעילה ומשימה שהושלמה. התכונות האלה מאפשרות למשתמשים לפתוח את האפליקציה עם תצוגה מסוננת של רשימת המשימות שלהם. כדי להשתמש בתכונות האלה, צריך להשתמש במלאי שטחי פרסום מוטמע.
טיפול בפרמטרים של כוונת המשתמש באמצעות מלאי שטחי פרסום בתוך הטקסט
פרמטרים של כוונת המשתמש מייצגים את הרכיבים שחולצו משאילתת משתמש. לדוגמה, אם משתמש אומר משהו כמו "Ok Google, תזמין פיצה מ-ExampleApp", Assistant מחלץ את המילה "פיצה" לפרמטר של כוונת משתמש food.item schema.org, ומעביר את הפרמטר לפעולה שלכם כדי לטפל בו.
תכונת ה-BII 'פתיחת אפליקציה' תומכת בפרמטר אחד, feature, שמייצג את התכונה של האפליקציה שחולצה משאילתת המשתמש. כדי להשתמש בפרמטר הזה, צריך להגדיר מלאי שטחי פרסום מוטמע. מלאי שטחי הפרסום הזה מספק ל-Assistant קבוצה של שמות תכונות נתמכות באפליקציה, כדי להתאים את ערך הפרמטר.
כדי לטפל בפרמטר של הכוונה feature, מוסיפים קיצור דרך ל-shortcuts.xml עם הקוד הבא מעל היכולת של תכונת פתיחת האפליקציה:
shortcuts.xml
<shortcut
android:shortcutId="active_tasks"
android:shortcutShortLabel="@string/label_active"
android:enabled="false">
<capability-binding
android:key="actions.intent.OPEN_APP_FEATURE">
<parameter-binding
android:key="feature"
android:value="@array/active_tasks_synonyms" />
</capability-binding>
</shortcut>
<shortcut
android:shortcutId="completed_tasks"
android:shortcutShortLabel="@string/label_completed"
android:enabled="false">
<capability-binding
android:key="actions.intent.OPEN_APP_FEATURE">
<parameter-binding
android:key="feature"
android:value="@array/completed_tasks_synonyms" />
</capability-binding>
</shortcut>
בדוגמה שלמעלה, הגדרתם מלאי שטחי פרסום מוטבע, שמיוצג כרכיבי shortcut עם קישורי יכולות ופרמטרים. אפשר להשתמש בקיצורי דרך כמלאי שטחי פרסום לפרמטרים של BII. Google Assistant מתאימה את שאילתת המשתמש לערכים בהתאמת הפרמטרים של קיצורי הדרך. אם יש התאמה לערך של פרמטר, הערך shortcutId יתווסף לכוונת ההשלמה. כשמשתמש מפעיל את OPEN_APP_FEATURE BII עם בקשה, Assistant מתאים את ערך הפרמטר של התכונה לערך המאפיין של קיצור הדרך, ומעביר את הערך אל targetClass בתור parameter ב-Extra.
לדוגמה, אם משתמש אומר משהו כמו "Ok Google, תציג את המשימות שהושלמו באפליקציה ExampleApp", Assistant מתאימה את הערך של פרמטר הכוונה של התכונה, "משימות שהושלמו", לקיצור הדרך המתאים במלאי, ומעבירה את הערך הזה ליכולת OPEN_APP_FEATURE. לאחר מכן, Assistant מפעילה את הכוונה ב-Android.
בדיקת פעולה באפליקציה
במהלך הפיתוח והבדיקות, משתמשים בתוסף Google Assistant כדי לצפות בתצוגה מקדימה של פעולת האפליקציה באמצעות Assistant במכשיר בדיקה. אתם יכולים גם להשתמש בכלי כדי לשנות את פרמטר הכוונה של פעולה באפליקציה, ולבדוק איך הפעולה מטפלת בדרכים השונות שבהן משתמש יכול לבקש מ-Assistant להפעיל אותה.
כדי לבדוק את פעולת האפליקציה באמצעות כלי הבדיקה, פועלים לפי השלבים הבאים:
- מחברים את מכשיר הבדיקה הפיזי של Android או מפעילים את אמולטור Android
- אם הכלי לבדיקה לא מוצג, פותחים אותו דרך Tools > Google Assistant > App Actions Test Tool (כלים > Google Assistant > הכלי לבדיקת פעולות באפליקציה).
- לוחצים על הלחצן עדכון כדי לרענן את התצוגה המקדימה.
- בשלב הראשון שבו הכלי מבקש לבחור ולהגדיר BII, בוחרים באפשרות
actions.intent.OPEN_APP_FEATURE. - בתיבה feature, מעדכנים את ערך ברירת המחדל
Historyל-Completed tasks. - לוחצים על הפעלת פעולת אפליקציה.
לחלופין, אפשר להשתמש בשם ההפעלה ישירות באפליקציית Assistant במכשיר כדי לנסות את פעולת האפליקציה. לדוגמה, אפשר להגיד "Ok Google, show completed tasks in Task List".
6. השלבים הבאים
מזל טוב!
עכשיו יש לכם אפשרות להפעיל כמעט כל אפליקציית Android באמצעות Google Assistant, באמצעות ממשקי BII נפוצים.
מה נכלל
ב-codelab הזה למדתם:
- איך מאפשרים למשתמשים להגיע ישירות לתכונות ספציפיות באפליקציה באמצעות Assistant
- איך משתמשים יכולים לגשת לחיפוש בתוך האפליקציה מ-Assistant.
- איך בודקים ממשקי BII נפוצים באמצעות התוסף של Google Assistant.
השלבים הבאים
מכאן אפשר לנסות לשפר עוד את אפליקציית רשימת המשימות. כדי לעיין בפרויקט המוגמר, אפשר להיכנס למאגר –master branch ב-GitHub.
הנה כמה הצעות למידע נוסף על הרחבת האפליקציה באמצעות פעולות באפליקציה:
- כדי ללמוד איך לעקוב אחרי הביצועים של פעולות באפליקציה, אפשר לעיין בדוגמה של רשימת המשימות לביצוע עם Google Analytics for Firebase.
- בהפניה אל כוונות מובנות של פעולות באפליקציות אפשר למצוא דרכים נוספות להרחבת האפליקציות שלכם ל-Assistant.
כדי להמשיך את המסע שלכם עם Actions on Google, כדאי לעיין במקורות המידע הבאים:
- developers.google.com/assistant: אתר התיעוד הרשמי של Actions on Google.
- מדד לדוגמאות של פעולות באפליקציה: אפליקציות וקוד לדוגמה שמאפשרים לכם לבדוק את היכולות של פעולות באפליקציה.
- מאגר GitHub של Actions on Google: קוד לדוגמה וספריות.
- r/GoogleAssistantDev: קהילת Reddit הרשמית למפתחים שעובדים עם Google Assistant.
כדי להתעדכן בהודעות האחרונות שלנו, אתם יכולים לעקוב אחרינו בטוויטר @ActionsOnGoogle. כדי לשתף את מה שיצרתם, אתם יכולים לצייץ עם ההאשטאג #AoGDevs.
סקר משוב
לבסוף, נשמח אם תמלאו את הסקר הזה כדי לתת משוב על חוויית השימוש שלכם ב-codelab הזה.