היכולות ב-shortcuts.xml מאפשרות לכם להצהיר על סוגי הפעולות שהמשתמשים יכולים לבצע כדי להפעיל את האפליקציה ולבצע משימה ספציפית באופן ישיר. יכולת מורכבת משם הפעולה ומ-intent שמטרגט את היעד באפליקציה שפותר את כוונת המשתמש (Intent).
הגדרת יכולות בקובץ shortcuts.xml
מגדירים רכיבי capability בקובץ משאבים shortcuts.xml בפרויקט לפיתוח אפליקציה ל-Android. כדי להגדיר רכיב capability:
- יוצרים משאב
shortcuts.xmlלפי ההוראות במאמר יצירת קיצורי דרך סטטיים. היכולת צריכה לכלול את הפרטים הבאים:
שם היכולת: הפעולה שאתם רוצים שהאפליקציה תתמוך בה. כדי לדעת אילו הגדרות יכולת נדרשות לתכונה מסוימת, עיינו במסמכי התיעוד של הרכיב.
יעד באפליקציה: היעד באפליקציה שאליו הפעולה מופנית כדי למלא את בקשת המשתמש. מגדירים את היעדים באפליקציה באמצעות רכיבי
intentשמוטמעים בתוךcapability.מיפוי פרמטרים: כל
intentעשוי להכיל פרמטרים שיועברו כנתוניextraשל ה-Intent.
בדוגמה הבאה מוצגת הגדרת יכולת ב-shortcuts.xml עבור actions.intent.START_EXERCISE, כוונה מובנית שמאפשרת למשתמשים להשתמש בפקודות קוליות עם Assistant כדי להתחיל אימון באפליקציית כושר:
<shortcuts xmlns:android="http://schemas.android.com/apk/res/android"> <capability android:name="actions.intent.START_EXERCISE"> <intent android:action="android.intent.action.VIEW" android:targetPackage="com.example.sampleApp" android:targetClass="com.example.sampleApp.ExerciseActivity"> <parameter android:name="exercise.name" android:key="exerciseType"/> </intent> </capability> </shortcuts>
בדוגמה שלמעלה, המאפיין <capability> android:name מתייחס ל-BII START_EXERCISE. אם משתמש מפעיל את ה-BII הזה באמצעות בקשה מ-Assistant, "Ok Google, start a run in ExampleApp", Assistant ממלאת את בקשת המשתמש באמצעות המידע שסופק ברכיב intent המקונן. ה-intent בדוגמה הזו מגדיר את הפרטים הבאים:
- השדה
android:targetPackageמגדיר את חבילת האפליקציה של היעד ל-Intent הזה. - השדה
android:targetClassמציין את פעילות היעד:com.example.sampleApp.ExerciseActivity. - ה-Intent
parameterמצהיר על תמיכה בפרמטר BIIexercise.nameועל אופן העברת ערך הפרמטר – שנאסף מהמשתמש – כנתונים נוספים ב-intent.
שיוך קיצורי דרך ליכולת
אחרי שמגדירים יכולת, אפשר להרחיב את הפונקציונליות שלה על ידי שיוך של קיצורי דרך סטטיים או דינמיים. האופן שבו קיצורי הדרך מקושרים ל-capability תלוי בתכונה שמוטמעת ובמילים שהמשתמשים כוללים בבקשה. לדוגמה, כשמשתמש מתחיל ריצה באפליקציה למעקב אחרי כושר, הוא יכול לבקש מ-Assistant: "Ok Google, start a run in ExampleApp". Assistant יכול להשתמש בקיצור דרך כדי להפעיל מופע של capability שמגדיר ישות אימון חוקית של "ריצה" לפרמטר exercise.name.